July 13th, 2024

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 articleLink Icon
NostalgiaAppreciationExcitement
Show HN: Resurrecting a dead Dune RTS game

Tom 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.

AI: What people are saying
The article on Tom Mason's EmperorLauncher patch for Emperor: Battle for Dune generated a variety of comments:
  • 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.
Link Icon 31 comments
By @cmcaleer - 7 months
This game actually holds a ton of significance for the RTS genre as a whole. A very typical view of the RTS genre is that you have peasants who harvest resources that you gave to protect, and the Dune RTS was a real progenitor in this.

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.

By @Sesse__ - 7 months
Very nice post! I did something related to this a decade back, except it was for Tiberian Sun and to patch its networking code. Jumping into other people's code like this is like having a shared connection in a sense. I noticed to my horror that there was a completely separate stack for modem play; it wasn't like they just sent TCP/IP over the modem or something. Some poor soul must have spent months of their life writing all this custom code for framing and syncing and error handling (what happens if the connection goes down and you have to re-dial, etc.?). Which was irrelevant almost already when the game originally came out.
By @inetknght - 7 months
Hey this is nice! This comment stuck out to me:

> 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!

By @metadat - 7 months
Great article, wish I could go out for a night on the town with the author, I feel like they're pretty darn fun and intelligent.

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!)

By @Log_out_ - 7 months
The idea that modern add-HD riddled and pay to win shovelware gets defeated by old classics is deeply entertaining to me. Just one hacker helping.. and the audience would drive the crapware out of town on a rail. Almost like good things of the past in an eternal medium will always outcompete mediocre things of the present.
By @Kerbiter - 7 months
That's a great writeup and a great effort! Perhaps we could integrate with your efforts at CnCNet somehow. Come hang out with us on CnCNet :)
By @herodoturtle - 7 months
> It's got a 28.8 BPS modem

Active matrix, man. A million psychedelic colors.

By @grafelic - 7 months
Very interesting and in depth article. I really appreciate the amount of detail and knowledge shared about how to go about reverse enginnering and patching abandonware like this. Thank you. Saw the game in a local thrift store, but left it be, since I only played Dune II rts. I will pick it up for sure now.
By @chaostheory - 7 months
On a related note, there is a modern Dune RTS on steam

https://store.steampowered.com/app/1605220/Dune_Spice_Wars/

By @le-mark - 7 months
> UI design is my passion.

So great, I really miss writing like this. Reminds me of Steve Yegge blog posts, among others.

By @bbor - 7 months
This is the most amazing things I’ve seen in ages, very exciting!! I’m very far from the technical work here, but I appreciate how approachable you made it. Can’t wait to try it when I get home!
By @evanjrowley - 7 months
I loved this game very much. Best soundtrack of any Westwood Studios game. So glad it's still playable.
By @hyperman1 - 7 months
I see this kind of note regularly in blog posts:

  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!

By @renegat0x0 - 7 months
There still appears to be existing a fan page

https://dune2k.com/Duniverse/Games/Emperor

By @a_sync - 7 months
You know, it’s kinda interesting to see how RTS games have changed over the years. Like, Dune II set the stage with its mechanics, but then games like Dawn of War and Blood and Magic started doing their own thing. It’s sorta like how FPS games evolved from Doom to stuff like Half-Life and now all these battle royale games. Just shows how game design, player feedback, and tech keep changing things up. Makes you wonder what the next big thing in RTS games will be, especially with AI and procedural generation getting better. Anyway, just some thoughts.
By @nkrisc - 7 months
This is amazing. I will have to dig out my disks - I hope I still have them. This game barely ran on my computer I had at the time, so it will be nice to finally play it in its full, non-glitchy graphics glory. As I recall, the team color coded parts of everything just showed up as a glitchy rainbow texture.
By @darksim905 - 7 months
This is oddly well timed and amazing. I've been thinking about Dune and wanting to play it for a while now when I was recently looking at some old games when I had a Packerd Bell PC. Sweet, amazing work! :)
By @skrebbel - 7 months
Wow this is such an entertaining read, hats off! I love how it kept switching me between “wait the westwood people did what?” and “wait you patched it with what?”?
By @einpoklum - 7 months
But why "Emperor: Battle for Dune"? I don't remember that game being so highly-regarded or influential? I'd probably take Dune 2 over it TBH.
By @binary132 - 7 months
I am really stoked about this actually, I thought it could not happen
By @smcin - 7 months
'Emperor: Battle for Dune', a 2001 RTS game by Westwood Studios, essentially a Dune-themed 'Command & Conquer'.

Play as one of the three main factions: House Atreides, Harkonnen, or the (non-canon) Ordos.

https://dune.fandom.com/wiki/Emperor:_Battle_for_Dune

By @neurocline - 7 months
Small nit, but my understanding is that Herzog Zwei was the first RTS, although I agree that Dune II popularized the genre.
By @tonfreed - 7 months
The soundtrack he links to reminds me of a game from the 90s called 7th Legion. It was average at best, but the music was killer
By @lmz - 7 months
I wonder if they can use manifests / registration-free COM to avoid the registry dependency of the online component.
By @TechDebtDevin - 7 months
Damn, what if we don't have any access to a physical copy of the game?
By @personjerry - 7 months
Any chance to port this to mac? :)
By @lowbloodsugar - 7 months
Hats off. Amazing effort. Great read. I haven’t used IDA on a game in a long while and this is next level effort. Bravo.
By @metadat - 7 months
Since it's now abandonware, you can download Emperor: Battle for Dune from archive.org directly or via torrent:

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.
By @BugsJustFindMe - 7 months
@wheybags, you may want to optimize the images.

https://wheybags.com/assets/blog_pics/emperor/first_coop.jpg is 5MB for no good reason, and takes forever to load, etc.