๐ฐ Quake: Principia
Inspired by Quake (1996) โ a true-3D dungeon where every room is one proposition from Newton's Principia. The walls carry the step-by-step geometric proof; you "read" a panel by shooting it, watching it glow from black-and-white to color. Light up the final proof-wall and it becomes a hidden door โ shoot it, and the room's one demon emerges.
No Python. No terminal. No installer. Just unzip and double-click. ๐
You remember this.
In 1996, Quake gave you a true 3D world โ dark stone chambers, echoing halls, and a demon waiting in the shadows. We kept that feeling โ the torch-lit rooms, the hidden doors, the creature stirring in the dark โ and poured something completely new inside.
Here's what's different โ and amazing.
This isn't a shooter. Every room is a proposition from Newton's Principia โ the 1687 book that invented physics. The rooms are connected as a concept-graph dungeon: each door teleports you straight into the next idea, and a corner minimap shows you the force-directed graph โ every room a dot, every logical link a line, generated automatically from the book's actual concepts.
Walls carry the step-by-step geometric proof. Each step is a drawing panel (a real Asymptote figure) beside a full-LaTeX text panel. You "read" a panel by shooting it โ it glows from black-and-white to colored, with the matching words and shapes lit in the same colors so the picture and the sentence teach each other. Light up every panel and the final proof-wall becomes a hidden door. Shoot it, and the room's one demon emerges. Kill it, and the ceiling equations bleed red โ the room is cleared, and you've earned the insight.
Get it wrong? Nothing bad happens. There's no health bar, no lives, no game-over โ the challenge is understanding, not survival. You're not being tested; you're being shown.
๐ธ Gallery โ real in-game screenshots
Straight from our own engine. Click any photo to view it full-size.
๐๏ธ The mountain you're climbing
The peak: Newton's Principia Mathematica โ the 1687 book that gave us the laws of motion, universal gravitation, and the mathematical framework for classical physics. Every proposition builds on earlier ones in a strict logical chain, which maps perfectly to a graph of rooms and corridors. This first level walks Book I, Sections IโIII โ Newton's "first and last ratios" leading toward the inverse-square law.
The Motte English translation is our source. Each figure from the book is rebuilt in Asymptote (a modern LaTeX geometry tool), with per-step highlighting so you can watch a geometric proof unfold one construction at a time โ faithful to the printed page, never a simplification.
What you'll actually understand by the end:
- How Newton reasoned with vanishing quantities โ calculus, before calculus had a name.
- Why arcs, chords, and tangents become equal "in the last ratio."
- How geometric reasoning (not algebra!) built the foundations of physics.
- What "fidelity to the printed page" means โ we reproduce the real proof.
โค๏ธ How you two play
Quake: Principia is built for two people on one screen โ a co-op design that gives each player a real, distinct job. (Playing solo works too โ one person can do both.)
๐น๏ธ Player 1 โ The Mover
Owns the body and heading. Walks the 3D dungeon and decides where to go, stepping through doorways into each new proposition. Plays on keyboard โ or, if you have one, a Thrustmaster T.16000M flight stick.
๐ฏ Player 2 โ The Aimer
Owns the reticle. Aims freely, reads the panels, shoots them to light them up, opens the hidden proof-wall, and fights the room's single demon. Plays on mouse โ or an Xbox controller. The Aimer's aim never yanks the camera around, so there's zero couch-co-op fighting over the view.
๐ฎ Controls
Keyboard + mouse is all you need. A flight joystick and an Xbox controller are optional โ not required, just more fun โ and they work at the same time as the keyboard and mouse.
โจ๏ธ Keyboard + Mouse
WASD— move & strafe- Mouse — look around and aim the reticle
- Left-click — shoot a panel (colors it) / shoot the hidden door / shoot the demon
R— read a panel up close (toggle)Esc— quit
๐น๏ธ Optional controllers (not required โ just more fun)
A quick ~1-second calibration runs at startup for the joystick โ just keep the stick centered for a moment.
Thrustmaster T.16000M flight stick โ the Mover:
- Move the stick โ walk & strafe.
- Twist the stick โ turn left / right.
- Throttle slider โ run forward / backward (push forward to run ahead, pull back to reverse; centered = stop).
Xbox controller โ the Aimer:
- Right stick โ look around & aim the reticle.
- Right trigger or A โ shoot.
๐ก๏ธ God-mode โ you cannot die
There is no health bar. No lives. No game-over screen. Infinite ammo, one demon per room (hidden behind the final proof-wall), no level boss. You're here to learn Newton's Principia, not to grind.
โ๏ธ The tech
Language: pure Python (Windows-first). Graphics: moderngl + pyglet (a direct OpenGL pipeline โ no engine hiding the work, our own GLSL shaders). Math: NumPy, NetworkX, Pydantic v2. Build pipeline: Asymptote (geometry figures), Matplotlib, LaTeX, PyInstaller (packaging). Every commit is on GitHub โ we build in public.
๐ผ The originals that inspired us
The original Quake (1996) โ the game we're remaking with math inside.
โฌ๏ธ Download & play (Windows)
The easy way โ no Python, no terminal, no installer:
- Download the Windows
.zip. - Right-click it โ Extract Allโฆ
- Open the extracted folder.
- Double-click โQuake Principia.exeโ โ that's it! ๐
- Grab your partner โ and a flight joystick + Xbox controller if you have them. ๐ฎ
To uninstall, just delete the folder. It installs nothing and never touches your system.
๐ก๏ธ Heads-up: we're a brand-new, free, open-source project, so Windows may say โUnknown publisher.โ That's expected for small free games โ click โMore infoโ โ โRun anyway.โ The game needs no admin permission, installs nothing, and doesn't touch your Python or system. Source code.
๐งโ๐ป Prefer to run from source? (for developers)
- Get the code from GitHub (free, open-source โ no account, no payment, ever).
- Make sure you have Python installed.
- Install the libraries:
pip install moderngl pyglet numpy pillow pydantic networkx - Run it:
cd quakethenpython app.py
First time running a game like this? Our How It Works page walks you through everything in plain English.
โ Back to The Arcade