Skip to content

Latest commit

 

History

History
55 lines (37 loc) · 1.26 KB

File metadata and controls

55 lines (37 loc) · 1.26 KB

Raydoom logo

Raydoom

DOOM, inside Raycast.

Raydoom demo

I have been using Raycast ever since I got my first MacBook.

But only recently found out you can build your own Raycast extensions with JavaScript and Node.js.

The idea was born:

Can this thing run DOOM?

Turns out, not really.

Raycast extensions do not get webviews, WebGL, canvas, realtime keyboard capture, or audio.

But you can still cheat it:

  1. run PureDOOM in WASM
  2. render each framebuffer to PNG
  3. write it to disk
  4. point Raycast markdown at the image
  5. replace the image fast enough to play

Run

npm install
npm run build:doom
npm run dev

Open Raycast and run Play Doom.

Raydoom does not bundle Doom assets. Add a legal IWAD like doom1.wad, doom.wad, or doom2.wad in Raycast preferences, or put one in ~/Desktop, ~/Downloads, or ~/Documents.

Controls

  • W/S: move forward/backward
  • A/D: turn left/right
  • Q/E: strafe left/right
  • F: fire
  • U: use/open
  • M: automap
  • X: menu
  • Option-P: pause/resume
  • Command-R: reset

Launch Doom is also included if you want to open a WAD in Chocolate Doom instead.