GitHub - Kuberwastaken/DoomMe: DOOM running inside a README

2 min read Original article ↗

DoomMe: Running DOOM from a GitHub Readme

Click to Play DOOM
Yes, this is literally the game. You can click it to start playing.

Kuberwastaken - DoomMe Version 5 License MIT


What Is This?

DoomMe is Doom's E1M1 level running entirely inside GitHub's markdown viewer. Without using any javascript or a backend server, it's just 4,340 pre-rendered screenshots linked together with hyperlinks.

Every position × every angle = a unique markdown file. Click a direction, load a new file. That's the whole "engine."

📖 Full story: How I Made DOOM Run Inside a GitHub Readme


Gameplay

Here's some gameplay I captured locally

Repo Structure

DoomMe/
├── assets/              # 4,340 WebP screenshots (doom_x_y_angle.webp)
├── game/                # 4,340 navigation markdown files
├── menu/                # Episode & difficulty selection screens
├── static/              # Banner GIF, map image, menu assets
├── linker.py            # Generates the markdown graph from map_data
├── gridmapper.py        # VizDoom capture script
├── omgi_mapper.py       # WAD parser using Omgifol
├── map_data.json        # Valid (x, y) coordinates for E1M1
└── README.md            # You are here

How It Works (TL;DR)

  1. Parse the WADomgi_mapper.py uses Omgifol to extract E1M1 geometry
  2. Generate the grid — Point-in-Polygon filtering on a 64-unit grid → 1,085 valid spots
  3. Capture screenshotsgridmapper.py teleports a VizDoom agent to each spot, 4 angles each
  4. Link it alllinker.py builds the navigation graph as interlinked .md files

License

MIT - feel free to tweak around and play with the code Feel free to raise issues and PRs too

Credits


Made with <3 by Kuber Mehta