top of page

SIGKILL — terminal survival adventures that teach real infrastructure

Writer: Chris DeWitt
Chris DeWitt
3 days ago
3 min read
Signal 9. You cannot catch it, you cannot block it, and it does not wait for you to save your work.

SIGKILL is a series of terminal survival adventures that teach real backend and ML infrastructure engineering — Linux, Python, SQL, Git, distributed systems, and the machinery underneath large language models. They are meant to be fun teaching tools: you play a disaster movie on a phone, and the commands you learn are the abilities that open the next door.


Phone-first. Fully offline. Paid once per game. No ads, no accounts, no telemetry.



The premise


You wake on a dead ship with nine hours of oxygen and one flickering terminal. Everything you type is real: a real shell parser, real POSIX permissions, a real Python interpreter, a real SQLite database, real Git history. Thirteen adventures, each a different disaster, each a different pillar of the craft.


Every adventure ships two tracks over the same puzzles: Cadet for players who have never opened a terminal, and Operator for players who have and want the real thing.


The thirteen games


#

Title

Teaches

01

The Wreck

Linux & bash — filesystem, permissions, processes, pipes, logs, cron, SSH

02

The Archive

SQL & data — queries, joins, indexes, transactions, schema design

03

The Cluster

HPC & cloud — SSH, Docker, systemd, SLURM, distributed training

04

The Containment

LLM & AI — tokenization, attention, embeddings, RAG, prompt injection

05

The Fork

Git — a colony ship whose crew diverged into branches

06

The Handshake

Networking — DNS, TCP, TLS, routing, firewalls

07

The Pipeline

Data engineering — ETL, streams, backfills, idempotency

08

The Gradient

ML fundamentals — loss, gradients, overfitting, validation

09

The Daemon

SRE — signals, systemd, observability, on-call, postmortems

10

The Payload

Security — injection, auth, secrets, threat modeling (defensive)

11

The Index

Algorithms — search, sort, hashing, trees, complexity

12

The Contract

Distributed systems — APIs, idempotency, retries, consistency

13

The Bootstrap

Compilers — build a language, then use it to escape


Current status


Phases 0 and 1 are complete. Phase 2 is in progress — phosphor CRT renderer, Android wrap, hint ladders, and phone playtesting. Act I of The Wreck is playable: five puzzles on Deck C, finishable without a hint, with LUNA as a second voice on the ladder.


  • The Machine — deterministic virtual computer: VFS, shell, 58 commands, processes, jobs, cron, simulated network, real Python via Pyodide

  • 820+ automated tests, plus phone-viewport Playwright specs

  • vi / nano editors, objectives board, escalating hint ladders

  • Gate for everything downstream: twenty minutes on a real phone that still wants to keep going


The plan


  1. Phase 0 — Foundation: monorepo, CI, glowing green prompt. Done.

  2. Phase 1 — The Machine: filesystem, shell, services, network, Python. Done.

  3. Phase 2 — Feel: mobile input, CRT renderer, Capacitor wrap. In progress.

  4. Phase 3 — The Wreck, Act I: first puzzles, both tracks, save/load.

  5. Phase 4 — The Wreck complete: full adventure on Play internal testing.

  6. Phase 5 — The Archive: prove the engine generalizes (cost ≤40% of The Wreck).


Why it works as a teaching tool


  • Deterministic. Same input always produces the same filesystem — every puzzle solution can be replayed headlessly in CI.

  • Solution-agnostic. Goals assert on world state, never on what you typed — sed, Python, or an editor all pass.

  • Real engines. Bash and Python share one filesystem. Write a script in the shell, run it with python3, and grep sees the change.


Source & docs


Inside the repo: docs/PLAN.md (north star and the thirteen adventures), docs/ARCHITECTURE.md (how a command becomes a filesystem change), games/wreck (Adventure 1), packages/machine (the shared engine).


pnpm install
pnpm dev          # http://localhost:5173
pnpm check        # typecheck + full test suite

Independent personal work. Questions: director@dewitt-labs.com

 
 
 

Comments


Commenting on this post isn't available anymore. Contact the site owner for more info.
bottom of page