Reverse engineering
Rebuilding existing games from their files and their executable: TrackMania Nations Forever first, with no source code and no official documentation.
The project targets one specific game, TrackMania Nations Forever (Nadeo, 2008), with a two-step goal: a faithful reimplementation of the Stadium environment, then a modernised version that keeps exactly the same simulation. The game’s physics runs at a fixed step, around 100 Hz, and it is deterministic. That is what makes the goal checkable: an official replay played back through the reimplementation has to land on the same time, to the hundredth.
What works today is reading tracks. Nadeo’s GBX format is parsed in C++20: the header, the LZO decompression of the body, rewritten and covered by tests, then a walk through the chunks down to a track’s block grid, which a small Direct3D 11 viewer displays.
The game’s archives held out. The .pak files are encrypted with Blowfish, and the key derivation documented by the community opens none of the three archives in the Steam version; a systematic sweep of the plausible variants found nothing either. So the work moved to the executable itself: disassembly, memory dumps of the running game, hardware breakpoints set by a small debugger written for the purpose. It established that the known formula is dead code in this version, and located a constant missing from the public documentation. The final key has not been recovered yet: the project is paused at exactly that point, and the notes say where to pick it up.
Two other targets wait under the same roof. Total Immersion Racing, a racing game from 2002, has only an empty repository so far. Tower Quest, an online tower-defense game shut down in 2013, went much further, without a single file to decompile: it has its own page.
Private project, no public link
