A while back, I posted an entry on the universe of cross-compiled code and the power of Adobe Alchemy. At that time, I put in a good word for the most publicized example of Alchemy at work: Flash Doom. Well, not content to just please the nostalgic gamer masses, Mike Walsh, the creator of this surprising port, is bringing smiles to curious Flash developers everywhere. He has just released the source code for the latest version of the conversion, the Doom Triple Pack. The Triple Pack includes the shareware episodes of Doom, Hexen, and a personal favourite of mine, Heretic.
In case you wanted a refresher on what Alchemy does, here is the one sentence "nutshell": Alchemy allows C and C++ code to which hooks have been added to be cross-compiled to AVM2 byte-code and built into a SWF file which can be loaded into a Flash application. The intent of this experiment was to provide a means of making existing (legacy or open source) libraries available to serious, business-driven Flash applications. As is often the case, despite the "useful" nature of this technology, game developers have driven the cutting edge and come up with something quite unexpected.
Get the Source
As mentioned above, Mike posted the source to the Triple Pack on GitHub a few days ago, to little fanfare. If you'd like to see exactly how he pulled it all off, now's your chance. I've only had time to poke around a little but his custom pre-loader is in there, as are reams of C code (ah, the nostalgia!). Shortly after the original release of Flash Doom, Mike explained the ins and outs of his endeavour in this interview with Peter Elst.
Also, here is a link to a step-by-step guide to compiling your own Alchemy-powered Doom. It is not by Mike but might help in making heads or tails of his source.
My Wish List
When I first heard about the Doom Flash conversion, a number of games I'd love to see converted immediately jumped to my mind. There are so many great candidates from over the years but my personal wish list would have to include...
Codename Eagle
In my opinion, Codename Eagle was the first game to strike a balance between physical realism and stunt-filled visceral fun. Brings a tear to my eye just thinking about it. I used to run a dedicated Codename Eagle server while I was in my Computer Science classes back in the day. As far as I know, the source hasn't been released and I doubt that Flash could handle the engine... but one can always dream.
One of my all-time favourites, Codename Eagle is the cult precursor to the Battlefield series (i.e. Battlefield 1942, BF2, BF:2042, BF:Bad Company, etc.). It is set in an alternate history of WWI and features some of the most hectic, hilarious multiplayer capture the flag action you've ever seen. We're talking tanks, trucks, sidecar motorcycles, biplane bombers and fighters, rocket-launching gyro-copters and a zeppelin, for crying out loud! When I bought my copy, I paid $10 CDN at a local pharmacy, not knowing just what I was getting myself into. The single-player mode wasn't very impressive but multiplayer was simply a revelation.
In my opinion, Codename Eagle was the first game to strike a balance between physical realism and stunt-filled visceral fun. Brings a tear to my eye just thinking about it. I used to run a dedicated Codename Eagle server while I was in my Computer Science classes back in the day. As far as I know, the source hasn't been released and I doubt that Flash could handle the engine... but one can always dream.
Shadow Warrior
"Lo Wang", as my bro, cousin and I called it (after the senior citizen ninja main character) is an underrated 3D shooter powered by the Build Engine of Duke Nukem 3D fame. The source-code is now open (though the assets have to be downloaded separately), so this game is just begging for an enterprising (i.e "single") Flash developer to get it done.
You can get a Windows and Linux port here. Enjoy (it's not for kids, though).
What game would you Alchemize?
For the sake of a little shameless nostalgia (let it all out, folks!), I'd love to hear what old game you'd like to see converted to Flash. Even better, follow Mike's example: go out and do the conversion yourself! You could be just that close to Flash gaming superstardom.
Also, if you've used Alchemy in one of your own projects, I'd love to hear how it went and what you used it for.
As always, thanks for dropping by!
Leave a comment