DEV Community

Cover image for I Built a Retro FPS That Turns Your Git Repo Into a Shooting Game
devjiro
devjiro

Posted on

I Built a Retro FPS That Turns Your Git Repo Into a Shooting Game

What if your git history was a first-person shooter?

SHOT MY GIT turns any GitHub repo into a retro FPS game. Bug-fix commits become bosses. Your code commits become bullets. Shoot your way through 10 waves of bugs.

demo

Try It Now

https://devjiro76.github.io/shot-my-git/

Paste any public GitHub repo URL and hit FIGHT.

How It Works

  1. Enter a GitHub repo URL (e.g. facebook/react)
  2. The app fetches commits via GitHub REST API
  3. Bug-fix commits (fix, hotfix, patch...) spawn as bosses
  4. Your feature/refactor commits become bullets
  5. Shoot through 10 waves of increasingly tough bugs

Bosses Have Tiers

Tier Trigger Behavior
MINI 1-2 files changed Straight line
NORMAL 3-5 files Zigzag pattern
ELITE 6+ files or 100+ line changes Circle strafing
MEGA Merge commits, 10+ files Charge attack + escorts

Bullets Show Real Code

Every bullet you fire displays actual content from your commits:

  • Function/class names extracted from diffs
  • Commit messages and SHAs
  • Insertion/deletion stats
  • Color-coded by commit type (feature=cyan, refactor=yellow, test=blue)

The Stack

  • Three.js with low-res render target for pixel art aesthetic
  • Canvas2D -> CanvasTexture for text sprite rendering
  • Vite + TypeScript for the build
  • GitHub REST API (no backend, fully static)
  • Deployed on GitHub Pages

Git Events as Environmental Effects

The game world reacts to your repo's git history:

  • Merge - Two text sprites collide and explode
  • Branch - Y-shaped fork appears in the sky
  • Tag - Golden version number drops from above
  • Matrix rain - Actual diff code rains in the background

For Private Repos


bash
npm run extract -- /path/to/your/repo
# generates git-data.json, drag & drop it into the game

Links

- Live: https://devjiro76.github.io/shot-my-git/
- Source: https://github.com/devjiro76/shot-my-git

---
This was a weekend experiment to make git history more visceral. Every developer has fought bugs — now you can literally shoot them.

Try it with your own repo and let me know your kill count.
Enter fullscreen mode Exit fullscreen mode

Top comments (1)

Collapse
 
avanrossum profile image
Alexander van Rossum

Well, this is positively bizarre.

Love it.