"DOOM is the new Hello World"

2008-12-04 08:00:31 by mike

The first thought on everyone's mind once Adobe released Alchemy: "Time for Doom in the web browser!"

Naturally, it's only the demo. id Software still actively sells Doom -- on both Xbox LIVE and Steam -- so if you've never played it, you should pick up the full version.

There are a few things missing in the port:

- No music. Doom's music files are MIDI, and Flash can't natively play MIDI files. I was tempted to include OCRemix's Doom soundtrack as MP3, but even a few of the songs would be bigger than 2.5 meg Flash file!

- No mouse control. Flash has no way of "locking" the mouse to the game area, so it's impossible to do true Quake-style mouselook. I'll be ranting about this more in a future post.

- Bad keyboard controls. Doom's original keyboard controls (ALT, CTRL, etc.) don't get along with Flash and caused odd behavior on different platforms. I changed them around, but what I really need to add is configurable controls.

- Yea, the secret is missing in E1M1 and the BFG isn't there. These weren't in the shareware version! :)

As per the GPL license, the source code for the port is publicly available! Feel free to play around with it here:

Also, check out Max's AS3 Doom engine. He actually reprogrammed the DOOM-style raycasting engine in AS3, before Alchemy was even announced! Wow!


You must be logged in to comment on this post.


2008-12-04 08:45:42

It has it's flaws, but still, it's really a nice piece of work. Really brought back some good memories.


2008-12-04 09:35:38

It's very interesting that you can bring old games like Doom into flash. I wonder if you can edit those games, maybe make new enemies or levels entirely?

mike responds:

there's 15 years worth of Doom levels and mods out there that could potentially plugged in!


2008-12-04 15:16:13

I love DOOM and have favorited your game, but don't you think you're getting a little bit too much credit for this??? Technically, all you did was put it in alchemy and change it a teeny bit, but then again, no one else did. Can we expect to see another alchemy-created flash in the future from you??? PLEASE???!!!

mike responds:

I don't presume any credit -- the folks at id Software are the ones who made the game awesome. :)


2008-12-04 15:55:53

Looks like you beat him


2008-12-04 17:57:03

I liked Arena or Street Fighter.


2008-12-04 23:01:19

thanks for releasing it,Im no scripter but I will try to get some wads working


2008-12-04 23:21:59

Do Shadow Warrior or Duke Nukem next. :P


2008-12-05 02:29:56

Coulden't you just try simply just plane old action scripting in so the screen stays locked to your mouse? The only problem I could see is where you drag your moues off screen but hey a least you can use it!

mike responds:

Dragging the mouse out of the screen is really the crux of the problem. Then you get people clicking outside the window on accident, and it all goes to hell from there!

I could make it scroll depending on how far away from the center of the screen the mouse is, but it's really not the same as true mouselook.


2008-12-05 06:55:24

omg you're so cool!


2008-12-05 12:31:10

want sex now.


2008-12-05 16:04:30

what are the odds of you porting the full version since I my credit card is maxed out therefore steam will bend me over a chair if I try to purchase anything


2008-12-06 00:21:51

nothing can replace Hello World.


2008-12-06 10:22:42

It was pretty impressive, despite its flaws.

Handles just like Doom. Its just a little clunky.


2008-12-06 14:37:26

oh snack


2008-12-06 16:36:41



2008-12-06 22:56:02

I wonder if Action Script 2 is good for that sorta stuff but I aint a Programmer guy more of an animation guy


2008-12-07 08:03:44

The thing I love about you is that I never understand a fucking thing you're on about, yet it all sounds so interesting. Sure, this post makes sense, but all your others about programming sound like a foreign language to me, and I'd love to understand it. You must be one hell of a smart bloke to keep alll that stored in your head.


2008-12-07 16:12:38

Wow. Best flash game I've ever played, not only because of my neverdying devotion towards the original series, heh, everything is great, I havn't seen any other seemingly threedimensional shooters with this much gameplay involved.

Will you be porting Doom 2 too? Maybe the Plutonium special? TNT? A few open source WADs packed together as one game? Now that it's possible, there is so much you can do with this . . .


2008-12-09 23:22:00

Why do I have your page bookmarked....

Oh well. Hi Mike!


2008-12-10 01:37:02

Supposedly you can port most music sorts.
I would've thought that midi would've been capable with C++ ...?


2008-12-10 01:38:40

oh, and can you do duke nukem next? :D


2008-12-11 20:08:54


That guy made some 3D first person shooters for Flash, and it has mouselook :O It works pretty well actually, you should try out the Demo's if you haven't already.

(Updated ) mike responds:

Sweet engine!

Unfortunately, the mouse-look requires clicking inside the Flash and dragging with the button held down. Keeping the button held down like this is the only way Flash can be 'aware' of the mouse's position once it leaves the Flash area. Sadly, it's the best Flash can do. :( Flash also only keeps track of movement to the edge of the browser screen. What we really need is a way to 'lock' the mouse pointer within the Flash area, and to grab the relative movement of the mouse, NOT just the cursor position.


2008-12-14 02:03:41



2008-12-14 18:03:00

Hey, I'm Max. I appreciate the link. Good job on the game.


2008-12-16 09:11:54

Can heretic be next please? I think there was a shareware version of that... man i grew up playing these games. Command Keen too... he made me try out pogo sticks.

This alchemy thing is pretty sweet. I'm still not sure how you use a graphics api like SDL with it though, i'll have to look more into it. I've always understood C better than AS anyways. Nice work on the Doom port! :D


2008-12-28 13:59:56

I heard you converted it from EXE to SWF.


2008-12-31 14:34:30

I <3 Doom


2009-01-01 15:39:43

ID themselves made quake for the browser - being quake live. I for one don't see how c code could be converted to actionscript, because they have completely different standard functions etc...


2009-01-01 23:36:40

blam the real 9/11 story


2009-01-03 22:04:36

I didn't read what you just wrote, but you have the gold aura, so I love you anyway. :3


2009-01-06 05:16:52

You have the best username on the site.


2009-01-21 01:17:22

Yeah customizable would be a great addition, fantastic port either way.


2009-01-26 02:12:25

its realy cool but, are you going to make the full version?
i ask this because ms-dos no longer exists so i cant play it from disc :(


2009-01-26 23:34:13




2009-03-06 23:50:21

Very cool.

I learned Morse code yesterday, because I randomly decided that I should make a chat program with Java, where users would input via Morse code.

Something about using new technologies to go backwards is just entertaining. Not that a fast-loading FPS in a browser is necessarily "backwards," but you know what I mean.

Typically, "alchemy" seems to suggest transmuting worthless materials into gold. However, what you have used Alchemy for, I think, is turning gold into platinum. Well done, sir.

Now I wish to see mp3 files imprinted onto a vinyl record, along with a player that can read them.


2010-02-26 00:38:21

so technically. You could write a full game in the DOOM engine as a mod, then port it to flash, then release it as a 100% flash game. Pretty cool. I have always wanted to create a DOOM like engine in flash and have many "FLASHDOOM" failed attempts lying around my backup DVDs. I think I will stick to 2D for now it is easier.

good work on porting it tho, impressive.