Skip to content

Classic Doom

Overview

The Classic Doom application is a Doom game engine that can be used to play the shareware version of Doom as well as the freely redistributable Freedoom games.

Freedoom Phase 1 by Freedoom Team

Controls

The keyboard/mouse controls and gamepad mappings are listed in the tables below.

Keyboard and Mouse

The following table contains the basic keyboard and mouse mappings. Press the equal (=) key while playing a game to view the complete set of mappings.

Name
Keys
Comments
Move
Turn Move mouse left or right to turn in the corresponding direction.
Fire
Move Forward
Run
Use
Select Weapon Number Keys 1 through 9 Press the equal (=) key while playing a game to view what weapon each numeric key is mapped to.
Show Pause Screen

Mouse Support (Pointer Lock)

This application supports Pointer Lock on compatible browsers. Pointer lock binds mouse input to the game window, preventing the game from losing mouse input when the mouse travels outside the window. This functionality is critical when playing a 3rd person shooter. To enable pointer lock, double click on the game window (this may have to be repeated a couple of times). Once the pointer is "locked", the pointer (arrow, etc.) will no longer be visible. To "unlock" from the window, press the escape key (this may also have to be repeated a couple of times).

Gamepad

Gamepad mappings are listed in the table below.

Name
Gamepad
Comments
Move  or 
Run
Fire
Strafe
Use
Previous Weapon
Next Weapon
Show Pause Screen  and  Not available for Xbox and not recommended for iOS (see alternate 3 or 4)

Hold down the Left Trigger and press the Menu (Start) Button.
Show Pause Screen
(Alternate)
 and  Not available for Xbox and not recommended for iOS (see alternate 3 or 4)

Hold down the Left Trigger and press the View (Back) Button.
Show Pause Screen
(Alternate 2)
 and  Not available for Xbox and not recommended for iOS (see alternate 3 or 4)

Hold down the X Button and press the View (Back) Button.
Show Pause Screen
(Alternate 3)
 and  Hold down the Left Trigger and click (press down) on the Left Thumbstick.
Show Pause Screen
(Alternate 4)
 and  Hold down the Left Trigger and click (press down) on the Right Thumbstick.

The following table lists the buttons to use when presented with a Yes/No prompt.

Name
Gamepad
Yes
No

Saved Games

This application supports persisting game saves into the browser's local storage. Saved games can be loaded and resumed on subsequent gaming sessions.

Feed

This section details how Classic Doom application instances can be added to feeds.

Type

The type name for the Classic Doom application is prboom.

Note

The alias doom also currently maps to this application. In the future, the doom alias may be mapped to another Classic Doom application (different engine implementation) if it is determined to be a more appropriate default.

Properties

The table below contains the properties that are specific to the Classic Doom application. These properties are specified in the props object of a feed item.

Property Type Required Details
game String Yes The choice of game to play (one of the following):
  • doom1 : Doom 1 (shareware version)
  • freedoom1 : Freedoom Phase 1
  • freedoom2 : Freedoom Phase 2

Example

The following is an example of a complete feed that consists of a single Classic Doom application instance (type value of doom). The game property is set to freedoom2 which corresponds to the excellent Freedoom II game developed by the Freedoom project.

{
  "title": "Classic Doom Feed",
  "longTitle": "Classic Doom Example Feed",
  "categories": [
    {
      "title": "Classic Doom Games",
      "items": [
        {
          "title": "Freedoom II",
          "type": "doom",
          "props": {
            "game": "freedoom2"
          }
        }
      ]
    }
  ]
}

This example can be tested by adding a feed with the following URL within the webЯcade player:

https://tinyurl.com/sample-doom-feed

References

Back to top