A Flash of Doom: An Alchemy That Works!

Awesome! One hundred percent pure, old-fashioned, home-grown, plain awesome…

Adobe released Alchemy preview version on Labs some days ago. I haven’t even yet had the chance to download it. AFAIK, it lets you compile C/C++ code to AS3 for Flash Player 10. It’s bound to have some limitations (but not much apparently), and I don’t want to talk about it more until I know more. (Update: You can get more info at Branden Hall’s post titled Understanding Adobe Alchemy).

Then I saw the post titled Play Doom Online on FlashMagazine. There, there was a link to port of Doom to Flash. (I must say that I don’t agree with Jens that Doom created the FPS genre of 3D games. I think it was Wolfenstein 3D). Anyway, at first it didn’t work. I do all my browsing in Virtual PC and in there the virtual graphics card has even less 3D support (actually, none I think) than my main graphics card which I choose as the cheapest card available as I don’t play any 3D games and don’t need any 3D acceleration at all. So I suspected if that was an issue. I also tried IE6 but couldn’t get past the first screen.

24 hours later, I tried again with IE6, failed, then with Firefox, finally, Doom appeared before my eyes. There’s no music but it was totally playable even in Virtual PC, on a real computer which can be considered quite ordinary today.


Of course, it was not the 3D that impressed me, I have seen my share of impressive 3D stuff done in Flash. I have also seen very successful, though I must admit not many, near-exact game ports to actionscript, AS2 actually. The magic here is Alchemy, what the author, Mike Welsh, wrote: ‘Recompiled from the original source by Mike, using Alchemy!’ (Of course, I think Mike, as the alchemist, did a splendid job here, kudos to him!).

This is big! I’d say Alchemy will be a key step in Flash Platforms evolution. Great work Adobe!

For Alchemy some new bytecode instructions were introduced to AVM2 (see Scott Petersen slides PDF). I’m not sure what this will mean for ASV. If we will be dealing with a full featured optimizing C/C++ compiler, decompiling back to C/C++ will be really hard work for us, that I can say…

[Update (2010): See http://asvguy.com/2010/05/officially-announcing-azoth.html for free Windows Alchemy Opcodes Injector]

This entry was posted in Flash, Flex.

2 Responses to A Flash of Doom: An Alchemy That Works!

  1. Jens says:

    Hi Burak,
    You are right. Wolfenstein was certainly first. One main difference – Wolfenstein was single player and Doom was multiplayer (LAN). I think that’s what made FPS games really take off, don’t you agree?
    Multiplayer is a very important aspect of FPS to me. I remember so many late nights with friends at the office playing the same levels over and over again. I never did that with Wolfenstein.