Skip to content

Latest commit

 

History

History
75 lines (53 loc) · 1.64 KB

File metadata and controls

75 lines (53 loc) · 1.64 KB

BFDoom

BFDoom

Doom compiled to Brainfuck and playable in a small desktop window.

BFDoom gameplay preview

BFDoom Brainfuck source excerpt

Play

npx @jasperdevs/bfdoom

Or install it:

npm install -g @jasperdevs/bfdoom
bfdoom

From a clone:

git clone https://github.com/jasperdevs/BFDoom.git
cd BFDoom
npm run play:window

The main Brainfuck program is programs/bfdoom-linked.bf.gz. On first run it expands to programs/bfdoom-linked.bf; the raw file is about 518 MB, so only the compressed artifact is committed.

Controls

Key Action
W / S, Up / Down Move
A / D, Left / Right Turn
Space / F Fire
E Use
Tab Automap
1-7 Switch weapons
Esc Menu
Q Quit

Setup

Requires Node.js 20+. On Windows, install WSL. On Linux/WSL, install basic build tools:

sudo apt update
sudo apt install -y build-essential make gzip

Test

npm run test:bfdoom-host
npm test

Status

BFDoom is playable and still being brought closer to Doom. The biggest unfinished pieces are sound, menus, and full engine/rendering parity. Technical notes live in docs/brainfuck-doom-port.md.

License

GPL-2.0-only. Doom and DoomGeneric are GPL-2.0; ELVM is MIT. See the vendor license files for upstream details.