9 ms·
Show HN: Resurrecting a dead Dune RTS game
- smcin 2y ago'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 https://dune.fandom.com/wiki/Emperor:_Battle_for_Dune
- romanhn 2y agoThe original C&C was in fact based on Dune II, the OG RTS game that came out in 1992. The cutscenes from Dune II are still burned into my memory, what a great game it was.
- nick__m 2y agoDune II was so great for a 11yo !
- elric 2y ago"The planet Arrakis, known as Dune. Land of sand. Home of the spice melange. The spice controls the empire. Whoever controls Dune controls the spice. The emperor has proposed a challenge to each of the houses. The house that produces the most spice will control Dune. There are no set territories and no rules of engagement. Vast armies have arrived. Now three houses fight for control of Dune. The noble Atreides. The insidious Ordos. And the evil Harkonnen. Only one house will prevail. Your battle for Dune begins now..." Just thinking about the soundtrack to that most excellent game gives me goosebumps. Fond memories there.
- grafelic 2y agoVery 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.
- brightball 2y agoI wonder if it would run under Wine?
- bbor 2y agoThis 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!
- lmz 2y agoI wonder if they can use manifests / registration-free COM to avoid the registry dependency of the online component.
- wheybags 2y agoI did come across some mentions of that, but it sounded like you would need to configure it at build time. If you know of a way to do it with a pre-existing binary that wasn't designed with that in mind I'd be very interested.
- lmz 2y agoIn theory the manifest could be external (app.exe -> app.exe.manifest; lib.dll -> lib.dll.manifest), but you already seem to be patching the binary so maybe embedding it directly as a resource wouldn't hurt. Ref: https://learn.microsoft.com/en-us/windows/win32/SbsCs/assembly-searching-sequence https://learn.microsoft.com/en-us/windows/win32/SbsCs/assemb... and https://learn.microsoft.com/en-us/windows/win32/SbsCs/application-manifests#file-name https://learn.microsoft.com/en-us/windows/win32/SbsCs/applic...
- cshokie 2y agoI came here to also post about regfree COM. If you can get it to work that seems like the ideal solution. See https://learn.microsoft.com/en-us/windows/win32/sbscs/creating-registration-free-com-objects https://learn.microsoft.com/en-us/windows/win32/sbscs/creati... “Activation contexts enable COM objects to be used without requiring that they be registered.”
- Kerbiter 2y agoThis is how we avoided COM registration for Blowfish in YR, maybe this well help you. https://github.com/Phobos-developers/Phobos/blob/develop/src%2FMisc%2FHooks.Blowfish.cpp https://github.com/Phobos-developers/Phobos/blob/develop/src...
- quotemstr 2y ago> configure it at build time There's a plain old API to create lookup scopes, IIRC.
- metadat 2y agoGreat 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!)
- tslocum 2y agoCS2 is considered by some to be a downgrade compared to CS:GO (yours truly included). I have heard reports of tournament PCs being unable to hold a decent FPS in CS2, whereas they worked great with CS:GO. You can find many user reports sharing similar results, even with higher-end PCs. Valve wants CS2 to be seen as the continuation of CS:GO, and instead of making a better game to replace it naturally, they forced the change on their playerbase. I, and others, will be bitter about this for some time, as CS:GO is an excellent game.
- Insanity 2y agoTheir CS2 “server browser” is kinda disgraceful, especially considering that the game was carried for decades on custom maps and mods.
- binary132 2y agoI am really stoked about this actually, I thought it could not happen
- lowbloodsugar 2y agoHats off. Amazing effort. Great read. I haven’t used IDA on a game in a long while and this is next level effort. Bravo.
- tonfreed 2y agoThe 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
- Klaster_1 2y agoTotally agree. Back in those days, I played the game for a couple of hours at best, but the soundtrack has stayed in my music library for decades, what a masterpiece!
- schlauerfox 2y agoThis early 90s MIDI era music seems to have a genre name now of 'dungeon synth', not sure if that's widely used or just an effect of this collector: https://bandcamp.com/thedungeonsyntharchives https://bandcamp.com/thedungeonsyntharchives https://www.youtube.com/@TheDungeonSynthArchives https://www.youtube.com/@TheDungeonSynthArchives But it's nice in the way environmental music is, I use it to work to as it seems to hold back my distractions in the way non lyrical music can for me.
- artik 2y ago[flagged]
- jprete 2y agoI'm not saying it's not a trojan, but the description sounds like something that a malware detector would flag even if it was perfectly innocuous.
- teruakohatu 2y agoDon’t know if it is or isn’t legit but the entire blog post is about building a communication server for the game with NAT punching, not surprising it might be flagged.
- dingensundso 2y agoOnly 1 out of 94 AVs on VirusTotal flag the file. https://www.virustotal.com/gui/url/51acfb2159936a06bb31bdb9fba0cc1721628c4c22fb90e28277c872a5f5b16c/detection https://www.virustotal.com/gui/url/51acfb2159936a06bb31bdb9f...
- 0xDEADFED5 2y agoit's higher for the exe that's dropped, but definitely still possible for it to be a false positive. https://www.virustotal.com/gui/file/038421636df34fbfc25cdb92acd0815a749bcc2185dfafd5c861eb3679e7666f https://www.virustotal.com/gui/file/038421636df34fbfc25cdb92... it's got strings in the exe from RTPatch, it might be a generic match for that?
- mook 2y agoIt's a !ml flag, so there's a high likelihood it's wrong, because there's no downside to false positives. (The stuff I work on, which is all open source and doesn't even try anything silly, routinely but randomly gets flagged for some reason.)
- mepian 2y agoWacatac is usually a false positive.
- artik 2y ago[flagged]
- teruakohatu 2y agoWhy link directly to the file? You already posted another comment mentioning it.
- personjerry 2y agoAny chance to port this to mac? :)
- Rinzler89 2y agoIt's ~50 bucks for a second hand X86 laptop that can run this game (less than an Apple thunderbolt cable), if you actually want to play it now, instead of waiting for a Mac port to fall out of the sky.
- wheybags 2y agoHighly unlikely I'm afraid :(
- datameta 2y agoCould potentially run on Wine?
- chaostheory 2y agoOn a related note, there is a modern Dune RTS on steam https://store.steampowered.com/app/1605220/Dune_Spice_Wars/ https://store.steampowered.com/app/1605220/Dune_Spice_Wars/
- bigstrat2003 2y agoIt's pretty good, too!
- dalanmiller 2y agoYeah this isn’t an RTS at all. As someone else said definitely more of a 4X with very minimal realtime troop movement.
- 8372049 2y agoCalling it an RTS is a stretch. It's more of a 4X game. It has a low pace and combat isn't particularly important.
- k_ 2y agoDune: Spice War's codename being "d4x" , this statement is absolutely fair :)
- darylteo 2y agoAside what the others say about Spice Wars being 4X, the closest we got to an actual modern Dune RTS was Homeworld: Deserts of Kharak.
- evanjrowley 2y agoI loved this game very much. Best soundtrack of any Westwood Studios game. So glad it's still playable.
- imp0cat 2y agoI totally missed this one! I went from Dune 2 straight to C&C.
- TechDebtDevin 2y agoDamn, what if we don't have any access to a physical copy of the game?
- lewispollard 2y agoThere's a certain organisation on the internet where certain things are archived.
- TechDebtDevin 2y agoI always forget there's software on there also. Tyty
- renegat0x0 2y agoThere still appears to be existing a fan page https://dune2k.com/Duniverse/Games/Emperor https://dune2k.com/Duniverse/Games/Emperor
- Kerbiter 2y agoThat'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 :)
- cmcaleer 2y agoThis 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.
- RichardLake 2y agoTo be clear the article isn't about Dune 2; it is about Emperor: Battle for Dune.
- Loughla 2y agoI think that maybe it would've always been like that. History sort of leans on the peasant as resource base, ruler as strategist trope. While Dune itself is like that, so is all of history.
- creshal 2y agoFor RTS it's a question of scope: How much of the resource base do you model? It could've been abstracted much further than this, and just grant resources passively based on territory held, or some other metric, and fully focus on battles. Instead we got a genre where resource collection is fairly involved, and a vulnerable spot for enemies to go after to cripple opponents early. I don't think it was inevitable that the latter style of RTS would be dominant, and only a few outliers focus on simpler economic models, it very well could've been the other way around.
- antifa 2y agoDawn of War is a good example of an RTS that deviates from the genetic ore mining paradigm.
- Sesse__ 2y agoVery 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.
- le-mark 2y ago> UI design is my passion. So great, I really miss writing like this. Reminds me of Steve Yegge blog posts, among others.
- herodoturtle 2y ago> It's got a 28.8 BPS modem Active matrix, man. A million psychedelic colors.
- BoredPositron 2y agoRISC architecture is going to change everything.
- sen 2y agoHey they weren't wrong, they were just 30 years early. Yes, the movie was 30 years ago, we're all very old.
- Log_out_ 2y agoThe 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.
- hyperman1 2y agoI 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!
- inetknght 2y agoIMHO the difference between "skilled" or not is whether you know where to look for help without causing more problems, and even more importantly: when to look for help. Documentation might be all the help you need, and reading documentation definitely makes you skilled, but plenty of people don't know how to search for it!
- metadat 2y agoSince it's now abandonware, you can download Emperor: Battle for Dune from archive.org directly or via torrent: https://archive.org/details/EmperorBattleForDuneUSAEurope 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.
- safety1st 2y agoThe soundtrack for this game was badass, particularly the Harkonnen section. Easily one of Westwood's best. Here's a YouTube playlist: https://www.youtube.com/watch?v=x1SUUkhKkXo&list=PL4E8A872850C1B3AB&index=27 https://www.youtube.com/watch?v=x1SUUkhKkXo&list=PL4E8A87285...
- slavik81 2y agoWhen I think of Emperor: Battle for Dune, I hear "Ride the Worm" in my head. The music really sells the majesty of the armies battling in feudal war across a dangerous desert filled with behemoth creatures that could devour them all. https://youtu.be/czXaKxcQNkQ https://youtu.be/czXaKxcQNkQ
- inetknght 2y agoHey 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!
- BugsJustFindMe 2y ago@wheybags, you may want to optimize the images. https://wheybags.com/assets/blog_pics/emperor/first_coop.jpg https://wheybags.com/assets/blog_pics/emperor/first_coop.jpg is 5MB for no good reason, and takes forever to load, etc.
- deleted 2y ago[deleted]
- nkrisc 2y agoThis 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.
- darksim905 2y agoThis 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! :)
- skrebbel 2y agoWow 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?”?
- einpoklum 2y agoBut 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.
- Rinzler89 2y agoMost likely the author has an attachment or fondness of the game from childhood memories, as do I. Call it nostalgia if you want. Yeah the game wasn't a smash hit and it didn't age well just like all early 3D games, but no amount of hate from critics or market failure can undo the nice memories I had playing it. I also like Submarine Titans and that one bombed even harder.
- neurocline 2y agoSmall nit, but my understanding is that Herzog Zwei was the first RTS, although I agree that Dune II popularized the genre.
- a_sync 2y agoYou 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.