Skip to navigation


Matching the code to the driving model

Tracking down the driving model features that are mentioned in the manual

When disassembling a complex game like Revs, you take every clue you can get. This is particularly true when there are no prior analyses out there, as was the case when I pulled apart both Aviator and Revs. You're pretty much on your own when all you have to go on is the game binary and the box it came in.

Aviator, though, did come with a very big clue, in the form of a long and detailed list of every aspect of the flying model, right there in the game manual. It was so useful that I ended up matching every single clue to the in-game code as I analysed the flight model; you can read all about this in the deep dive on matching Aviator's code to the flight model.

Inspired by my experience with Aviator, I thought I'd try the same with Revs. This is how it went.

Clues from the Revs manual
--------------------------

Aviator's section on the flight model is so detailed, it's almost as if the manual's authors took the code-level specification for the game's physics engine and pasted it straight onto the page.

With Revs, the clues are few and far between, and some of them are fairly vague. Still, here's a comprehensive list of all the clues I can find in the manual, along with links to the relevant code and deep dives. Note that these represent my best guesses, so take the following with a healthy pinch of salt!

PageClueDetails

8

"The engine is most powerful when it is turning between 5000 and 5800 revolutions per minute ... the simulated engine ... will run perfectly well at 2000, 3000, or 4000, or at 7000, but will not provide maximum power. So, change up at 5800 and expect the new gear to bite at around 5000."

9

"See how revs are lost when you hang one wheel over the grass verge."

9

"Once completely onto the grass, it is like driving on ice."

9

"If in a slide, try opposite lock, using the space bar to amplify its effect."

10

"If in a spin, try using the brakes."

10

"Having stalled on the grass, get into 3rd or 4th gear and with the clutch drawn in start the engine. Pulling away in these gears will prevent a spin developing on the slippery surface."

12

"[When starting a race] turn your engine over. Do not attempt to move or your engine will stall."

13

"As any racing driver knows, there is a point (near the 5000 revs mark) at which the tyres will spin momentarily to maximise forward momentum. Letting the clutch out in 1st with your revs at this exact point will get you away as fast as your car can manage. You'll know when you've found the balance by the sound of the tyres screaming across the tarmac."

16

"In the simulation, each rear and front wing is adjustable on a scale of 0 to 40, corresponding to 10 degrees of wing movement; a setting of 40 gives you maximum downforce."

17

"If you run too much front wing in relation to the rear, you will find that the car has a tendency to spin on the corners."

17

"If you run too little front wing in relation to the rear you will find that the front of the car will slide away at the corners."

21

"Turning the tyres obliquely to the road sets up resistance to speed. Every time you turn the wheel, you're slowing the car down."

24

"Braking (as opposed to accelerating, which has an opposite, stabilising effect) pulls the weight of the car onto its front, and as you turn into a bend, the car pivots around the front wheels."

On top of this, the race programme contains David Hunt's recommended approach and braking speeds for various corners. These broadly match the figures in the track data file, and specifically the value of trackSectionSpeed in part 1 of the track section data, which sets the maximum speed for non-player drivers in the track sections before each of the corners (i.e. the track section for the approach).

Here's a comparison of the manual's speed range and the relevant approach section's speed from the track data file (corners not mentioned in the table below can be taken flat out):

Section #ApproachingSpeed in manualSpeed in track data
0Woodcote139 down to 117136
4Copse134 down to 122125
11Becketts137 down to 105116
17Stowe139139
19Club137151

The figures are reasonably close, though there is a bit of discrepancy at Club Corner, where non-player drivers are happy to take the corner at 151 mph, rather faster than David Hunt's recommended 137 mph. But for the other corners, it appears that the maximum speeds taken by the computer-controlled drivers are based on David Hunt's own driving technique, as described by the man himself in the racing programme. That's a nice touch!