Over the past several years I’ve been slowly revese engineering an old favourite RTS, Dune 2000. The experience has been a real eye opener to dealing with file formats at the binary level. Before undertaking the project I’d never heard the phrase little-endian, didn’t understand the sheer usefulness of hex editors or used disassemblers and decompilers like IDA/HexRays.
For those of you that haven’t heard of it, Dune 2K is a sequel to Dune 2: Battle for Arrakis by Westwood which preceeded C&C, WarCraft and StarCraft and established the archetypes for the genre. Despite its name, Dune 2000 was released in 1998 and principally developed by Intelligent Games under the management of a Westwood
Much of my focus has been on reverse engineering the game’s mission files so that modders could modify and create new campaigns, but I also reverse engineered about another half a dozen formats in the game. Recently I finished reverse engineering the mission files to the point where I completely understand them except for their AI sections and have now released an early editor. All my work has been part of the D2K+ Toolkit project, a project who’s goal is to release a suite of tools for moifying the game. The first release includes four new tools I have released as well as a campaign map editor that someone has contributed to the toolkit. With five new editors this has now opened up an unprecented level of modification for the first time in the game’s 13 year history and I look forward to seeing what modders can now achieve.
