Skip to content

GithubAnant/raydoom

Repository files navigation

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.

About

A Raycast extension for playing DOOM

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors