Skip to content
1pizzateamPublic

About

Doom like game

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

DoomR

Libraries

Library Used for
RoostR.js The whole picture: Renderer (context and context-loss events), Scene, PerspectiveCamera, Mesh with LINES and TRIANGLES geometry and custom shaders, RenderTargets and FullscreenQuad for the neon passes, per-mesh blending. The HUD's line art is RoostR too
BumpR.js Scene/Physics collisions (player vs walls, doors, enemies, sensor pickups, fireballs) with a Spock Grid broadphase, and scene.raycast for hitscan shotgun pellets and enemy line of sight
LoopR.js Player game loop with delta-time and a delta cap
Spock.js Vec2/Vec3 maths, Rand seeded generator, Utils.clamp (also re-exported by RoostR)

Controls

Controls adapt to your keyboard layout (QWERTY, AZERTY, QWERTZ, Dvorak). Positional keys stay in the same physical place on every layout, so WASD on QWERTY is ZQSD on AZERTY. Mnemonic keys follow the letter printed on the keycap. The on-screen labels adapt automatically (from the Keyboard Map API, or learned from your key presses), and F2 cycles Auto → QWERTY → AZERTY → QWERTZ → Dvorak, stored as doomr.keyboardLayout.

Every action can be rebound. Open the CONTROLS page with F1, or click CONTROLS on the title or pause screen. Each action has two slots (KEY 1 / KEY 2) and accepts keyboard keys or mouse buttons (MOUSE L/M/R/4/5). A key taken from another action is announced, and actions left without a key are flagged UNBOUND in red. Del clears a slot, R resets a row, and RESET ALL needs a second press. Esc and Enter are reserved. Customised keys are physical keys labelled with your own keycap glyph. Bindings are saved in the browser as doomr.controls.

Key (QWERTY) Action Follows
W A S D move (ZQSD on AZERTY) position
mouse / ← → turn position
click / X / Ctrl / Alt / Enter fire position
F grenade position
Space jump position
C crouch position
Shift run position
1-4 weapons position
E open / close doors, loot chests (a discreet key prompt appears when in reach) printed letter
M toggle music printed letter
V toggle map printed letter
; toggle sound (B also works) printed letter
N toggle night vision printed letter
Tab automap (G grid, + / - zoom) position
[ / ] switch level printed letter
P / Esc pause printed letter / position
F2 cycle keyboard layout labels position
F3 show fps and render scale position
F1 open the controls page (rebind any action) position

Tests

The game rules in src/game.js have no DOM dependency, so they run headless in Node:

npm test

About

Doom like game

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages