Tomer Gabel's annoying spot on the 'net RSS 2.0
# Thursday, 22 June 2006

Remember Nuclear War? If not, slap yourself on the wrist and go download it. Right now, like.

One night a couple months ago (before my laptop hard drive woes, which are nay over by the way) I found myself unable to sleep at 5 in the morning. I figured a couple of rounds of Nuclear War would do well to alleviate my sleeplessness; I fired the game up and after 10 minutes was hit by a sudden inspiration. The game is turn-based, and the controls are exceedingly simple: mouse cursor and left click. Since I was still looking for something useful to do with my newly acquired PDA it struck me that the game would work extremelly well on a stylus-equipped PDA or phone, and I was wondering if someone made a version for Pocket PC devices. A quick search through Google assured me that this is not the case, and since I had the next day off I fired up Visual Studio and started working.

At that point I figured that a simple rewrite wouldn't do. I wanted an identical version of the original game. Since New World Computing is no more, I figured the chances of getting the source for a 1988 game are a little on the slim side. At a whim, I fired up IDA Pro and started working. A couple of days later I managed to disassemble most of the graphics code and image decompression (LZ78-derivative) and wrote a utility to help me extract the game assets. It features picture and palette display, histogram and font parsing:


Interesting technical footnote: the palettes were embedded in the data segment; I wrote a regex-based parser for IDA's assembler output for this purpose. The palettes were in the VGA 0..63 scale, but some values are also higher and have to be clamped, which gave me quite a bit of grief until I noticed this.

With the game assets ripped I could proceed to write some actual code, however this posed an interesting dilemma: I want the game to be completely faithful to the original, but disassembling the game logic and AI is a huge task. I originally estimated it would take a month to complete the reverse engineering, but given that it's already been two or so months (discounting my laptop's downtime) it seems my guesstimate was woefully inadequate. This is where I turn to you for feedback: should I keep going in this direction (meaning the alpha version will probably take another several months to be released), or should I just write my own game logic and AI code, get a release out and then proceed with reverse engineering?

Let me know your thoughts. Also, if you want to create better (higher quality, different) graphics and music for the game get in touch -- I'm aiming for a very spartan first release (to keep it in a reasonable timeframe), but once I'm done with this baby the sky's the limit.

Thursday, 22 June 2006 18:28:35 (Jerusalem Standard Time, UTC+02:00)  #    -
Personal | Gaming
Send mail to the author(s) Be afraid.
<2017 March>
All Content © 2017, Tomer Gabel
Based on the Business theme for dasBlog created by Christoph De Baene (delarou)