Herr Otto Partz says you're all nothing but pipsqueaks!

Main Menu

TECH: Hard Drivin, Race Drivin, Foerst Nürburgring (Stunts predecessors)

Started by CYBERYOGI -CO-Windler, July 19, 2023, 11:39:15 AM

Previous topic - Next topic


I research about old driving simulators and I am mainly fan of Atari's "Hard Drivin" and "Race Drivin", those were the direct predecessors of "Stunts" and belong to the earliest publically accessible open world 3D games.

I nowadays mostly play the arcade versions on MAME; after months of training I can finish Race Drivin's Super Stunt Track using mouse and keys only, which most people consider impossible. These games are much harder than home versions, and on my somewhat underpowered laptop (IBM Thinkpad X61t, 1600MHz Core2Duo CPU with plain Intel graphics) Race Drivin runs jerky at perhaps 10fps. But to me this feels natural, since I grew up with the Amiga 500 PAL version of "Hard Drivin II", which was as choppy.

I am no good race driver. I drive around the virtual world and (ignoring the game rules) often try funny freestyle tricks with the mindedness of a skateboarder rather than a simracer. I read youtube comments that early fans of the arcade machines did the same. I documented many glitches and gaps in the simulation and wanted to find out more about its inner working. So I downloaded "Stunts", which is the unofficial successor with level editor and seems to behave very similar. To my surprise I see that Stunts has a still active fanbase and is much better documented, including a list of glitches and how to play tricks with them. I suspect that the graphics is implemented similar. But Stunts plays more like the home versions; the car in arcade "Race Drivin" (which has additional physics DSP) moves much bouncier, swings and tilts sideways and skids like crazy when steering to hard in certain spots, which makes it very challenging to control. The mouse steering of Stunts feels too easy.

I installed Stunts on real Win98SE hardware. My main PC is a Highscreen Colani bigtower (AMD K6-3@550MHz, 768MB RAM, GeForce 3 TI 200 graphics, 2 genuine ISA soundcards, DFI K6 BV3+ mainboard, Win98SE/KernelEx and old Linux on 160GB HDD) that I finally modded into a dual-PC case with additional modern hardware (Ryzen 2400G, 16MB RAM, AsRock B450 ITX mainboard, 8TB HDD) running Linux Mint and Win10 on a 22'' 4:3 Trinitron CRT monitor. As a collector of vintage electronics (videogames, keyboards and soundtoys etc.) I had heavily misused the old system for storing huge quantities of downloaded HTML pages (schematics of music keyboard hardware etc., some 10000 old eBay pages etc.) until FAT32 became too clogged for gaming. (In 2008 I had lost most of the game and emulator installation in a harddisk crash by too old drivers anyway.) Finally in 2018 I dismantled and heavily modified the Colani bigtower case (took me a year, also for adding TEMPEST-style RF shielding) to install an additional modern PC mainboard - not least because Win98SE could not run modern webbrowsers. Now I am reinstalling many of the old original games and emulators.

Generally I am interested in the history of driving simulators, and have collected various youtube videos:

Atari's "Hard Drivin" began its life as a serious driving simulator for driving schools. So they built the AMOS Police Trainer professional simulator for car chases, consisting of multiple cars interconnected by a custom LAN network and a Mac running the track editor software.

Here I wrote detailed info about Hard Drivin tricks and glitches:

The earliest arcade driving simulator with electronic graphics was "Nürburgring" by the German company Foerst. Its first versions used analogue computers for driving physics and got imitated by Atari as "Night Driver". Later versions had very advanced impressive 3D graphics that was ahead of its time. I am trying to find out more about them. Unfortunately none are emulated yet and it is unknown which Nürburgring versions have survived at all. Because the complex hardware was expensive and Germany banned arcade machines in public by an insane youth protection law, the company stopped making them. But Foerst still exists and kept making professional simulators for driving schools and research (those in late 1980th had better graphics than "Hard Drivin").

These were my childhood memories about the Foerst Nürburgring arcade machines:

Here I wrote more about its tech and history:

Another strange singleton was the 3D arcade pipsqueak "Driver's Edge" by Strata (emulated in MAME). Like in Stunts you can jump over hills with Formula 1 cars. It was still using mostly untextured polygons in 1994, but nothing is known about its origins.

I am searching for more info about tricks, history and technology of these games, and how far their algorithms (particularly Hard-/Race Drivin) resemble Stunts. Are here experts of these earlier games?
CYBERYOGI Christian Oliver(=CO=) Windler
(teachmaster of LOGOLOGIE - the first cyberage-religion!)



Hey, CYBERYOGI -CO-Windler, welcome!

This is a fascinating topic and I can see you're taking it very seriously and have a lot of information about it!  Hard Drivin' was the first game of this kind I ever played on an arcade machine, but it was a single time. I remember that I was in a town nearby with the guys from school for some reason. They must have taken us there to do something and then, in the free time, we went to a small shop that had a Hard Drivin' arcade machine. I was amazed just to see how the steering wheel moved on its own following the actions of the car. And then I played it for a while, but crashed very quickly, if I remember well.

I came across HD again (HD II, actually) in DOS later in 1993 when a friend of mine introduced me to the DOS version of the game. That same day, he brought me Stunts. I did play HD from time to time, but Stunts was a lot more appealing to me and had an enormous flexibility in terms of track making, for instance, so I gradually lost interest in HD, yet I have the nostalgia for it.

I have to say I don't know anything about the inner workings of Hard Drivin', either the DOS version or the original arcade, even less. Hopefully some of the guys may know some details!
Earth is my country. Science is my religion.


Welcome @CYBERYOGI -CO-Windler!  I'm a big fan of Hard Drivin' and Race Drivin', but while they were clearly an inspiration during the development of Stunts, it doesn't share any technical attributes that I'm aware of.  You should also check out Nostalgia Nerd's video on inappropriate racing ports, which features Hard Drivin'.


After doing some boring stuff on the laptop, I often drive around an hour in MAME's "Race Drivin" or "Hard Drivin" - Not because they are easy but because they are hard...  ;)

Searching for gaps to escape the Matrix may sound really nerdy - but these 2 games are almost like a didactic example for simulation theory, because there happen so many strange phenomena in their early VR worlds. Even more weird, because MAME saves gamestates incompletely (wrong time register contents or such), reloading them typically produces error messages, but sometimes they can be abused to reset the offroad timer (that puts you back onto road after 10 seconds) to drive farer away into terrain than normally allowed. E.g. the Super Stunt Track has a hidden blue car parking under a cliff somewhere to the left of the tunnel, and there is another barn with 2 cows and a house on the meadow that can not be reached by other means.

Modern gamers usually get quickly deterred by the difficult steering and all those graphics bugs. Unlike Outrun, Pac-Man or Space Invaders (those are very easy to understand) they don't belong to famous "retrogames" since they barely appeal to casual gamers, so novices rate them as junk and not even want to learn to play, while sim driving fans rather search modern alternatives like "BeamNG" (which has very impressive crash simulation physics) when they want a versatile car stunt simulator with editor.

I read youtube comments, that when the Atari Hard-/Race Drivin arcade machines were new, people used them to learn stick shift driving or do all kinds of tricks like flying over the finish line and watch the instant replays of the crash, those were a unique feature for an arcade game. Atari patents explain some details of these features. (Perhaps "Stunts" even circumvented this patent by launching the car vertically into air for better overview without doing a direct replay in a technical sense.)

Unfortunately about the even earlier Foerst Nürburgring series (particularly the last arcade models N4 and N5 from 1982/1983) is barely info available, because many of these were built as singletons (big simulators with actual vehicle on a moving platform etc.) or small series rented to amusement parks or trade shows, and later Foerst only made serious driving simulators. The N6 (1986?) was likely already only for these professional machines and had very awesome hardware based weather effects (apparently alpha channel) and hardware based area fill and circle segment drawing for a kind of zooming run-length encoded sprite graphics. This stuff was extremely impressive in early 1980th, and when they appeared in TV docus about driving (risks of alcohol etc.), contemporary gamers of the C64 and Colecovision era (likely still Amiga) got big eyes and were puzzled what system made such gorgeous graphics. To get an idea, the first flight simulators with shaded 3D polygon graphics for pilot training (by Evans & Sutherland etc.) costed millions and were rated "supercomputers" before the concept of graphics workstations existed. Drive sims of similar quality always came a bit later and were even more an exotic niche market, because driving is less dangerous than flight training, and expensive simulators were only used by science (driving physiology etc.) and car developing companies. Apparently until 2000 they were too expensive for average driving schools, despite e.g. Atari originally developed "Hard Drivin" for this, and Foerst tried it too.

Unlike arcade machines, serious simulators unfortunately barely have a lobby for preservation as cultural good, so when outdated or defective, they typically get destroyed or upgraded (scrapping the electronics, often intentionally erasing the software due to military secrets or nasty NDA).

Here are some more pictured of Foerst simulators.
CYBERYOGI Christian Oliver(=CO=) Windler
(teachmaster of LOGOLOGIE - the first cyberage-religion!)



Analysis of Hard Drivin and its variants

This is a comparison and technical analysis of the "Hard Drivin" series, particularly discussing the editor of "Hard Drivin II" and the game engine behaviour.

I have thoroughly played and experimented with the settings of all arcade and 16-bit home versions (not including late successors with textured graphics). So I e.g. have learned to play the arcade versions by mouse+keys on MAME and even can finish Super Stunt Track and beat the ghost car in "Street Drivin" without using brake (which in MAME is defunct).

I have examined the PC version of "Hard Drivin II" (here named HD2) closer, because it contains a level editor that may employ principles of the actual arcade game and so help to understand its inner working. The PC version looks almost exactly like Amiga (nice but not arcade), but with much better framerate, and despite its age it does not run too fast. Surprisingly even the EGA version is dithered in a nice colour palette (most EGA modes of VGA games look awful). Annoying is the lack of soundcard support; unlike "Race Drivin" only the PC speaker emits boring motor hum (kind of phasing tone) and nasty skid sounds but lacks most of the expected tone effects (e.g. the cow won't moo and checkpoints are mute). Other games did this better, but perhaps they feared that polyphonic beeper sound tricks on slow PCs ate too much framerate. At least the known championship melody plays quite well before racing against Phantom Photon, and there is a boring intro tune.

Unlike "Stunts", "Stunt Driver" or "Test Drive 3", real Hard Drivin levels have no tile based grid layout but can rotate objects at any angle. But the Hard Drivin II level editor is complicated and has terrible design flaws, which explains why nobody seemed to use it (other than dropping cows and houses onto roads). Only 5 tracks can be saved (named A to E) those include and destructively overwrite the 4 default ones (which caused huge trouble in diskette age if people made no backup), and you can not save your unfinished track so long the road loop is not closed (which is seriously difficult to calculate and makes novices give up), so run it in an emulator with savestate support to pause your work. The editor displays a zoomable map in top view, where objects can be added, deleted, shifted and rotated. But road pieces of all can only be added to and deleted from its end, which makes it impossible to rework the track shape without deleting the rest (and no display tells what parts they were!), so it feels like completely unraveling a knitted wool pullover to fix a flaw in the middle. There is no undo! The user interface resembles a CAD program, but complete lack of numerical coordinates make it a chance game and bugs prevent editing parts when e.g. others are too close, so it often refuses to start when it considers the track incomplete. Because I found no manual online, I desperately took out my German/French Amiga original, but the text reveals nothing about the editor that I didn't find out before. (This cucumber almost feels like the complex 1980 toy synth "Sound FX Phasor", which digital user interface was so buggy that the instruction sheet explained nothing beside push any buttons and listen what happens.) Never the less, at least it is useful to examine what the parts do.

The 3D objects do resemble parts of the actual arcade Hard Drivin although many were simplified to reduce polygon count. While e.g. the barn looks almost arcade perfect (only missing an ornament), the cow is a flat tetragon blob on 2 legs that looks nothing like the real thing. The shop is grey instead of beige. Text on signs can be seen from both sides and its lines have no width. Roads are blockier and lack orange rims. Road signs don't tip over when collided. Also car shapes are simplified (and slightly differ from Amiga?). The cars look like blocky objects from "3D Construction Kit", those were composed of trapezoid boxes without rotatable parts to reduce multiplications. Some objects from the arcade version (e.g. train, skid pad column, The Hut, flowers) were omitted to increase framerate and save memory on homecomputers. Also not available are the objects from "Race Drivin". Like in the arcade version, distant objects are replaced by low detail versions (most noticeable with the barn, that becomes 2 walls without roof) although its visibility range is much higher.

The arcade version generally has various subtle gameplay differences. E.g. the scores on arcade is much higher (possibly by counting not based on road slabs). Crashing in the loop of the Stunt Track branch places your car on the returnpoint after it, while HD2 drops you before it (and sometimes even on wrong returnpoints or the other branch). Perhaps the makers considered the spot too frustrating and so let the player skip it. And there are various gaps those permit detours where the HD2 map has barriers against cheating - perhaps because the arcade game drives offorad like in thick mud and skids like hell until you brake to zero, while home versions are more graceful when driving on grass. But both have the "abort" button to exit offroad situations. Otherwise the HD2 home game brakes too weak and refuses extreme steering angels those in arcade can be vital to get back on the road. HD2 in easy mode even seems to enforce a speed limit in a strange way that makes only your speedometer pretend to go faster while the car itself visually stays slow. To jump the drawbridge, the car needs to be much slower to land on only the translucent mesh instead of also the ramp part, so it needs indeed maximum 60 instead of 60 to 80 mph. Also the banked curve needs to be passed much slower (no wonder, regarding how the car bumps off straight slabs like driving inside a washing machine). The horizon montains disappear when the car tilts, because HD2 obviously can not rotate raster graphics. The arcade version blanks it only where rotation is strong (e.g. banked curve), which hint that to save computing time it either switches among prerotated versions (lacking extreme angles to save memory) or only shifts its pixel rows vertically (which would look distorted if too strong - compact arcade versions had changed screen resolution and distort anyway). The polygons are fixed colour instead of flat shaded, and the dashboard does not scroll with car steering and animates no unneeded gauges. And of course home versions have the infamous bug/cheat that in stick shift mode pressing 'N' to shift into neutral gear displays 0 mph while the car keeps its speed without responding to G-forces and so can rush through all curves, but this also gives no points. Generally the car physics is lousy in all 8- and 16-bit home versions of the series.

On my Win98SE mainboard in DOS mode my serial mouse is not recognized in play mode but only in the editor (which is a separate EXE). In Win98SE the mouse works well. In the editor I could even make one screenshot (press "Print Screen"), but have to exit the program (minimizing the DOS window behaves unstable) to save it because Win98SE clipboard can not store multiple items. So after wasting time with the fatware "Hardcopy" I installed it under Win98SE in VirtualBox, which lacks beeper sound but can be paused and save many screenshots on Linux. But the 16-bit DOS game occasionally crashes, which may be a pipelining bug due to my too modern CPU.

The editor is identical with the Amiga version and likely was built from the same source code. It displays a 2D top view of each track, but the 320x200 resolution is too coarse to see what's going on. I therefore used it to finally create a more realistic map of the Hard Drivin "Original Track" (here named "Track A") by stitching together several dozen screenshots of zoomed details, which gives a much better idea than the famous handdrawn overview picture on the arcade version's title screen. But it was not possible to insert all objects pixel perfect, because they seem to deform/wobble when scrolling the editor, so (like satellite images) the stitched parts sometimes did not fit well. The editor seems to render the actual 3D models in top view instead of flat representations and so makes tiny parallax distortions depending on scroll positions, and flat vertical objects (finish sign, cow) even disappear when zoomed in. The objects itself can not be edited or modified in any way.

Unfortunately not available are the 2 other tracks from "Race Drivin", which never came with an editor; the file sizes and naming pattern of the PC version differ (one EXE per graphic mode etc.), so I doubt that they can be made compatible. Also the internal editor of Megadrive/Genesis "Race Drivin" was a bad joke without saving; despite same graphics engine it could only select very few objects to build primitive flat tracks on a tile grid and not even load the 3 real tracks of the game.

The HD2 editor scrolls and zooms through the map with the onscreen arrow buttons. The center "." button resets to zoomed out default view. The buttons "Barriers", "Track", "Objects" toggle visibility of those part types on and off. The PC version can switch between mouse, keyboard an joystick controls by pressing 'M', 'J' or 'K', but the cursor moves too coarse with keyboard. To select parts, click them with mouse buttons (both do the same) or spacebar, or draw a rectangle around multiple objects by clicking the background and pulling the mouse. Strange is that this often only works when zoomed out, which makes it hard to aim at pixel sized parts, and nothing tells on what you are clicking. (It should display info text.) Flickering objects can be moved and rotated by arrow buttons, but when trying to rotate multiple selected objects, only one of them rotates. The center "." button is supposed to undo the last move, but if the selected object has not been moved, by a bug it teleports to a random location nearby, which can not be undone by clicking "." again (very annoying). Zooming in shows more details, so e.g. when zoomed out the road is only a black line and things like bridges and dips become plain rectangles. Clicking away an error message tends to place the mouse pointer on the "New Barrier" button, producing an unwanted new barrier at the mouse pointer that needs to be disposed by clicking "Delete", which disturbs workflow.

CAUTION: Pressing 'Esc' immediately exits to DOS without chance to save your work! The editor also refuses to save (likely to prevent crashing the game) if the road loop of a track is not closed properly, so you can not test it in between. Saving to track A,B,C,D permanently overwrites the original ones, so always keep a backup (copy track_a.dat to track_d.dat from the "files" subdirectory). To load a track, click "Load", select its letter by mouse (direct or click arrows) and click "Load Track File". Also highscore and Phantom Photon route get permanently overwritten, thus urgently backup list_a, list_b and do not play from a writeable original diskette.

Each map can have its road forking into 2 tracks (like "Speed Track" and "Stunt Track") those need to be selected by pressing their button (Track 1, Track 2) before placing parts, to make the game know which road parts belong to which track to prevent cheating by detours. Another cheat protections are barriers, those are invisible walls (shown as white line) those make the car crash when touched. The "New *" buttons add parts to the world. Clicking these opens a menu that shows a part name and spins its 3D model in the background. Click on the left scrollbar or its arrows to choose parts. Click "Take it" to place it on the map or "Exit" to cancel.

Normal parts are called "Objects". After selecting by mouse (object flickers) they can be shifted and rotated by clicking on arrow buttons; "." moves it to a semi-random spot nearby. You can select multiple objects at once to move them together.

available object types:

Field I  (brown)
Field II  (medium green)
Field III (dark green)
House    (orange house)
Shop      (fuel station?)
Dip      (DIP sign)
Left      (left arrow sign)
Right    (right arrow sign)
Sign I    (60 MIN)
Sign II  (fork arrows)
Sign III  (40)
Sign IV  (40 + left arrow)
Sign V    (40 + right arrow)
Sign VI  (60)
Sign VII  (60 + left arrow)
Sign VIII (60 + right arrow)
Sign IX  (90)
Sign X    (90 + left arrow)
Sign XI  (90 + right arrow)
Arrow    (arrow square sign)
StartPost  (traffic light signage bridge)
FinishPost (FINISH signage bridge)
Finish    (FINISH sign for Overpass)
SignPost  (SPEED/STUNT track signage bridge)
CrossOver (simple bridge for the Underpass)
Cow      (very ugly)
Barrier  (yellow bar)

"Barriers" are invisible walls. They appear as white straight lines those can be moved after clicking its ends. The "Barriers" button toggles visibility of these and their end marks. Barriers only crash the car when offroad; on the road they do nothing.

The road parts you are supposed to drive on are called "Segments". Before adding or deleting segments, click "Track 1" or "Track 2" button to select which branch you want to modify. Segments can not be moved after placement; they get automatically added solely to the end of the road in construction, which is awkward and makes it really hard to close the loop (else you can not save your work!) unless you build something symmetric by constructing them of strictly opposing parts, which needs much planning. Also "Delete Segment" only deletes them from the end.

Likely this was done to ensure continuity, because supposingly all segments internally form a linked list and the editor algorithm is too stupid to modify their chain afterward. So you can not simply insert a road fork everywhere, which may be the reason why the skid pad from the arcade version was omitted, and there are no roads to the garages of houses. Such linear road representations were common in sprite based games like "Pole Position", but for a 3D open world they seem inadequate, because they complicate detecting on which road branch you are, and already for driving backwards it needs at least a double linked list. But irregularities in the arcade versions of Hard-/Race Drivin hint that they do function like this. That is to say, driving too far offroad on unexpected paths can lead into a fake looking prop version of the landscape, where road pieces are absent or look deformed and the offroad message does not disappear despite the car is obviously on the road again. This makes me conclude that the arcade version uses 2 separate models for the visual and physical road representation, those can run out of sync and make the game engine think that you are still driving on grass despite the graphics shows the car on asphalt.

E.g. in arcade Hard-/Race Drivin on the Speed track branch you can carefully drive along the left or right corner of the drawbridge onto the horizontal road, but the offroad countdown message stays there and you can not drive on the bridge because the car bounces off its concrete rim like an invisible wall. But if you instead carefully drive from the side onto the concrete corner of the drawbridge, it instead displays "wrong way" but lets you drive onto that bridge. The opposite happens on the Stunt track branch; when you turn around after the drawbridge and try to cross it on the road, the car can not drive through it and will crash into an invisible wall. I conclude that crossing some kind of invisible checkpoints load different physical models of the bridge (either crossable from side or driveable on top). The home versions in such situations tend to draw no crossing road at all while drone cars keep driving on grass. (In HD2 I had to remove a barrier to touch the drawbridge from the side on Speed branch, but on Stunt branch you can carefully drive off its corner and see the missing road.) Barrier bars (the sawhorse-like "barrier" object) on arcade are only visible from one side and let your car somehow bounce upward when touched slowly, while home version is doublesided and do nothing. Arcade has also a unique rendering bug that draws kinks into the road when steering fast; they resemble screen tearing but move in 3D with the road and may be a polygon buffer artefact by disturbed curve computation since its road is much smoother.

But in general the graphics glitches still have much more similarities than differences, those the arcade versions only seems to compensate better by tricks like drawing additional road branches as "objects" when the car crosses invisible kind of checkpoints(?). Particularly the replay draws no road if the car crash tossed it into air in unexpected directions. Also in "Street Drivin" (arcade prototype) on Stock Car Track trying to drive onto the unused road over the  overpass (orange "finish" bridge) teleports your car away from it (like touching a house or the train of Original Track). If you drive wrongways, you can drive through its walls into the overpass which simply makes it disappear, and turning left to enter its crossroad behaves like on grass and when you now attempt to enter the underpass (dip) your car will roll above it through the air (like on the Super Stunt Track mountain). Also on Original Track in arcade versions you can hover over the underpass. I.e. fake road props on arcade behave like either grass (staying offroad) or houses (car bounces off or collides) where no road physics model is loaded. In this state the car keeps driving offroad on an invisible flat plane that on edges of slanted surfaces can make it drive through the air until offroad time runs out. Correct road physics is loaded only by following the road and so crossing invisible checkpoints for that area. (Possibly this was done due to its separate car physics CPU that may load only each a small piece of the physical road model by too little ram.)

Another reason why the editor does not allow to modify intermediate road segments may be that the whole road shape functions like a spline, that would change shape and position of all following segments and cause it not to fit to the coordinates of given objects anymore. When fully zoomed out, the editor seems to draw road segments as each a straight line, so internally at least the end coordinates seem to be fix. Trying to add segments those would make the road exit the world shows an error, so you can not make tracks those wrap around. The available road segments have different lengths and angles, those are neither displayed not explained anywhere in the manual and so make it difficult to build a properly closed track. I count the lenghths in "slabs", those are the alternating grey and black trapezoid blocks the road is made of, and the angle by testing how many identical segments form a circle or quadrant. But curves C, D and E overleaped their ends, so I had to estimate angles by subtracting the overleaping fraction. Because each slab here has exactly one yellow road line and at least roughly equal length, counting them can be used (like on real roads) to estimate speed and distance. The length of each slab is roughly 26m (see below). (Roads in arcade versions are drawn differently.)
CYBERYOGI Christian Oliver(=CO=) Windler
(teachmaster of LOGOLOGIE - the first cyberage-religion!)



available segment types:

Short Straight (0.75 slabs)
Straight A    (1 slab)
Straight B    (3 slabs)
Straight C    (5 slabs)
Left Curve A  (2 slabs 5°)
Right Curve A  (2 slabs 5°)
Left Curve B  (3 slabs 15°)
Right Curve B  (3 slabs 15°)
Left Curve C  (3 slabs 26.23°)
Right Curve C  (3 slabs 26.23°)
Left Curve D  (2 slabs 32°)
Right Curve D  (2 slabs 32°)
Left Curve E  (3 slabs 52.43°)
Right Curve E  (3 slabs 52.43°)
Left Turn      (4 slabs 90°)
Right Turn    (4 slabs 90°)
Underpass      (dip)
Overpass      (orange bridge)
EasyJump      (white bridge)
Loop          (loop-the-loop)
Bridge        (open drawbridge)
Banked Curve A (10 slabs 180°)
Hill          (hill without road fork, 12 slabs)
Junction A    (hill with road fork, 12 slabs, right curve 7 slabs 90°)
Junction B    (road fork, 5 slabs, right curve 4 slabs 90°)
Junction C    (road fork, 5 slabs, left curve 4 slabs 90°)

I made a sort of drag strip of a straight road between startpoint and finishpoint, but because it needs to be closed, after first finishing the return path time to the start always counts as part of lap, hence all following laps are much longer and thus too slow to be useful. By manually looking at the timer difference and re-adding the bonus time (checkpoint + finish) I counted 36s (rarely 35s) for 60 straight slabs at 100 mph (tested several times), and between 68s, 69s and rarely up to 72s at 50 mph. Difficulty setting changes subtracted bonus seconds of checkpoint and finish, those I added accordingly. Although the speedometer is not exact, half speed doubles the time for passing a distance, which is plausible. 50mph takes longer and so seconds get more accurate.

Once I saw the ghost car parking on grass when restarting game after I aborted championship.

l_slab (in m) = speed (in m/s) * time (in s) / 60

100 mi/h = 44.704 m/s
60 slabs at 100 mph = 36 seconds
l_slab = 44.704m/s * 36s / 60 = 26.8224m

=> Length of 1 slab is about 26.8224m (or 26,0773m if time was 35s).

50 mi/h = 22.352 m/s

68s =>25,332m
69s =>25,704m (happens often)
71s =>26.449m
72s =>26.8224m

Thus 1 slab is roughly 26m.

1km = 38.462 slabs
1mi = 61.898 slabs
1/4 mile = 15,474 slabs

Junctions are the branch to Track 2 (aka Stunt track), so the editor allows only adding one per track. The end segment where both branches rejoin is not added as Junctions but automatically turns yellow where they meet. By clicking "Track" button you can select a mode to add special properties to road segments (indicated by in changed colour) by clicking on them and accessing a menu. At returnpoints the player car reappears on the track after a crash or driving offroad for too long. Strange is that special segments (bridges, loop, underpass) are blanked by the "Objects" instead of "Track" button despite they are technically part of the track. Likely this was done for useability to see road slabs underneath. Also the checkpoint sign can be moved anywhere as an object, despite the checkpoint itself is generated as attribute of a slab. (During game the slab with the checkpoint and not the sign matters.) After disabling the checkpoint property of the slab, the sign is still visible in editor but can not be moved anymore and jumps around when zooming. Setting a new checkpoint deletes the stray sign and produces a correct one on that slab. Otherwise the StartPost is required but not automatically set, while FinishPost is completely optional, which shows how illogical the whole editor is.

Regard that demo drive will start always on the physically first segment (not at the "start" point of the race like the actual game) which can be confusing.

segment slab colours:

red        = Start or Finish
light blue  = Checkpoint
white      = Returnpoint
pink        = drone car start point
yellow      = junction (fork to 2nd branch)
black/grey  = normal

In the menu can set/unset here checkboxes for Returnpoint, Checkpoint, Start, Finish. Unlike the "..." behind them suggests, only the last checkbox "Install drone cars" really opens a submenu, in that apparently up to 4 opponent cars (named A,B,C,D) per slab can be programmed to start from here. Start lane and row is their position that seem to be fixed for each car letter. Direction "down" is opposing traffic, "up" goes forward (into direction of the race). Their later positions change with car type, so they seem to have different speeds.

drone car parameters:

Start Lane {A,C=Left,  B,D=Right}
Start Row  {A,B=First, C,D=Second}
Direction  {Down,Up}
Type      {Sedan,Pickup,Corvette,Van,Truck,Car,Porsche}
Color      {Green,Orange,Brown,Grey,Redbrown,Blue}
Hometrack  {I,II}

This is the order of the drone cars on the "Speed" track branch of the Original Track (sorted by the order of pink slab appearance). Interesting is that the first 3 cars appear already on the Start slab, which in the editor is always red and hence not displayed pink.

1 Car A = Left,First,Up,Porsche,Green,II
| Car B = Right,First,Up,Car,Blue,II
| Car D = Right,Second,Up,Corvette,Brown,I

Parameter Hometrack seems to control the turning of that drone car. I=Speed track, II=Stunt track, because of these first 3 cars only the Corvette follows the Speed branch while Car A and B turn to the Stunt branch.

2 Car D = Right,Second,Up,Sedan,Green,I
3 Car D = Right,Second,Down,Corvette,Redbrown,I
4 Car D = Right,Second,Up,Pickup,Orange,I
5 Car D = Right,Second,Down,Truck,-,I

Cars on the "Stunt" track branch are

1 Car C = Left,Second,Down,Truck,-,II
2 Car C = Left,Second,Down,Car,Blue,II

The truck has colour unset and generally ignores it. A world can (according to the manual) contain up to 12 drone cars. (Adding more shows error.) In this terrible editor it is hard to examine where drone cars come from, because they have no central menu but are handled per road slab (despite their count is limited, so adding more shows error). E.g. a truck starts on the bridge over the underpass before the banked curve, that only turns pink by blanking objects. But at the start of the Stunt branch there is always a grey sedan(?) jumping up the hill, which origin is impossible to identify. I suspect that grey cars are generated by presence of certain obstacles and not part of the map. With all drone cars in map (pink slabs and start slab) disabled, still grey (at drawbridge) and redbrown (at dip) car appear on the Speed track. On Stunt track a grey car jumps on the hill, near banked curve also others (blue, green, brown pickup) appear, but seem to flicker a bit more than normal. I think the algorithm automatically generates these at certain obstacles when none were manually set in those spots. By comparison with speed of manually added drone cars, the grey sedan likely is generated by the drawbridge. Counting the drone cars defined on slabs (pink and start) I only identified 9 despite adding more shows error, so the 3 others are produced elsewhere.

In the arcade version of "Race Drivin" the drone cars appear in different places. E.g. in the Stunt branch there are always some on the banked curve, and they often detour on grass in strange places because they rather move relative to the player's car position than staying on the road, and they also adapt to the player's speed and driving direction. At least the Super Stunt and Autocross Track in Race Drivin contain no complex AI based traffic to worry about. Super Stunt Track has only in championship lap a ghost car that follows a recorded path of the best player, and Autocross track races against a ghost car of the player's own best lap. Only in the arcade prototype "Street Drivin" was an additional Stock Car Track with drone cars (having numbers on their sides) racing on an eight-shaped track with center bridge, that shape looks blatantly like the Speed Track without Stunt section copied out of the Original Track. This suggests that also the actual Atari driving simulator software had no pleasant features for reworking road layouts and thus reused what Atari had made for Hard Drivin or even designed as a predecessor of that track. Interesting is that the Stock Car Track contains instead of "Junction A" the "Hill" (same thing without junction), which in HD2 is the only part that was not present in the Original Track.

When placing buildings on the road with the HD2 editor, the player car collides with them, but drone cars just drive through without damage.

The timer settings of that HD2 track are

Best Lap Time.....  01:20
Time to Qualify...  01:30
Countdown Time....  01:45
Checkpoint Bonus... 00:35
Finish Bonus....    00:35

Timers can not be set zero. Countdown time can be minimum 4s and all others 5s, i.e. you can not build a track with no checkpoint time bonus or no finishing time bonus. In game the timer seems to count wrong, i.e. when I set checkpoint and finish to each 10s, I got in easy mode each 7s, in medium each 5s and hard 3s checkpoint+2s finish. On HD2 or HD1 you can cheat by driving the Original Track backward through the checkpoint, turn around and drive forward through it again (so it will count) and through finish. The arcade versions refuse to count a checkpoint if you didn't drive the correct route (likely by checking the order of additional invisible checkpoints).

The Hard Drivin II level editor is very stubborn. It refuses to start the Demo Drive (a demo mode that alternatingly drives along both branches) if the road is missing start, finish, exactly 1 checkpoint and minimum 1 returnpoint, those also need to be in correct order. (Setting a new start, finish or checkpoint automatically removes the old one.) If there is a track 2, it must have also 1 checkpoint, minimum 1 return point and end on a slab of track 1 in correct direction. Also not properly closed road loops (also missing these coloured slabs) even prevents saving, but adding a temporary ending anywhere on the road (facing in correct direction without too ambiguous loops) seems to help even if the demo drive makes nonsense. Interesting is that a bypassed road section often stays invisible in demo drive or game because the algorithm fails to find it in the linked list. It makes no sense why each track branch is forced to have exactly 1 checkpoint. (Solely the track creator should decide over game rules how many checkpoints need to be crossed in which order and what they do.) Returnpoints may be technically necessary to prevent the algorithm from returning the car onto a wrong branch (which still occasionally happens) and so confuse game logics.

The main reason why "Stunts" has a still vivid community while Hard Drivin II fell into oblivion is (beside awful PC sound by missing soundcard support) that the editor of HD2 spoils everything that makes building Stunts tracks joyful. You can not simply change some random road sections, add junctions or build incomplete tracks and try out how they play, but not even save them to continue later. It has no undo, displays neither part names nor coordinate info by clicking on objects, and instead of proper filenames it can only save to 5 nameless tracks (overwriting the 4 originals). I remember a computer magazine interview that the editor was only a quick add-on that the programmers had already made for internal use to build the default track, so it may have been really a single purpose thing and not the versatile once promised Hard Drivin Construction Kit. So it would be worth to at least modify that editor or make a new one (possibly as an additional mode in external "Stunts" editors), because the general concept of Hard Drivin (arbitrary road angles instead of right-angled tile pieces, AI cars with opposing traffic) is more powerful. The 3 home versions (Amiga,ST,PC) of Hard Drivin II barely differ, so their file format for race tracks is likely the same. Generally they neither look nor play that great and seem unfinished. (Typing file names into DOS to switch between game and editor felt botched at least on my Amiga 500, on that I learned to play this in my youth at jerky 3 to 7 fps. The zooming "Hard Drivin" logo has no "II", it can not load other levels without exit and uses a single highscore list, so it feels more like a hack.) Much more exciting would be supporting the original arcade versions of Hard- and Race Drivin, those link port does work in MAME, and by its origin as serious driving simulator likely contains code to upload levels into RAM.

file analysis

The PC version file names of Hard Drivin I & II seem to have a certain scheme. Most are in subdirectory "files".

= race tracks
= highscores and ghost car route data?
= 3D polygon objects?
= CGA,EGA,VGA versions of everything
= loader title picture
= uncompressed bitmaps of images & individual animation phases?       
= beeper sound
= executables.

Strange in Hard Drivin II is a second hd2.exe in "files" subdir, which is bigger and crashes if attempted to start manually (also when placed in main dir). Removing it seems to have no effect. (This is not for demo drive of the editor as I had expected.) The first Hard Drivin uses only one EXE despite similar file names. Also the Amiga version partially follows this scheme, beside having additional sound related data and uses .ams for graphics. Interesting is also that despite the HD2 editor in Win98SE halts when windowed, it shows instead of its file name a real window title "IBM Professional Editor", so it may be derived from something else that was not a pure DOS program. This may even be an unknown insider joke because the first IBM PC had a text editor of that name.

The first PC "Hard Drivin" (aka HD1) is almost identical with II. Of files with equal name differ only loading.cpx, loading.epx, loading.vpx and objects.dat. Copying loading.vpx from HD1 into HD2 starts with garbled HD1 loader picture but the rest works normal, so this seems to be only the title screen. The game EXE uses only different keys and title screen, and strangely the options default to lefthand drive. So I could indeed load its track.dat (renamed to track_e.dat) into the HD2 editor, but the last segment of track 1 is a glitch (distorted into a long diagonal yellow line to the lower left corner) and demo drive refuses to start with error "The start is behind the finish.". The editor can not delete that broken segment, but setting it as finish works indeed runs the demo correctly. But adding more segments to it produces polygon garbage in the editor and crashes (locks up Win98SE) during demo drive. If the editor interpretes it correctly, the Hard Drivin I track has the same shape like Track A but the coloured slabs in slightly different places, i.e. returnpoints, checkpoints and the start positions of drone cars differ. The HD2 game EXE can start this track, but on the intro screen the perspective of the rendered overview is wrong (due to the glitch line?).

Cars on the "Speed" track branch are

1 Car A = Left,First,Up,Porsche,Green,II
| Car B = Right,First,Up,Car,Blue,II
| Car D = Right,Second,Up,Corvette,Brown,I

2 Car D = Right,Second,Up,Sedan,Green,I
3 Car D = Right,Second,Down,Corvette,Redbrown,I
4 Car D = Right,Second,Up,Pickup,Orange,I
5 Car D = Right,Second,Down,Truck,I

Cars on the "Stunt" track branch are

1 Car D = Right,Second,Up,Pickup,Brown,II
2 Car C = Left,Second,Down,Truck,-,II
3 Car C = Left,Second,Down,Car,Blue,II

Despite changed start positions, only one additional Stunt branch drone car (brown pickup) differs from HD2. Also here the mystery grey sedan jumps up the hill und later appears a 2nd time. Trying to add another car shows error "Too many Cars requested", so these may be the remaining 2 of 12 drone cars.

Also timer settings differ, which made qualifying a bit harder.

Best Lap Time.....  01:20
Time to Qualify...  01:20
Countdown Time....  01:45
Checkpoint Bonus... 00:40
Finish Bonus....    00:35

The HD1 game EXE can also play Track A of HD2 (rename track_a.dat to track.dat); although the end slab of the Speed track branch may look somewhat invisible and the car perhaps moves a little rougher and sometimes crashes into invisible objects, but it runs and does use the drone cars from HD2. Track B,C,D load too, however track D lacks all the traffic, so HD1 may load it incomplete since the area is quite wide (despite file size is only 13KB like others). Tracks B,C,D also lack the green signage arcs. Copying objects.dat of HD2 into HD1 changes nothing. Interesting is that despite the intro shows the drawn Original Track bitmap picture, the marking flags row seem to follow the shape of the currently loaded track.

Copying objects.dat of HD1 into HD2 works, but the editor complains in track B,C,D demo drive "There is no startpost" because they lack green signage arcs (startpost is the one with traffic light) and also here Track D lacks drone cars (in game and editor demo drive). I.e. these tracks are only fully functional with the combination of exe and objects.dat from HD2. With missing objects.dat HD1/HD2 immediately exit after title screen.
CYBERYOGI Christian Oliver(=CO=) Windler
(teachmaster of LOGOLOGIE - the first cyberage-religion!)



The era of open world driving simulation games with untextured 3D polygon graphics was only a short episode. Preceded by the serious simulators of Reiner Foerst, to the public it began in 1988 with Atari's Hard Drivin (some say Namco's Winning Run) and basically ended already 1993 with Namco's fully textured Ridgeracer. Although their graphics looks stylish, they were soon considered outdated. Unofficial Hard Drivin lookalikes were "Test Drive III" and "Stunt Driver" (both too fast on modern PC), "Car and Driver" (plays awful by random physics bugs) and of course "Stunts". Also the prototype of "No Second Prize" began as a clone with loopings, ramps and corkscrews.

The "Race Drivin" PC version apparently came too late, so despite it finally had proper soundcard support, it was likely considered unsellable and so ended 1995 as freeware on (if I remember well) multiple magazine and shareware CDs. I still had that ZIP version, which contains the following text file.



Great  new update  for the  already
awesome   free  for   all   driving
simulation! Includes bug fixes  and
smoothscroll(TM)   for  a  ride  so
close  to the real  thing ,  you'll
need  to   fasten  your   seatbelt!"

The message reveals that there was an earlier PC version of "Race Drivin", and I indeed found it online. It displays (c)1991 but has file dates of 1992-05-29. Apparently initially there had been an "IBM PC" retail version (I found a box photo with 3.5'' diskette on flickr), which was likely ported from the Amiga/Atari ST version (which looks the same but has an animated loader intro). Race Drivin 95 has file dates of 1994-12-26 (file_id.diz date 1995-01-14) and the title screen claims (c)1995.

I tried to track where it came from. I found an unpacked copy (in directory "neudos/spiele/race") among other freeware on a German diskmag CD "POWER DRIVE for you - Multimedia-Illustrierte Teil 1, (c) CDA-Verlag" made in 1995. My has the same file dates inside, while the ZIP itself has a (possibly download) date of 2002-12-23. That version also contains a text file "hysteria" (date 1994-11-24) with some ASCII art and contact info of a cracker and demo coder group, so I am not entirely sure if the Race Drivin' 95 freeware story might have been phony. But it got included as a barely mentioned bonus in several professional software CDs, which I doubt that Tengen would have tolerated if it was still of commercial value.

        _______   _______              (-fAZ!)
  ______\     /___\     /_________________________________________/\______
  \     /    /    /    /     _____) _______/ _____/   __   /_____/  __    \
 _/         /___      /\___     /     /     ___/_       \_/     /   \     /
 \ ___/_____\_______ /__________\___ /_________ /____/    \_____\___/    /
  \/               \/              \/         \/    /______\       /_____\

                            sNES / gENESIS                    
          STAFF : RaDiO ACTiVE . DoC HoLLiDaY . (-FaZ & tERMI-) . BamBam
                    905-277-2605 - (nODE 1) - DUAL NODE
                    905-277-1493 - (nODE 2) - V32bis NODE

This Race Drivin seems to use a different game engine than HD1/HD2. It runs a bit too fast (still playable), has more detailed cars (different design than the arcade version) and moves smoother; only replay is excessively choppy and it saves no highscores. Despite steering straight is difficult, it plays too easy to stay interesting for a skilled driver, because checkpoints add too much bonus time to continue rounds after rounds, and it lacks difficulty settings.

The filename scheme differs and the HD2 editor immediately crashes by attempts of loading its race track data.

= race tracks
= race track lap & ghost car route data
  speed.*  = Original Track
  stunt.*  = Super Stunt Track
  across.* = Auto Cross
= 3D polygon objects?
= EGA,VGA,Tandy versions of everything
= sound drivers?
= executables (games uses one per graphics mode)

The game has different colours (e.g. the shop is beige, but red glows too bright) and here the EGA mode does look ugly. Tunnel and road sides are black/grey instead of orange and the coaster hill is transparent. The car can tremble up and down and tilt sideways, but physics still feels artificial compared to the arcade version, and graphics is also here less detailed. E.g. most 3D object shapes except cars resemble HD2, and (like the Megadrive version) on the Super Stunt Track the 180° curve after the ramps and after tunnel is not banked. The there is no obstacle in the tunnel and you can not drive full loopings inside. Also the barn on the mountain is missing (unlike the very different Megadrive version). But the Original Track has a few more buildings (no additional types, some with a grey road piece in front). With "detailed cars" disabled, cars become even uglier blocks than in HD2 and have no wheels. It has as many graphics glitches, but they behave all a bit different. E.g. yellow road lines shine through bridges seen from below, there are gaps before some segments and sometimes the road disappears when doing the "normal" detours (on Original Track the right turn on grass to the loop etc.), which hints that the game engine differs. The drawbridge allows to land also on its ramp section, and in Super Stunt Track the split ramps allow landing on grass. The coaster hill on arcade is much harder; you have to almost halt on its top, and downward the car tends to rotate by landing and fall off the track unless you give a well dosed bit of throttle to keep airtime short. (This feels unintuitive, but because the hill is bent, it may act like the start of the looping, where centrifugal force pushes your car on the road and so prevents flying off. Hence it may be plausible.) Slowly touching mountain walls on arcade lets your car climb them up, so e.g. on Super Stunt Track it is possible to wallride by centrifugal force on the concave right green wall of the last left curve of the hill like a skateboarder (steer like in the looping). Passing the end of the concave section acts like colliding a wall, thus drive back on the road before reaching the straight section (the car tumbles like lacking shock absorbers). In some spots glitches make the car slip through walls, floating into "off road" mode. On PC in these situations the car just crashes; it treats the (black instead of orange) road sides as offroad, and while the car is falling, the windshield cracks already before it has landed. On Autocross Track on PC the traffic cones don't tip over when touched and so are no aid to improve driving skills.

The only obvious difference between the 1991 and 1995 release is that the latter added a setup.exe to save graphics and sound card settings, while the 1991 asks always when starting race.exe. So in the following I examined the 1995 version which claims to be a bugfixed release.

Renaming speed.cr1 hangs before displaying the title screen (Windows locks up with black screen). Renaming speed.cd1 starts normal and only crashes when loading that track - same behaviour with across.cr1/.cd1.

Swapping names of speed.cr1 and across.cr1 plays Original Track normal but once locked up with colour cycling flicker when the game ends. Also qualify time on that track stays at unrealistic 0:22:20. However swapping names of speed.cd1 and across.cd1 starts instead of Original Track the Autocross Track, but distant grass is green, there is no ghost car of my previous lap and qualify time is 1:12:36. Instead of Autocross Track it starts the Original Track in desert colours (everything green is beige including drone cars) with qualify time 0:22:20 and shows the lap ghost car after finishing the lap. But it crashes after game over. The same happens when swapping across.cd1 and stunt.cd1.

This means .cd1 contains the entire track data (including drone cars and horizon image type) while .cr1 contains lap info and likely the route of the championship ghost car (Phantom Photon). The track colours and presence of lap ghost car are part of the main program and depend on selected track name. Unlike in HD1/HD2, the ghost car route file is never overwritten because no highscores are saved to disk.

All level related files of the 1991 and 1995 version are identical. Changed were city.ce1, dash.cv1, flag.cv1, highscore.ce1 (each 1 byte changed 01 to 00). Also the executables racevga.exe, raceega.exe, racetand.exe only differ in each one byte that seems to display the copyright date (1991 vs. 1994/1995). So there was obviously no additional "smoothscroll(TM)" code added. Copying racevga.exe from 1995 into 1992 or vice versa seems to work normal; only the displayed (c) date differs. (I had some crashes of Win98SE e.g. after winning championship on Autocross Track, but on VirtualBox it runs a little unstable anyway due to CPU pipeline bugs.) So if there are any game differences, they are rather subtle. The 95 version has a setup.exe and starts instead of race.exe with a that contains (visible in hex editor) the hidden message text "THIS IS HACK PROOF FOOL!..YOU LOOKING IN THE GUN BARREL". If this version was a hoax, I wonder how it found its way as bonus on many official shareware CDs.

Interesting is that the Megadrive/Genesis version of Race Drivin obviously indeed runs on the same game engine like HD1/HD2 and does include an "editor", but it is pointless because (likely by lack of mass storage) it was dumbed down to the max and can not even load the 3 main race tracks. This raises the question if its 3D object models and race track data may be extractable to load them into the HD2 editor. The tracks have some details those are absent in the PC version (e.g. red/white sides on corkscrew and barn on mountain, on Autocross Track a parking car) but Super Stunt Track displays no mountain sides and so looks like a rollercoaster.

The arcade versions of Hard- and Race Driving is still mostly unresearched. The text of patent WO1992002917A1 hints that the game apparently was cross-compiled on a Digital Equipment Company VAX computer with Green Hills Software, Inc. "C" compiler available from Oasys, a division of Xel, Inc. of Waltham, Mass. Patent US5474453 describes the simulated traffic and scenario editor of the AMOS Police Trainer, which was a serious driving simulator apparatus for police chase training. The text likely explains the inner working of how Hard Drivin implements its "drone cars" on the track. These follow prerecorded trajectories those can be replayed at different speeds and have start and end points to meet the driver's car at certain spots and synchronize in various ways (e.g. to simulate a car crash situation). It tells nothing about editing the road map or other level parts. The youtube video of the AMOS (Atari Games Police Training Simulator) shows on the instructor's desktop control PC a plain GUI that looks like Windows 3.11 and a 3D graphics editor on a Mac rotating a police car (that exists also in the prototype game "Street Drivin"). The arcade machines have a serial network connector for linking multiple arcade cabinets or additional such PCBs as a multi-headed display, and so may still contain unused debug code to upload custom levels into RAM in the manner of AMOS. Currently it is unknown if this works or if any level changes will need to be part of its roms.

HardDrv2_myTracks1.7z contains a simple BAT script for HD2 to save and load the current Track E within DOS to manage custom tracks with proper names. There is also a simple drag.dat track as a test. Use these subdirectories:

Tracks     = the tracks to be loaded & saved
Tracks.ori = backup of the original tracks  = other tracks copied by hand
CYBERYOGI Christian Oliver(=CO=) Windler
(teachmaster of LOGOLOGIE - the first cyberage-religion!)