NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Show HN: I reverse-engineered the world maps of Test Drive III (1990 DOS game) (github.com)
st_goliath 2 hours ago [-]
In October of 2013, Ross Scott did a review of Test Driver III in one of the early "Ross' Game Dungeon" episodes[1]. IIRC in the video, he mentioned that he's fascinated by game maps to the degree of a slight obsession, and would absolutely love if someone could reverse engineer the game assets and extract the maps.

Someone later went on to do just that and responded in the Accursed farms forum, Ross mentioned that in his July 2015 follow up video[2]. In the video he showed some map screen shots from the forum, including a surprisingly intricate map that was apparently only used for the the spinning car menu screen. IIRC the reverse engineering project was not quite complete at the time, since the README doesn't mention any of this, I assume this project is unrelated?

That said, it would be amazing to eventually get the extracted maps integrated into noclip.website[3].

[1] https://accursedfarms.com/index.php?af-posts/537/test-drive-...

[2] https://accursedfarms.com/index.php?af-posts/522/follow-up-e...

[3] https://noclip.website/

s-macke 57 minutes ago [-]
Author here. The Ross’s Game Dungeon video was, to some degree, a motivation for me to start the reverse-engineering process, just for fun. The analysis took place over many years, and I figured out 95% of the format myself. AI helped me then with the coloring, which is pretty complex. I have read the Accursed Farms forum, of course. But it didn't help much.

The map mentioned there can be found as “Unknown Map” in the dropdown. However, I haven’t yet connected that map to the menu screen. It might be called “Tom’s Test Track,” because that string appears in the disassembly.

Integration into noclip might be easy, because I also have the geometry as a standalone .obj file.

ggambetta 7 hours ago [-]
I'm very happy to see this! Not so much because of TDIII (which I played, although not nearly as much as Stunts), but because there seems to be some momentum building around recreating old games using AI agents, and I love that! I had explored some related ideas [0] but throwing Claude at the problem seems super promising. The recent Crimsonland thing [1] was great!

[0] https://www.gabrielgambetta.com/remakes.html

[1] https://banteg.xyz/posts/crimsonland/

lantastic 5 hours ago [-]
Stunts was the greatest! You could make your own tracks, save replays and (IIRC) even resume gameplay from any point in the replay. My very favorite game of all time.
alberto-m 2 hours ago [-]
The community is still active! In the meanwhile the car format has been figured out, so that modern-day tournaments like ZakStunts feature vehicles not included in the original game.
bombcar 5 hours ago [-]
Reaume-from-replay is a feature mode games should have, really.
stared 2 hours ago [-]
And a laser puzzle game Chromatron, https://quesma.com/blog/chromatron-recompiled/.

But it gets even wilder, as now creating a Game Boy Advance emulator became a benchmark, https://gbaeval.com/.

noufalibrahim 7 hours ago [-]
This is an interesting area. I've felt that with AI, it would be nice to have a project that I work on "by hand" so that my general skills don't atrophy and I've been writing an implementation of the Kyra engine used by old DOS games like Eye of the Beholder. It's mostly well documented and there are full fledged implementations (like with ScummVM) so this is just exercise for me.

I wrote a decoder for the CPS file format they use for sprites and it worked file for all images except one. It rendered half the image properly and then scrambled the rest. I could see that the sprite information was there but there was some offset problem. I had claude dig into it in detail along and gave it the ScummVM source for reference. I also gave it Ghidra so that it could debug the actual EOB.EXE file but nothing we tried got it to render properly. Even SSI's own code which got from a modding wiki failed to render this image. My final conclusion was that it was a half done asset that somehow found its way into the asset archive and is never used in the game but that's a flaky conclusion given that its name is referenced in the EXE.

I've been having a lot of fun upscaling the sprites used for the cutscenes and remixing the music using AI. It's a game I played a lot as a kid so being able to tinker with it at a low level is a nice distraction.

It's purely a "fun" side project without deadlines or anything so I get to do what I want with it without any hassles about "being productive".

eru 6 hours ago [-]
I played a lot of Stunts in the 1990s. I only learned in the 2010s that you could actually edit the terrain, too.
christkv 6 hours ago [-]
Me and some friends spent so much time playing https://en.wikipedia.org/wiki/Stunt_Island
spankibalt 3 hours ago [-]
The birth of machinima! One of the giants of 90s PC gaming, nothing even remotely like it on other platforms of the day.
TacticalCoder 2 hours ago [-]
Your blog entry:

https://www.gabrielgambetta.com/remakes.html

is wild!

I love the idea. I used Claude Code / Sonnet 4.6 to get back to compile an old DOS game I wrote back around 1991 and for which I had lost the tooling (compiler / linker / notes / build files). It was on my todo list since years, decades even, but I never got to it. With a LLM it was easy: I didn't let the LLM do everything, I used it to find what needed fixing (like two macros I had used with names that were now clashing with "modern" compilers methods names etc.).

> I hacked together the art using my terrible Gimp skills and some Public Domain and Creative Commons assets from OpenGameArt

IMO AI models are better at generating pictures than at writing code, in that pictures do tolerate sloppy approximations. While code doesn't tolerate slop that much.

Why not use AI for the assets?

ggambetta 2 hours ago [-]
That's a great idea! Just haven't gotten that far yet (that article is pre-LLM, and I'm very early in a new AI-driven reconstruction). But yeah, taking the original extracted sprites and having Nano Banana upscale or redraw them is a great idea.
hirra 1 hours ago [-]
[flagged]
58 minutes ago [-]
sedatk 9 hours ago [-]
I used to play the demo of Test Drive III. It only had one map I believe. But I loved that it was a sandbox, so you could drive anywhere. I specifically remember following along the railroad. It was way ahead of its time back then.
mikestorrent 9 hours ago [-]
Between this and Stunts 4d https://en.wikipedia.org/wiki/Stunts_(video_game) what more could a kid ask for
tdrgabi 9 hours ago [-]
Carmageddon would be what a kid could ask
Cthulhu_ 7 hours ago [-]
I wonder / doubt it or something like it would shock anyone as much as it seemed to back then.
Schlagbohrer 5 hours ago [-]
I remember the controversy over the original Postal, and then there were eventually 3 more sequels in that franchise. The culture resists at first and eventually loses the battle.
prawn 4 hours ago [-]
47282847 7 hours ago [-]
Time for a modernized port true to the original! I also liked the TrackMania series but I wish there was something reduced to the amazing essence of Stunts.
warpspin 7 hours ago [-]
I'd ask for Rock n' Roll Racing!
anton_gogolev 2 hours ago [-]
I remember being mocked slightly when I was headbangin' and footstompin' to the soundtrack.
verve_rat 9 hours ago [-]
Oh wow, that's a game I haven't thought about in forever. Thanks for reminding me.
quietsegfault 12 minutes ago [-]
I can still hear the PC speaker music in my head.
mrighele 8 hours ago [-]
I remember a map where just at the start, you could turn around, jump over an open bridge and finish it in less than a minute.

On the other hand most maps have loops and I would regularly get lost, unable to finish it...

butz 22 minutes ago [-]
Neat viewer. I wonder, why boats and cars in groud view ended up in such high altitude?
s-macke 11 minutes ago [-]
Because I haven't found the special case in the disassembly for these "flying" objects. Probably I misinterpret the object coordinate somehow.
aenis 2 hours ago [-]
Wonderful stuff - thanks! I was thinking about doing this as well.

I just completed recreating one of my childhood favourites, Thrust. Opus 4.7 almost one-shot the game (was perfect in 30 mins based on just the wikipedia entry describing the game), and then I spent 3 full nights trying to build perfect algorithmic AI to auto play it. (It thoroughly failed, sticking to a sub-par algo that was ok, but not nearly as good as possible).

My next stop is reimplementing Mercenary. First open world game I played. On a 8b commodore Plus/4.

mikestorrent 9 hours ago [-]
I can hear the PC Speaker music in my head.... oh man! it was actually available in adlib! https://www.youtube.com/watch?v=ayInv3ZZRak
alberto-m 59 minutes ago [-]
I used the MT32 audio. Not only because it sounded better, but because it would overload the CPU and slow down the game making it playable on my Pentium 75.
noufalibrahim 6 hours ago [-]
My old PC wasn't good enough to play the game. You could almost see each frame render. However, the PC speaker music was really nice and I used to run the game just to listen to that.
quietsegfault 11 minutes ago [-]
I actually came here to post this. It's iconic music, bleeps and bloops!
p0w3n3d 4 hours ago [-]
On Pacific Coast 3 you can see the infinite highway. I remember turning right to a highway and there was a highway exit that if I missed I would run again this highway as on Moebious' strip to the beginning. This gave the world an infinite vibe
xattt 6 hours ago [-]
Oh man, the controls on mobile remind me of a bad dream where you don’t quite have full control of your flying.
nntlol 8 hours ago [-]
I always love any reverse engineered projects
tdalaa 9 hours ago [-]
Ah, that's so lovely! Will definitely try this!
snthpy 9 hours ago [-]
I used to play an Amiga 500 version of this. I think it was Test Drive 2 though.
bzzzt 8 hours ago [-]
Test Drive 2 (and 1) used a pseudo-3D renderer with scaled sprites (see https://www.mobygames.com/game/2107/the-duel-test-drive-ii/s...) TD3 used a 'real' 3D engine, but as a result it needed a beefy machine for the day. Driving felt a lot slower too, I never found it as much fun as TD2.
VJ-2-108 5 hours ago [-]
Impressive dedication, reverse engineering 35 years old game files is no small task.
selimthegrim 5 hours ago [-]
I was always fixated on trying to run over the chicken
sgm1018 6 hours ago [-]
I used to play this, thats awesome.
tclancy 5 hours ago [-]
Now do TD (the original)! I remember thinking it was something from the future when it came out on C64. Similar feeling of seeing something from two years from now with Mach 3 in the arcade.
smy-hn 12 minutes ago [-]
[dead]
Asfand3099 7 hours ago [-]
[flagged]
moviepiq 7 hours ago [-]
[dead]
iberator 5 hours ago [-]
Not even one map as jpg or png to see on the webpage!!!

Whats the point of this project? You expect us to load npm just to see some maps?!

makepanic 5 hours ago [-]
Read the Readme.

They've linked to https://s-macke.github.io/Test-Drive-3-Maps/

iberator 5 hours ago [-]
this is not jpg or png but some dynamic stuff.

It freezes up my phone. Why do you need to complicate the stuff so much?

Direct jpg or png could be rendered even by pentium 100 with 32mb of ram...

s-macke 54 minutes ago [-]
Sorry, the maps are rendered in 3D so that you can fly around. I can of course make top-down screenshots of the maps. Thanks for your feedback.
tclancy 5 hours ago [-]
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 15:14:01 GMT+0000 (Coordinated Universal Time) with Vercel.