menu

Reflection – Operation Blockade

ilspy

Some years ago, I set out to develop a recreation of an old classic game, ‘Operation Blockade’. It was something I embarked on before any real programming knowledge and it was both a lot of fun and very educational. I attempted to mimic the game as much as possible, as it was a game I really enjoyed. Suffice to say despite my coding experience, I actually did a pretty good job if you can ignore the many duplicate classes as seen in the screenshot above (Whoops!).

Unfortunately about half way through the project I had somewhat of a hard drive failure, and at the time I wasn’t really smart enough to have proper backups. Thus the only real trace of the game I had left was an older, compiled build of the game I had once uploaded to show one of the original creators who was nice enough to give me an insight on the development of the original game.

It wasn’t until recently, after I was contacted by another original developer (kudos to you guys!) I came up with the idea of salvaging what I could. After a bit of research I discovered that reverse engineering Unity was supposedly incredibly easy. Surely enough, simply using a handy tool such as ILSpy, I was able to peek into the assembled code of the game and I had essentially retrieved a huge chunk of the game. While the code doesn’t compile flawlessly, I’d say that 90% of the code is recognizable and with touching up it would most likely work.

The next stage would be the actual assets. Apparently it was also possibly to load the assets of a compiled Unity game back into the editor. After some initial attempts it did not seem successful until I discovered that Unity’s asset system has very little backward compatibility. Upon retrieving an older version of Unity, 3.6.2f4 to be exact, I tried once more. Unfortunately again I had no luck extracting the assets – perhaps the reversal tricks only applied to even older versions of Unity.

Despite the results, it was very refreshing to see the old code I had written years ago, before my tertiary programming courses, to see what had inspired me to move on and continue writing bit by bit, an old classic game that’s gotten me to where I am today.

Finally, I’d like to add that after reflecting on my old project, I’ve decided to start anew on a new project while I seek employment in the real world. This time it will be designed with my own ideas, perhaps taking influence from classic games in its genre. I’ve decided to try and construct a versatile Real Time Strategy (RTS) project, loosely in the style of the old Command & Conquer series (I’m thinking Tiberian Sun, my personal favourite, and Red Alert 2) although this time in 3D. As it’s been over a year since any real updates to the blog, now is as good a time as ever to start producing regular development updates. Expect to hear more soon!