DOOM Retro v2.6.6 (updated February 9, 2018)

ORIGINAL POST: On this day exactly 20 years ago, id Software released a little game you might know called DOOM. And now, in celebration of this anniversary date, and after over three years of development in relative secrecy, I’m proud to finally announce the debut release of DOOM Retro, my very own DOOM source port.

DOOM Retro represents what I want DOOM to be today, in all its gritty, unapologetically pixelated glory. I’ve strived to implement a set of features and a certain level of attention to detail and restraint while still upholding a deference for that classic, nostalgic DOOM experience we all hold dear. DOOM Retro’s extensive release notes list what I’ve accomplished so far in an attempt to achieve this goal. DOOM Retro is based on Chocolate DOOM.

This project is by no means complete, and will probably forever be in a constant state of development. My intent is to release updates on a regular basis, ever seeking that goal of perfection. I have a long way ahead, and I encourage you to please leave a comment on this post, or on the DOOM Retro site, with any feedback, bug reports, etc. you may wish to impart, as well as follow the @doomretro account on Twitter.

Share this post

Link to post

Just gave it a shot. I love it! The first thing that caught my eye is that some monster's "dying" frames are mirrored, how come nobody has thought of that before? Such a small tweak and yet it pops up out as something different.

I can't wait to play it some more when I get more free time to see what other little things pop up :D

Share this post

Link to post

I like your port, it's very nice. It's like an updated vanilla-Doom that adds more details and it makes the game a bit more realistic (sprite variation, rocket trails...), but it keeps the old feeling. It also keeps the game simple because it doesn't have a ton of features. I hate tons of customizable features because it contributes to the loss of the vanilla feeling. I'll try it in multiplayer mode when it will be working. I'll be glad to help you in your project by reporting bugs.

Share this post

Link to post

After reading through the release notes it became very clear that this port is aimed at rather a different audience to that of Chocolate Doom, on which it is based. It would probably be a good idea to clarify in more detail the goals of your port (rather than simply what has been changed). Obviously vanilla mod compatibility is not a focus, for example.

Share this post

Link to post

Just gave it a shot. I love it! The first thing that caught my eye is that some monster's "dying" frames are mirrored, how come nobody has thought of that before? Such a small tweak and yet it pops up out as something different.

Thanks for the feedback! Such a simple little idea, but it works really well. I would love for other source ports to borrow this idea...

I can't wait to play it some more when I get more free time to see what other little things pop up :D

Check out the release notes on the site. There are lots of little subtle surprises listed in there...

Share this post

Link to post

I like your port, it's very nice. It's like an updated vanilla-Doom that adds more details and it makes the game a bit more realistic (sprite variation, rocket trails...), but it keeps the old feeling. It also keeps the game simple because it doesn't have a ton of features. I hate tons of customizable features because it contributes to the loss of the vanilla feeling. I'll try it in multiplayer mode when it will be working. I'll be glad to help you in your project by reporting bugs.

Thanks axdoom1! I'm so glad you get what I'm trying to achieve with this port! And any help you can give will be greatly appreciated. I've been sitting on this thing for a while now, and it's great to finally share it with people... :)

Share this post

Link to post

After reading through the release notes it became very clear that this port is aimed at rather a different audience to that of Chocolate Doom, on which it is based. It would probably be a good idea to clarify in more detail the goals of your port (rather than simply what has been changed). Obviously vanilla mod compatibility is not a focus, for example.

Yeah, you're right, DaniJ. Thanks. I'll put a clarification up on the site soon...

Share this post

Link to post

I am really enjoying what I've played so far. Is it limit removing or just the vanilla limits?

I know you've just released it but I have a couple of requests if you're interested. The first would be the ability to remap the controller buttons. The reason being I already use a controller in ZDoom and relearning a button layout for a game I'm really familiar with is strange. BTW, why doesn't vibrate work with a Logitech F710 but it does for an XBox controller? Aren't they both just x-input?

The other request I don't even know if it's possible but here goes: Is it at all possible to make the lamps and switches full bright? It's always been one of my bugbears of all the software based (as opposed to OGL or D3D) engines. It just seems so unrealistic that a light on a switch doesn't light up!

Share this post

Link to post

I am really enjoying what I've played so far. Is it limit removing or just the vanilla limits?

I know you've just released it but I have a couple of requests if you're interested. The first would be the ability to remap the controller buttons. The reason being I already use a controller in ZDoom and relearning a button layout for a game I'm really familiar with is strange. BTW, why doesn't vibrate work with a Logitech F710 but it does for an XBox controller? Aren't they both just x-input?

The other request I don't even know if it's possible but here goes: Is it at all possible to make the lamps and switches full bright? It's always been one of my bugbears of all the software based (as opposed to OGL or D3D) engines. It just seems so unrealistic that a light on a switch doesn't light up!

Regardless, the port is nice surprise Doomsday present. Thank you. :)

DOOM RETRO is limit removing, yes.

As for remapping the controller buttons, I've tried to keep it as minimalist as possible. But that's certainly something I'll look into for the next release, even if you need to edit the default.cfg file directly...

I'm not entirely sure why there's no vibrate with the F710. Yes, XInput is used if possible, otherwise it falls back to DirectInput. I've only tested using an XBox 360 controller and a Logitech F310. The F310 doesn't have vibrate, but works otherwise in both XInput and DirectInput modes. I'll look into it...

I believe all the lamps and torches are already fullbright. As for the wall switches, it may prove challenging, since you would be wanting only part of a wall texture to be fullbright. Interesting idea, and definitely something I'd like to experiment with.

Share this post

Link to post

Where is the cfg file stored? It's saving my settings clearly, but I don't see any default.cfg being written anywhere. Gotta get that mouse sensitivity up. On that note, plans to support higher mouse sensitivities from the options menu?

Share this post

Link to post

Possible bug. When I turn the music down to zero there are no sound effects as if both music and sfx have been muted.

PS: Thanks for taking onboard my suggestions. If the lamps are fullbright they seem to be very dark compared to the fullbrights in some of the textures. Don't know if that's deliberate, a limitation or just me. :)

Share this post

Link to post

While you have features like Jump (skip crouch), you have no modifyed Physict but just more coggs in the machinery so to speak (maybe add a corair? if so make one ugly dot or angle).

you could give the player the option for full vanilla setup or switch to limit breaking mode with all the new features that have come up to doom over the 20 years, the quality doesnt ahve to be top notch but just so the player can use it.

Share this post

Link to post

Where is the cfg file stored? It's saving my settings clearly, but I don't see any default.cfg being written anywhere. Gotta get that mouse sensitivity up. On that note, plans to support higher mouse sensitivities from the options menu?

e2: OK max sensitivity is higher than vanilla Doom, I guess there's some acceleration going on or something. Oh well.

Also it seemed to find a doom2.wad on my HD when I just ran it? That's kind of cool.

Holding down shift doesn't make me walk with auto-run on. ALSO I'M GOING TO END UP TYPING IN CAPS A LOT AFTER PLAYING ;P

To keep it as "Windows friendly" as possible, I thought I'd move the default.cfg file into "Local Settings\Application Data\DOOM RETRO", which apparently is where Microsoft likes that sort of stuff to go. And it allows you to install it to the Program Files folder without UAC complaining. (Next version will have a proper installer.)

I'll look into why the sensitivity is behaving the way it is, and why the SHIFT key doesn't cancel CAPSLOCK. (I swear I tested these things many times!)

Not sure why you can't copy from the website. I just tested it in Chrome and IE10. Works fine for me. What browser are you using?

Share this post

Link to post

Possible bug. When I turn the music down to zero there are no sound effects as if both music and sfx have been muted.

PS: Thanks for taking onboard my suggestions. If the lamps are fullbright they seem to be very dark compared to the fullbrights in some of the textures. Don't know if that's deliberate, a limitation or just me. :)

The problem with the volume I think is a long standing issue with using SDL to handle the audio. I hope at one point in the future to switch libraries.

With the lamps, they no longer appear to be fullbright because I'm applying per-pixel translucency to the glass parts. Because each pixel of these parts is being averaged with the pixel behind it, and because there are only 256 colors, it appears darker.

Share this post

Link to post

While you have features like Jump (skip crouch), you have no modifyed Physict but just more coggs in the machinery so to speak (maybe add a corair? if so make one ugly dot or angle).

you could give the player the option for full vanilla setup or switch to limit breaking mode with all the new features that have come up to doom over the 20 years, the quality doesnt ahve to be top notch but just so the player can use it.

I like your idea over this 20th birthday :)

Thank you for your input. I have no plans of implementing either jump or crouch actions. I personally feel these actions stray too far from Vanilla DOOM (there are plenty of other ports that allow them). As for a crosshair, it would be both distracting and unnecessary: vertical look won't be implemented, and the weapons are horizontally centered.

As for an option to switch between Vanilla and um, non-Vanilla DOOM: the goal of this port is to add features while still keeping things clean and minimalist. If you want Vanilla DOOM, play it in a DOS Box, or play Chocolate DOOM. If you want jumping, crouching, a crosshair, etc., try the considerably more advanced ports (ZDoom, Odamex, etc.). DOOM RETRO is instead trying to strike a balance between these two "styles".

Share this post

Link to post

I tried out DOOM RETRO earlier (found it mentioned in the DOOM 20th news thread), and I just noticed this thread now, haha.

This source port looks and feels great, and I love the little features you've added here and there. I don't really have any bug reports or stuff to mention right now, so I'll just say it's a very nice port for DOOM's 20th anniversary, and that I look forward to future updates. :)

Link to post

Share this post

Link to post

Speaking of "limit removing", how many doom ports exist that are completely "limit removing" (not just "limit extending") without also being Boom or MBF-compatible? Mocha Doom, in its current state is just that: limit removing for most obvious stuff, but NOT Boom compatible.

I was under impression that this is an unusual combination, as most fully-limit removing ports have historically used Boom or MBF as a base, with very few attaining limit-removing status while building on "bare" linux doom.

Share this post

Link to post

Unfortunately I can't try it out because I don't have anything resembling a Windows machine, but hopefully someone will port it to other platforms.

I really appreciate and respect the fact that you have a clear vision of what you want the source port to be, and I like the "subtle enhancements" philosophy. It reminds me of perkristian's remastered SFX and weapon animations. Would it make sense to include those with DOOM RETRO?

Share this post

Link to post

Easy to do with the renderer (just change a few constants, maybe fix a few column rendering functions that miss a pixel or line above vanilla resolution), but somewhat harder to do with fixed-scale graphics (menus, status bar, messages, text etc.). Each source port that has this feature did so differently, so perhaps that's why it's a "hard" feature to include, and most prefer the "easy" way of upscaling (which however saps CPU power like no tomorrow) or just forking an existing source port, rather than implementing proper multi-res support from the ground up.

NightFright said:

Optional 32bit rendering (hard to accomplish with software, though)

Relatively simple to do. _bruce_ achieved it with his own "true color" chocodoom branch, and I achieved it with Mocha Doom since v1.6, while letting the user still choose between Indexed (8-bit classic), HiColor (similar to the little-known 15-bit HiColor mode in the 0.4 and 0.5 Alphas) and TrueColor modes (24-bit with 256 colormaps and 256 true light levels). There's also an obscure source port based on the BFG Edition's Classic Doom that uses extended colormaps. BTW I take that you mean actually displaying more than 256 colors and using extended palettes/colormaps, not just rendering on a 32-bit canvas.

Share this post

Link to post

I played the first two maps of doom 2 with this port on Linux, using the wine 1.4 windows system, it runs stable and clean.

it is dark, fast, and it feels authentic. this port is indeed a great attempt to keep things 'DooM' while basing yourself on modern additions that do not disrupt the original.

side note :
i do not know why, but in the corner of the tiny health pick up secret room in the first map of doom 2, that houses two imps... i could see a pitch black square hanging around in the left upper corner. is this always there, or is this the port doing that ?

Share this post

Link to post

side note :
i do not know why, but in the corner of the tiny health pick up secret room in the first map of doom 2, that houses two imps... i could see a pitch black square hanging around in the left upper corner. is this always there, or is this the port doing that ?

That's part of the level and has always been there. There's a tiny 'tube' that runs between the secret room and the imp cage next door to it. I think it's there to carry sound, so that when the imps inside the secret room hear you they'll open the door and come out.

I will be monitoring this, it might be a good compromise for those that find ChocDoom too puritan regarding its features while considering ZDoom/Doomsday etc to be overkill already.

BTW, anybody knows if vanilla-compatible PWADs like "Back to Saturn X" are running with this (I guess trying it won't hurt)?

Thanks, NightFright. I think I might leave native resolutions for the other ports. As Maes said, its pretty easy to implement, but it wouldn't be keeping with my goal of this source port. Higher resolutions makes things look too "crisp" with straight edges, and I feel it clashes with the still lowres "texels", and by upping the res to 640x400 only I'm keeping that balance, that gritty pixelation.

The same goes for 32-bit rendering. I looked into it, but as with the resolution, I feel that the 256 colour palette is part of DOOM's vanilla charm.

"Back to Saturn X" runs fine! I'm a big fan of it, and used it during testing to make sure it ran perfectly. I plan to showcase it on the website at some point in the future, along with "Suspended in Dusk".