Тёмный

Revs: How Geoff Crammond squeezed a Formula 3 sim racer into just 32KB on the BBC Micro 

Timberwolf
Подписаться 4,8 тыс.
Просмотров 12 тыс.
50% 1

Revs for the BBC Micro is clever for more reasons than you'd expect. In addition to code in the sky and pioneering the idea of sim racing, it also took an approach to building tracks which would set the racing game template for more than a decade. I get deep into the detail explaining just what it is that Revs does and why it's so clever.
Also I find a game that is remarkably playable for something of its era.
As mentioned, this video would not exist without the excellent research at revs.bbcelite.com/
Further thanks to @RMCRetro for the images and video of their vintage-correct BBC Micro and Microvitec CUB setup, and @RoseTintedSpectrum for organising the actual process of getting it to me because I am rubbish at asking for help.
IBM BIOS font recreation by VileR, int10h.org/ (CC-BY-SA 4.0)
Many hardware images from Evan Amos and Stuart Brady were used, or at least saved to a directory at some point in the production process.
Stock footage and images from Pexels.
Map of the circuit:
0:00 Games with things in common
0:30 But first, nostalgia
1:15 The BBC was for posh kids
1:40 Hat-bashing moral wasteland
2:20 Period-correct cultural references
3:11 The BBC was respectable
3:50 Winding up the real hardware crowd
4:42 Scared of being a simulation
5:36 Revs 4 Tracks
5:58 Keyboard delights and horrors
7:26 Non-BBC Revs
8:34 One planar tracker too far
9:08 About that code in the sky thing?
9:38 Talking graphics and memory layouts
10:32 Yes that's not technically a "screenshot"
11:24 Beam racing in your racing game
11:49 Breaking down the screen
13:44 A lot of conversations about blue
14:33 Code in the sky! Finally!
15:00 The track is also clever
15:55 Track-like properties
17:28 How nearly every driving game did 3D
18:25 Oh, and it's flicker-free
20:14 Outro, further reading and that
Games shown:
Revs (BBC Micro)
Geoff Crammond's Formula One Grand Prix
Elite Plus
Granny's Garden
Revs Plus (BBC Micro)
Hard Drivin' (ZX Spectrum)
Wheelie
Revs (C64)
Revs Plus (C64)
Network Q RAC Rally Championship
Comments are pre-reviewed to avoid spam. I aim to publish all comments, including dissent, but overly pedantic or negative ones may be moderated. Hearing about different experiences and what things were like in other countries adds a lot to the video! Please try to do so in a positive way while remembering that if I had to explain every minor international difference the video would be 2 hours long and boring, rather than 21 minutes long and boring. Failing that, at least make me laugh.
Bonus fact: While both Revs and F1GP feature fake driver names, the ones in Revs have both an element of humour and an indication as to what to expect from each driver - Miles Behind is, as you might expect, often to be found languishing at the back of the grid.
#bbcmicro #revs

Игры

Опубликовано:

 

12 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 64   
@LurgsHowToGuides
@LurgsHowToGuides Месяц назад
What it all comes down to is that Geoff Crammond is a genius. I spent so many years playing on Revs on the C64 and it was just so good. Then Formula One Grand Prix on the Amiga. Just amazing. Great video, cheers. When you see these modern Laptops and PC's with 16GB memory and Windows uses it all up so easily, probably lazy programming coz memory is so cheap an easy now.
@oortcloud210
@oortcloud210 Год назад
My Dad bought a BBC Micro to play chess on, then decided the chess program wasn't good enough for him so the BBC got cast aside. I suggested it should go in my room as he wasn't using it and he (to my surprise!) agreed. So 12 year old me got a BEEB, with twin disk drives and a colour monitor :) Me and my brother (who were both racing fanatics) then spent hours playing Revs (and Elite obviously) and absolutely loved it. It was an incredible game. Geoff Crammond was a genius! I taught myself assembly language on that machine as I wanted to write my own games and have had a great career in software development all thanks to a cast off!
@jameswestgate416
@jameswestgate416 3 месяца назад
This was such a special game because it felt so fluid, especially with my analog joystick. I didn’t find another racing game that felt so accurate and so enjoyable for many years
@AndrewWilsonStooshie
@AndrewWilsonStooshie 3 месяца назад
I went to a comprehensive and we had BBCs at school and my parents managed to get a second hand one at home where I learned to program.
@Svein-Frode
@Svein-Frode 8 месяцев назад
Just discovered your channel, and I feel very lucky. Great videos - this one included!
@misterchippie
@misterchippie 5 месяцев назад
Revs was amazing. On the C64 you could use Atari paddle controller for steering. I blu-tacked a frisbee to one to make a rudimentary steering wheel, and put my Quickshot 2 turbo on the floor so I could push it forward with my foot to accelerate. Mad times, when I see the controllers we have at our disposal these days!
@TimberwolfK
@TimberwolfK 5 месяцев назад
Ah, the good old days of hacking together controllers. I remember moving the gear shift on my Thrustmaster T2 to the "correct" side for the UK and putting an old Ford Cortina gear knob on it. Always toyed with the idea of connecting up a Granada steering wheel I had lying around through some sort of gear system to get more turns lock to lock, but never worked out the engineering!
@Calilasseia
@Calilasseia Месяц назад
That's a LOT of ingenuity packed into one game ...
@Paul-yh8km
@Paul-yh8km 3 месяца назад
Packing machine code into small spaces was absolutely common place in the 1980s, especially early 80s. I worked as a software engineer on 8 bit microcontrollers and often we were limited to 4k. We would squeeze the code for a weighing machine or a printer into that, including the fonts (for the printers). I remember modifying a colleagues programme where to save a few bytes he had made a jump into the middle of a 3 or 4 byte instruction. The byte at the location just happened to be the right byte to represent an instruction he wanted plus a jump back into the main programme. BTW I bought a BBC Model B back then as an engineer, practiced my assembler coding and Basic. But mainly used it for games. I had Revs and the floppy disc version of Elite.
@jjlee69
@jjlee69 2 месяца назад
If modern programs were written with such efficiency then my work laptop wouldn't take over 5 minutes to boot and login. My C64 takes less than a second. I can get most programs running in less time than on the laptop.
@Innesb
@Innesb 2 месяца назад
That’s primarily because the C64 ‘OS’ is stored in ROM. Code in ROM (or on a cartridge) loads more quickly than from disk because it’s ‘just there’, not because it’s written more optimally; it’s exactly the same code, just accessed differently. It’s also worth bearing in mind that it’s not worth spending time optimising code unless absolutely necessary to do so. Designing, developing, testing and supporting highly optimised code is expensive, so it makes more business sense to let your customers pay for more RAM and disk storage. The genius optimisations implemented by 8 bit developers were a necessity for the machines of that time, not a nicety.
@Innesb
@Innesb 2 месяца назад
I believe that on the ZX Spectrum, the 256 byte printer buffer was sometimes utilised for storing game data, graphics or code. I suppose you could fit 32 user defined graphics characters (or similar construct) in there. If memory serves me correctly (pun intended), if a printer was connected, some games would crash. Not that many ZX Spectrum game players had a printer!
@hjalfi
@hjalfi Год назад
I believe that the lower sky segment is also resizable. When going up hill, your visualisation shows blue sky in the upper track segment even though the upper track segment doesn't allow blue. You can occasionally see red flickering as the sky moves here, showing slight timing glitches as it switches from drawing blue sky to drawing red track markers. What's cool is that it also allows the sky to go behind the top of the dashboard --- it's a really tiny detail that dramatically increases immersion.
@wendyg4382
@wendyg4382 5 месяцев назад
What really amazed me about the range of Geoff Crammond GrandPrix simulators was the ability to change the setup on your race car according to your driving style, the track layout, and either a wet or dry race. Great video, thank you for the memory.
@slammy102
@slammy102 Год назад
REVS is a racing game masterpiece.
@amytysoe2292
@amytysoe2292 5 месяцев назад
having sunk 3 years into playing F1GP on a 16 mhz 386sx (no road texture, mid detail, 15fps if you were lucky) i shudder to think what it would have been like on a 286. thank you for your service.
@TimberwolfK
@TimberwolfK 5 месяцев назад
Having a relatively fast 286 (as these things go) helped, also the unique way F1GP slows down with game time getting slower when the CPU can't keep up. Even now I think F1GP at 11fps is more playable than a lot of modern games at 18-20fps.
@redmercury77
@redmercury77 24 дня назад
Like Elite, Revs was ground breaking. All we had before it were racing games akin to Pole Position but now we had analogue steering, acceleration and braking controls. I remember being about 14 years old and finding a variable resistor in my dad's shed and crafting a rudimentary steering wheel connected to the analogue port... perhaps in another parallel universe I named it Thrustmaster Wheel V0.0.1
@TimberwolfK
@TimberwolfK 23 дня назад
The Thrustmaster T-(minus) 2 ?
@MichaelPohoreski
@MichaelPohoreski Год назад
Code on the graphics screen, vector delta encoding, RLE. Fantastic video!
@mattsephton
@mattsephton Год назад
Super. Thanks. Crammond is so clever!
@WhatHoSnorkers
@WhatHoSnorkers Год назад
Oooh Snetterton! My LOCAL circuit! Lovely stuff, sir.
@TimberwolfK
@TimberwolfK Год назад
I love that RU-vid's top autosuggestion for this is "Mine too!"... sadly not accurate, it turns out to still be Brands Hatch, in fact more so than when I was small enough to be eating rabbit jelly and school milk. (Technically the absolute closest track of my youth was Brooklands, in that I could easily walk there, but you'd have a bit of a bad time trying to hold an actual motor race there and the people on the housing estate they built over it would likely get quite annoyed)
@Miss_Flawless
@Miss_Flawless Год назад
13:50 gave me a scare was like my phone was falling lol. Very good video this style and layout is perfect could watch this all day about other software and games of any era. Just got to figure out a way to hide us noticing you reading notes near the camera but not big deal. Very good very nice 👍👍
@aidanodonnell2490
@aidanodonnell2490 4 месяца назад
This is a great video, and it's lovely to see this extraordinary game getting some well-deserved love and attention from RU-vidrs lately. One thing I really feel the need to point out is that none of the original releases of Revs had pages of instructive text. Instead the game was shipped with a whole load of detailed printed material, including maps, driving instructions from David Hunt (whose actual car was sponsored by Acorn), and a detailed manual explaining the physics of the car and motor racing. This added greatly to the immersive nature of the game. Obviously none of this can be included in an emulator image, so people have put some of it into the intro pages to the emulated game.
@Loganberrybunny
@Loganberrybunny 2 месяца назад
That approach (including a printed book about how to drive racing cars) was also chosen by one of the best regarded PC racers, Grand Prix Legends. It worked really well there too, speaking as someone who adored GPL. (Yep, I know there are still GPL leagues around, but I preferred it in the days of pick-up races when we all had cheapish wheels and used the same physics! ;) )
@philc8703
@philc8703 2 месяца назад
I grew up on a council estate in Middlesbrough and I had a BBC Micro, along the way, with a ZX Spectrum, Vic 20, C64, Atari ST, Amiga and then onto PC's, where we are today, and not a monocle or top hat in sight 😉
@TimberwolfK
@TimberwolfK 2 месяца назад
Ever been tempted to try one, though? :D
@philc8703
@philc8703 2 месяца назад
@@TimberwolfK Hmm, wore a top hat at a wedding once, but still no monocle 😆
@stevetobin7495
@stevetobin7495 3 месяца назад
Played revs and elite for the best part if two years…god i loved my bbc - 32k …you just cant get your head round that now
@RltchieI
@RltchieI 3 месяца назад
Used to play Granny’s Garden at school as well as Chuckie Egg, Citadel, Hunchback & a couple of others. Was lucky that my father bought a BBC Master in the mid 80s and my first game on it was Revs 4 Tracks. Also had Killer Gorilla, Airwolf & a few others on cassette. Geoff’s games would play a large part in my childhood with Stunt Car Racer on C64 & Amiga, plus Grand Prix on Amiga then PC plus the sequels. I enjoyed all the Codemasters F1 games pre being bought out by EA, but never as much as Geoff’s games. Even if it was a bit of a pain looking up random words in the manual as an early form of copy protection. The slip streaming was amazing on his games, something today’s F1 games just don’t do well.
@what9418
@what9418 2 месяца назад
The sky thing was a genius approach. The road segmentation thing not as much, I mean it is a no brainer to have a segment you are in and then render from that point. The thing that intrigues me is how he got enough point rotations and projection done. Normally, if you have no calculation power, you would have to precalculate the sine and projection outcomes so that you can get away with simple multiplies but, storing these precalculated values would take much more memory than the code itself. But this proofs it is possible. I needed a Pentium to program something similar, but without any lookup tables though😂
@vidarlystadjohansen9829
@vidarlystadjohansen9829 3 месяца назад
millions in hot tubs you say.. hmmmm. great video !
@Vuusteri
@Vuusteri Год назад
Wasn't aware of this game. Only got familiar with Geoff Crammond after getting Grand Prix 4 in 2002, which, sadly, was the swan song of Microprose. I think it's still one of the best F1 games ever made and holds up even today. Makes sense that Crammond's high quality programming wizardry was already in place in 1984.
@FrancisFjordCupola
@FrancisFjordCupola 8 месяцев назад
No! It's not boring. Love seeing it.
@BineshLad
@BineshLad 7 месяцев назад
Nice video. I was brought up on this game.
@theadamtron
@theadamtron 2 месяца назад
Revs really needs another look. The realism they put into that game was astounding. Truly the gran turismo of us day.
@Mark-pr7ug
@Mark-pr7ug 6 месяцев назад
The way the green side areas are drawn almost for free reminds me of the way I cracked the puzzle of very fast pattern filling in, let's say - an art program. 1. Fill chosen area with desired colour. 2. Copy a rectangular area around d that filled area and take it to a screen held memory. 3. Set the chosen fill colour on that screen as transparent. 4. Draw to the same screen a pattern and then paste the captured object over the top. 5. Grab that area and then go back to the physical screen & paste it back.
@ClassicTrialsChannel
@ClassicTrialsChannel 3 месяца назад
This was before I got into computers, but I loved microprose grandprix
@romaneberle
@romaneberle 4 месяца назад
great video :-) very inspiring. i like Revs a lot, played it for hours and days on the C64. i always wondered about the cars - very detailed, and with a side-view...?! maybe can you talk about that a little?
@hazy33
@hazy33 3 месяца назад
If you drove the wrong way the cars would come at you effectively in reverse as they were sprites not pure polygon models.
@DaveHoskinsCG
@DaveHoskinsCG 5 месяцев назад
I remember seeing self modifying code loading into the screen when I hacked this game, it amazed me to see assembly language altering its own code while running. Can’t do that these days.
@Saturn2888
@Saturn2888 6 месяцев назад
Wow, compression in the 80s!
@elijahvincent985
@elijahvincent985 3 месяца назад
A racing game that raced the beam like the Atari 2600. Neat!!!
@JimLeonard
@JimLeonard Год назад
As someone who makes content in this vein, I really enjoyed this. I appreciate the work that went into production. (How did you do the animated drawing sections? A tablet?) One thing I don't quite understand is how the system buffer to video buffer copy worked -- is the "fill until next color" a function of the hardware? Did it skip areas that didn't need updating?
@TimberwolfK
@TimberwolfK Год назад
Indeed, I use Sketchbook on a tablet for all the animated drawing. There's no hardware-accelerated draw on the BBC, the saving being made here is not having to fill everything on the back buffer, only needing to do it during the screen copy. It has some further logic tricks so it's not doing conditional checks on each byte, but instead using a lookup table and some boolean logic to make this run almost as fast as a straight copy (which, combined with only needing to paint the edges on the back buffer, is overall faster than assembling the entire image off screen and doing a naive copy) Without knowing the BBC that well I suspect it's useful because memory writes are typially slow on old hardware, and thus limiting the number which are needed speeds things up even if it means running a few more CPU instructions between each write.
@JimLeonard
@JimLeonard Год назад
@@TimberwolfK This clears it up, thanks! Yes, memory access -- then and now -- is still a major limiting factor of computer speed.
@Un.CivilEngineer
@Un.CivilEngineer 3 дня назад
I got pretty good at Revs eventually. No really. I also remember _The Sentinell._ Good times.
@woldemunster9244
@woldemunster9244 Год назад
What about the sideview mirrors? There was some movement, where it comes from? :D
@TimberwolfK
@TimberwolfK Год назад
It's quite nicely optimised! They almost work like one of those old handheld LCD games. It checks the closest car behind the player and works out what the angle between the player car and that car is. Based on the angle there are 7 possibilities - one of 3 segments on the left mirror, one of 3 segments on the right mirror, or too much of an angle to be visible. Then the height at which it's drawn in that fixed segment is determined from how close the car is. There's also some code which uses the current timer value to randomise the drawn pixels when the engine is on, which gives the impression of the mirrors shaking with engine vibrations and speed.
@davidh7336
@davidh7336 9 месяцев назад
Any idea how it erases the back buffer before/while it writes the new line edges to it?
@TimberwolfK
@TimberwolfK 9 месяцев назад
It erases the back buffer as it copies it, so at the end of the copy anything which was written has been zeroed. There's a great site with annotated source code and detailed deep dive articles - revs.bbcelite.com/deep_dives/drawing_the_track_view.html
@xyzzy1974
@xyzzy1974 10 месяцев назад
Is Mode 5 the most efficient mode to store the code in the sky then, as opposed to e.g. Mode 1 or 2?
@TimberwolfK
@TimberwolfK 10 месяцев назад
I don't know. I'm guessing Crammond chose the best compromise between getting maximal storage space and avoiding flicker from the BBC's slightly unpredictable transitions between modes and palettes.
@DanielMonteiroNit
@DanielMonteiroNit Год назад
What game is that at 17:50? I remember playing it and loving the heck out of it, but never got around to take note
@TimberwolfK
@TimberwolfK Год назад
Network Q RAC Rally Championship, from Magnetic Fields. I loved it way back when! Even though it took me a while to get a computer fast enough to run it properly...
@Loganberrybunny
@Loganberrybunny 2 месяца назад
@@TimberwolfK I think that was the first *PC* driving game I ever bought. Great fun, even if not always desperately realistic... I remember that if you set the Escort Cosworth up just so, you could get over 200 mph on one particular stage that had a long downhill section! 🤣
@simcore999bernard6
@simcore999bernard6 3 месяца назад
👍🏻
@colinmcdougall4753
@colinmcdougall4753 5 месяцев назад
Wilma Cargo 😂
@arciks11
@arciks11 Год назад
So that F1 game that you showed... Did it run that well on a 286?
@TimberwolfK
@TimberwolfK Год назад
I have a feeling that's an install I bumped up to 36fps using a vintage hacking tool, so technically it never ran that well on anything! (Default limit was 25fps, which was achievable on a 486/66 with texture mapping on). On a faster 286 I used to get 11-13fps depending on the track, I usually had it set to 11 as otherwise the CPU occupancy would go above 110% on complex sections of Phoenix or Monaco and slowdown would be noticeable. F1GP has a weird system where the frame rate is locked, and if set it to more frames than your computer can render the game runs slower than real time (e.g. at 20fps it might take 2 seconds to render 20 frames, but the in-game physics and time still only move at 1/20th of a second per frame. It was a real problem for hotlapping competitions, as people would try to run the game at 25fps on a slow computer to give themselves superhuman reaction times.) This was still better than the game running on an Amiga 500 or basic Atari ST, which would be even slower. I show the period-correct frame rates for a short section of my Hard Drivin' video here: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-FpfJLT3O9jI.html
@shambhangal438
@shambhangal438 3 месяца назад
For anyone interested in the man himself, there's a short interview of Geoff Crammond at ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-N6pIobIp0Y4.html
@Yesterzine
@Yesterzine Год назад
I'm somehow not sure I've ever ACTUALLY played this, despite obviously being largely a Crammond driving game obsessive. Might be time to fix that.
@TimberwolfK
@TimberwolfK Год назад
This was me too until very recently. I wonder if Revs might have one of the worst "know it well":"played it" ratios going... It is good though. I got distracted a lot and ended up just playing it while making this. There were definitely some bits of footage intended to be 30-second clips where the recording was 5 or 6 minutes long before I remembered I should be clicking a "Stop Recording" button at some point.
Далее
🎙ПЕСНИ ВЖИВУЮ от КВАШЕНОЙ🌹
3:09:38
Integra B for the BBC Micro
16:39
Просмотров 8 тыс.
The Birth of Sim Racing - REVS
33:46
Просмотров 37 тыс.
The Making of ELITE (Computer Videogame)
22:01
Просмотров 161 тыс.
How one bug changed my memories of Dungeon Keeper
17:32
Acorn Archimedes RISC OS on Raspberry Pi 400
50:39
Просмотров 121 тыс.
The 20 Greatest BBC Micro Games of All-Time
18:15
Просмотров 34 тыс.
МАГИЧКА 263: ФИОЛЕТОВЫЕ ПОХОРОНЫ
1:55:31
ПЕРВАЯ КИТАЙСКАЯ ААА-ИГРА
22:26
Просмотров 124 тыс.