RooM is both a fan made game and an engine created by PoptartNoahh, utilizing a WAD converter to convert the levels and textures from DOOM.WAD or DOOM2.WAD to the Roblox platform, as well as implementing various mechanics from the Brutal Doom and Skulltag Doom mods. The current maps in use were hand-built using Roblox's map building suite, mostly by co-developer CanyonJack.
It was previously known as Noah's Doom Engine in its alpha stages.
RooM started out as Noah's Doom Engine on July 8, 2015, but the RooM page followed on July 21 in advance. Noah's Doom Engine was the initial project to get Doom working in Roblox. A WAD converter is implemented to convert the various data lumps over so that WADs work perfectly in the engine. These versions were named v1.x.
Later development of the engine, now known as RooM and labeled v2.x, were spent on and off implementing various new gameplay mechanics, taken from Brutal Doom and Skulltag. RooM has been demonstrated with the following modes:
- Classic mode: Plays the original Doom levels converted to native format, and can utilize additional graphical features, such as colored lighting
- Brutal Doom: Utilizes a custom HUD and introduces more gibs and a glory kill mechanic, combined with various weapons from Brutal Doom
- Multiplayer: Deathmatch is available but also an Invasion mode similar to the one used in the Skulltag source port exists with spectator capabilities
Despite this, RooM remains a work in progress.
RooM uses a custom engine made in Lua that works in tandem with the Roblox infrastructure. A custom WAD converter is used that looks at the bottom headers of each lump and then searches for the preceding bytes that detail the lump's size index and offset index. These are then run through a loop looking for packets of data which are then stored in a table. Since each lump is different, various methods of parsing are used. The result is that WAD's can be converted perfectly and that actor and entity position is also readable.
The RooM engine supports various advanced rendering features, courtesy of the Roblox codebase. It attempts to provide a visual look similar to the GZDoom source port, and it also supports various gameplay mechanics.
- Can play all Doom levels through a converter and handcrafted additions
- Supports Doom and Doom II monsters
- Custom HUD in Brutal Doom mode
- Glory kills
- Kicking and flying mechanics
- Various renderers can be used:
- Cross-platform (PC, Mobile, Xbox One)
- True three-dimensional engine
- Multiplayer support
- Dynamic colored lighting
- Physically based rendering
- Custom Cacopog monster
PopartNoahh also works on a clone of Doom Eternal, called RooM 2. It runs on a heavily modified Roblox engine that mimics the gameplay of Doom Eternal while altering the artstyle from a more realistic lighting scheme to an atmospheric matte color (due to software limitations) and extra bloom to smooth it all out.
RooM 2 seeks to learn from other games, along with adding new, fan-requested features, such as (optional) centered viewmodels, a pistol, etc. PoptartNoahh frequently posts development progress videos for RooM 2 (see right).
PoptartNoahh also hosts a Discord server, where most if not all polls regarding RooM and RooM 2 development take place, and can be joined at: https://discord.gg/T55WUPv