Doom-style arena FPS for macOS. Raw OpenGL, software ray tracing, five guns, escalating waves — in a 1.7 MB download.
macOS 11+ · Apple Silicon · 1.7 MB · no accounts, no telemetry, no network
ARENA.app → Open →
Open once; after that it launches normally.
The terminal install below handles this for you.
One line, no Xcode or dev tools — downloads the prebuilt app to
~/Applications,
clears quarantine and launches:
Prefer to read it first? install.sh — 30 lines, curl + ditto + xattr, nothing else.
Grunts rush you, imps lob fireballs with a glowing wind-up. Clear the arena, catch your breath, the next wave hits harder. Quit anytime — your run auto-saves. Die and it's gone.
Kills pay credits. Press Esc (or B) for the shop: SMG, shotgun, machine gun, chaingun, armor, heals. Credits and gear reset on death — spend or lose it.
The whole level is traced per pixel in the fragment shader: sun shadows on High, plus floor reflections and point-light shadows on Ultra. No shadow maps, no screen-space hacks.
Brick, tile, wood and metal are generated in-shader (zero texture files), the sound effects and music loop are synthesized WAVs, and the icon is rendered by a stdlib-only Python script.
Crosshair colors, gun finishes, Low→Ultra graphics presets with an FPS counter to compare them. Everything persists between runs.
They chain. Fight near them at your own risk.
| Input | Action |
|---|---|
| WASD + mouse | move / look |
| Left click | fire (shotgun per-click, the rest full-auto) |
| 1–5 | pistol / SMG / shotgun / machine gun / chaingun |
| Space | jump |
| R | reload |
| Esc | pause menu — Resume / Shop / Customise / Settings |
| B | straight into the shop |
| Preset | What you get |
|---|---|
| LOW | flat shading, 2 lights — runs on anything |
| MEDIUM | procedural textures, 4 lights, 4x MSAA |
| HIGH | full textures, 8 lights, 8x MSAA, ray-traced sun shadows |
| ULTRA | + ray-traced floor reflections and point-light shadows |