Ink Runner is a browser-based platformer built with Phaser 3.
The game uses a hand-drawn notebook-paper style and includes 7 levels, enemy encounters, a boss arena, and late-game darkness/cave levels.
No build step is required.
- Open
ink-runner/index.htmlin a browser, or serve the folder with a simple static server. - If you are on a production hostname configured in
PASSWORD_PROTECTED_HOSTS(ink-runner/index.html), enter the gate password when prompted:thaneiscool. - Play.
Example local server:
cd ink-runner
python3 -m http.server 8000Then open http://localhost:8000.
- Move:
Arrow KeysorWASD - Jump:
SpaceorW/ArrowUp - Dash:
Shift(hold to keep dashing) - Punch/Attack:
F - Fireworks:
P - Toggle darkness effect:
K
- Skip to Level 2:
Z - Skip to Level 3:
X - Skip to Level 4:
C - Skip to Level 5:
V - Skip to Level 6:
B - Skip to Level 7:
N - Skip back one level:
M
ink-runner/index.html: Entry point, password gate, Phaser CDN includeink-runner/main.js: Game logic, level construction, combat, boss encounterink-runner/style.css: Global styling and gate UIink-runner/img/: Paper background assets
- The project currently loads Phaser from CDN (
jsdelivr). - Most graphics are generated in code at runtime via Phaser graphics APIs.
- Password gating is host-based: only hostnames listed in
PASSWORD_PROTECTED_HOSTSrequire a password (good for Netlify production-only protection). - Local and preview bypasses are automatic (
localhost,127.0.0.1,file://, and Netlify preview URLs likedeploy-preview-*--*.netlify.app). - You can force bypass with
?nogate=1(for example,http://localhost:8000/?nogate=1). - In Level 7, activating
Lightrootspermanently lights nearby cave areas. - Background music is level-based and loops:
- Levels 1-4:
ink-runner/audio/Drift Away (Instrumental).mp4 - Level 5+ (boss + cave):
ink-runner/audio/Demons in the Machines.mp4
- Levels 1-4: