DISCLAIMER: This is project is not 100% accurate. The original source code I'm assuming was lost, so I'm attempting an effort to bring this game back to life, first by decompiling it and then by updating it so it works properly in current day Windows versions.
Tunnels of Underworld (or TOU for short) is an original creation by hannukp and I don't claim any ownership over it. I'm simply a fan who wants to preserve his game.
A lot of things. A lot of things may be very buggy. The code I got is essentialy heavily decompiling things with Ghidra and having a clanker help me with the hardest parts.
- Renderer (Sprites, Particles, Animations, HUD, Tiles, Fonts, etc.)
- Menus
- SFX/BGM, Spatial Audio
- Controls
- Physics (Ships, Water, Collisions, Explosions, etc.)
- Levels (including GG Levels)
- Most subsystems (Enemy AI, Spawns, Pickups, VFX, Weapons, etc.)
I'd guesstimate we're 90% of the way there.
Initially perform a "dirty" decomp, with no organized file structure or namings, just decompiling, making sure things work, implementing systems and fixing bugs.
Later on, organize file structure, namings and overall code architecture for easy maintenance.
All in a all, the plan is to hopefully pull off a 99% compatible decomp, where we can fire up the game and play through the levels without major issues.
I also plan on making a level viewer in the style of my other project, Hotzone, to hopefully better understand how the levels (and maybe GG Packs) work.
When we're done with everything and have a fully working game, I plan to update the stack (maybe SDL2?) to add more compatibility (and maybe support other OSes?) and maybe some improvements (Netplay, Gamepad support, experiments with FSR Upscaling).
If you know enough to help with the decomp, feel free to open a PR.
- MinGW
- Ghidra
- Claude + BetterGhidraMCP
- An old Pentium II running Windows 98 to run the original game.
I'm not gonna put any kind of licenses on this project due to it not being a clean room decomp and also in respect to the original creator. I'm not sure if they would approve of this! (Sorry Hannu!)