Show HN: Resurrecting a dead Dune RTS game
Tom Mason developed EmperorLauncher, a patch for Emperor: Battle for Dune, enhancing compatibility with modern systems. The patch offers high-resolution support, online multiplayer, and coop campaign mode through reverse engineering and code injection.
Read original articleTom Mason created EmperorLauncher, a patch for Emperor: Battle for Dune, a 2001 RTS game by Westwood Studios, to make it compatible with modern systems. The patch includes high-resolution support, online multiplayer, and coop campaign mode. The blog post details the technical process of creating the patch, involving reverse engineering Emperor.exe and injecting custom patches into Game.exe. The author used tools like IDA for disassembling and decompiling code, and Detours library for function patching. By replacing instructions in the original functions, the patch successfully modifies the game's behavior. The project aimed to address issues like resolution limitations, unplayable multiplayer speed, and broken visual effects. Through detailed reverse engineering and patch injection techniques, Tom Mason managed to revive the cooperative gameplay feature of Emperor: Battle for Dune, providing a solution for modern gamers to enjoy this classic RTS game.
Related
DOS game "F15 SE II" reversing: more stories and now on GitHub
The GitHub repository reconstructs F-15 Strike Eagle 2's source code to match the original at the CPU instruction level. It includes executables like `f15.com` and `egame.exe`, with build instructions provided.
A Hex Editor for Reverse Engineers
ImHex is a versatile Hex Editor catering to Reverse Engineers and Programmers. It offers byte patching, search functions, theming, data interpretation tools, and more. The GitHub repository provides additional information.
Total Annihilation Graphics Engine (2012)
The article details Jon Mavor's work on Total Annihilation's graphics engine, overcoming hardware limitations and implementing optimizations like caching units as sprites and improving image quality. Mavor's dedication and technical insights are well-received.
Trackmania Nightmares
The authors, David and Felipe, overcame challenges to install Trackmania II on Linux. They detailed hardware upgrades, Ubuntu Server installation, and complex setups involving Xvfb, VNC servers, and Lutris emulators. Despite setbacks, they succeeded after troubleshooting.
Modifying the OG Xbox to have 256M of RAM [video]
The video discusses upgrading original Xbox memory to 256MB through reverse engineering, hardware development, and software hacking. It explores Xbox chip addressing, cfg1 register adjustments, RAM corruption bug fixes, and performance enhancements. Hardware limitations restricted upgrades to 9 kbits.
- Many commenters praised the technical effort and detailed write-up, expressing excitement about the patch and its features.
- Several comments discussed the historical significance of the Dune RTS games and their impact on the genre.
- There were suggestions and discussions about integrating the patch with existing communities and tools like CnCNet and XWIS.net.
- Some users shared personal nostalgia and memories of playing the game, highlighting its importance to them.
- Questions and concerns were raised about accessing the game, potential ports to other systems, and optimizing the patch's resources.
But it was only like that because of the book. Were it not like that, maybe RTS as a genre would have gone down a different path. Maybe it's inevitable that it would have eventually gone down the path that it took eventually, but there's a good chance that it would have been unrecognisable. Maybe you'd have gotten resources by just harvesting your base's resources instead so opponents would have harassed you by harassing your buildings instead. Maybe there would have been different bonuses for map control other than better access to resources.
> Westwood Online (WOL) doesn't work anymore, so you can't play multiplayer except through LAN
I loved Command & Conquer in my younger years and I know a small bit about Westwood Online from the client side.
If I recall XWIS.net did a lot of support after WOL went offline! It might be worth the author reaching out to the niche developer community there, although I think it's truly dying out. If I recall, the work that XWIS guys did ended up getting recognition from EA and they did a lot of help to continue WOL support for C&C Renegade.
There's also FreeRA project that is the direct ancestor of several of the recent re-releases of C&C on eg Steam. They might also be able to help get WOL working.
I say this because WOL was pushed as its own library, and so a replacement of the library will probably be fairly easy compared to (re-)reverse-engineering the WOL stack.
Edit:
Oh, as I continue reading the post, it goes on to discuss how the WOL component is also fixed. Extra nice!
The cute expandable explanations are just the bee's knees, and also useful. I felt like I was playing some sort of choose your own adventure RPG just reading TFA, which was a new kind of experience.
--
p.s. re: > CS:GO, which was only retired in 2023
I thought CS:GO was rebranded to CS2. Am I mistaken? (very probably, yes, pretty please enlighten me!)
Active matrix, man. A million psychedelic colors.
So great, I really miss writing like this. Reminds me of Steve Yegge blog posts, among others.
This is probably a good time to mention that I am not a skilled reverse engineer.
Nope. You've walked the walk, you've earned the right to talk the talk. We're all building experience as we go.You're now at least a junior reverse engineer, and seeing the size of this project, you can even drop the junior as far as I'm concerned. Enjoy!
Play as one of the three main factions: House Atreides, Harkonnen, or the (non-canon) Ordos.
https://archive.org/details/EmperorBattleForDuneUSAEurope
(For others who, like me, want to try this game out with the wheybags patch :)
Just for fun, I also dug up the past pirate releases:
releaseName TYPE releaseDate
------------------------------------------------------- -------- -------------------
Emperor_Battle_for_Dune_v1_06_Update-RAZoRDOX GAMES 2001-06-21 00:00:00
Emperor.Battle.for.Dune.Update.v1.07.Cracked-MYTH DOX 2001-06-30 16:16:43
Emperor.Battle.for.Dune.All.Level.Saves-EyM 0DAY 2001-07-10 12:07:49
Emperor.Battle.for.Dune.Update.v1.08.Cracked-MYTH DOX 2001-08-17 08:17:39
Emperor.Battle.For.Dune.Update.v1.09.Cracked-MYTH DOX 2001-10-06 06:04:21
Emperor.Battle.for.Dune.Update.v1.06.Cracked-MYTH DOX 2003-07-11 22:33:37
Emperor-Battle_For_Dune-NORDiC-DOX-RUSDOX DOX 2003-07-11 22:33:45
Emperor.Battle.For.Dune.Poradnik.POLiSH.PDF.eBook-KiOSK BOOKWARE 2006-03-10 01:48:50
Emperor.Battle.For.Dune.Money.Trainer-FLTDOX DOX 2006-10-10 21:52:25
Emperor.Battle.for.Dune.v1.06.Update-RAZoRDOX 0DAY 2006-10-10 21:52:30
Emperor_Battle_For_Dune_Money_Trainer-FLTDOX DOX 2006-10-10 21:52:30
Emperor.Battle.for.Dune-DEVIANCE GAMES 2007-02-15 17:25:00
OST-Emperor_-_Battle_For_Dune-CD-2001-DGN MP3 2010-09-01 22:45:42
I was surprised to see there is even an OST soundtrack! Amusing.https://wheybags.com/assets/blog_pics/emperor/first_coop.jpg is 5MB for no good reason, and takes forever to load, etc.
Related
DOS game "F15 SE II" reversing: more stories and now on GitHub
The GitHub repository reconstructs F-15 Strike Eagle 2's source code to match the original at the CPU instruction level. It includes executables like `f15.com` and `egame.exe`, with build instructions provided.
A Hex Editor for Reverse Engineers
ImHex is a versatile Hex Editor catering to Reverse Engineers and Programmers. It offers byte patching, search functions, theming, data interpretation tools, and more. The GitHub repository provides additional information.
Total Annihilation Graphics Engine (2012)
The article details Jon Mavor's work on Total Annihilation's graphics engine, overcoming hardware limitations and implementing optimizations like caching units as sprites and improving image quality. Mavor's dedication and technical insights are well-received.
Trackmania Nightmares
The authors, David and Felipe, overcame challenges to install Trackmania II on Linux. They detailed hardware upgrades, Ubuntu Server installation, and complex setups involving Xvfb, VNC servers, and Lutris emulators. Despite setbacks, they succeeded after troubleshooting.
Modifying the OG Xbox to have 256M of RAM [video]
The video discusses upgrading original Xbox memory to 256MB through reverse engineering, hardware development, and software hacking. It explores Xbox chip addressing, cfg1 register adjustments, RAM corruption bug fixes, and performance enhancements. Hardware limitations restricted upgrades to 9 kbits.