Engine design philosophy:
1. Use Integer values for rendering on the screen
In order to retain the pixelated, retro look - the engine forces working with Integers when calculating the data necessary for rendering.
2. Important features & debug information can be toggled in config.json
https://dimitech.io/retro-2d-game-engine-demo/
Run:
make
Serve the root directory and open index.html in your browser
make serve
TS compilation should run without errors:
npx tsc -p tsconfig.json
(Heretic) https://zdoom.org/wiki/Palette
- MP5 SMG 9mm - By GunGuru from http://soundbible.com/2091-MP5-SMG-9mm.html
- BULLET HITS SOUND FX - by ActionVFX from https://www.actionvfx.com/collections/free-vfx/category
- 5 Hit Sounds + Dying - By TinyWorlds from https://opengameart.org/content/5-hit-sounds-dying
W, A, S, D - movement Mouse/Trackpad - Aiming / Shooting
NOTICE: Keyboard/Mouse will not work while using a Gamepad. Unplug the gamepad in order to keep using the Keyboard/Mouse.
Left analog stick - Movement Right analog stick - Aiming R1 - Shoot
Inspired by Red Faction 2 controls.
Overview of game states and possible transitions:
-------------
/ \
/ ---------- Paused
v v \ /
Loading ---> Main Menu ---> Playing ---> Level Cleared ---> Victory
/ ^ /
v \ /
Game Over -----