RooM

From DoomWiki.org

Revision as of 22:12, 20 June 2020 by 121.45.223.104 (talk) (Features)


RooM is both a fan made game and a engine made 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 Brutal Doom and Skulltag. 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.

History

The most recent trailer of RooM, showing the various gameplay modes and visuals.

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.

Engine

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.

Features

  • 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
  • Shadowmaps
  • Physically based rendering
  • Reflections
  • Custom Cacopog Monster

Trivia

  • PopartNoahh also works on a clone of Doom Eternal, called RooM 2.
  • Due to the Roblox physics being employed in the RooM engine instead of Doom's, the feel of the game is decidedly different.

External links