Skip to content

jasperdevs/BFDoom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Doom compiled to Brainfuck with a playable WAD-backed host path.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages