
Phase Runner
A downloadable game for Windows and macOS
PHASE
RUNNER
A 2D SIDE-SCROLLING SHOOTER · BUILT IN GODOT 4
Run. Shoot. Dash through bullets.
Pick up guns off the ground and survive.
▶ ABOUT THE GAME
Phase Runner is a 2D side-scrolling shooter where you fight through procedurally-assembled chunks of post-apocalyptic terrain against gun-toting human enemies and alien threats.
You have 3 hit points and one core skill: the DASH. Time it right and you phase through incoming fire completely invincible. Pick up weapons from fallen enemies, manage your ammo, and keep moving — the next chunk is always harder.
Everything was built from scratch — custom physics, hand-animated sprites, a full gun system with per-weapon reload animations, procedural map generation, and a complete pause menu. No shortcuts.
▶ FEATURES
► Invincibility dash with blur trail, cooldown shader, and camera shake
► 10+ guns to pick up — Carbine, Pistol, Shotgun, Revolver, Thompson, Mosin, K98, MP40, MG42 and more
► Per-weapon animations — each gun has unique fire, reload, and empty-clip sprite sequences
► Enemy AI — patrol, detect, panic, shoot with accuracy spread and fire rate jitter
► Procedural chunks — randomised tile map sections keep each run different
► Mouse-aim combat — angle your gun freely, crosshair flashes on fire, guns drop on death
► Blood particles, hit flash, and screen shake — every hit lands with weight
► ByteBeat / Floatbeat soundtrack — original lo-fi audio loops
► 1-bit pixel art throughout — characters, tiles, UI, and HUD all on a strict palette
▶ CONTROLS
| A D | Move left / right |
| SPACE | Jump — hold for higher jump |
| SHIFT + dir | DASH — invincible during dash, 0.5s cooldown |
| MOUSE | Aim — gun tracks cursor at all times |
| LMB | Fire |
| R | Reload |
| G | Drop current weapon |
| ESC | Pause menu |
▶ BEHIND THE CODE
The dash uses a custom shader on the player sprite to show a cooldown ring fill in real-time. During the dash window the player is flagged invincible at the physics layer — no hitbox faking. A blur ghost scene is spawned every frame via a timer for the afterimage trail.
Every gun is its own scene with a shared base script. Fire rate, clip size, bullet speed, and reload time are all exported variables. The UI sprite plays named animation tracks (e.g. “carbine_fire”, “carbine_reload”) hand-timed to match the actual fire delay.
The world is built from a pool of hand-crafted tile map chunks. When the player reaches the right edge of a chunk, a signal fires and a new random chunk loads and appends seamlessly. No visible seams, no loading screens.
Enemies patrol until they detect the player, then enter a shooting state with per-enemy fire rate, clip size, and miss spread calculated as pixels of error per pixel of distance. They reload, panic, and throw grenades depending on their weapon type.
▶ ROADMAP
► Score system + leaderboard
► More enemy types — grenade throwers, shield enemies
► Boss encounter at chunk milestone
► Web export (HTML5 build being optimised)
► Melee option + more gun variety
DESIGNED & PROGRAMMED BY JAKE BARTON
SAMFORD UNIVERSITY · GAME DESIGN & 3D ANIMATION · CLASS OF 2027
ASSETS USED UNDER LICENSE
1-BIT UI PACK — BATUHAN K · HEALZONE PIXEL FONT — THUG-INC
APOCALYPSE TILESET · NO-FI SOUNDS — BYTEBEAT/FLOATBEAT · 1-BIT BOTS
BUILT WITH GODOT 4 · GDSCRIPT · ASEPRITE
JAKEBARTON.DEV · GITHUB
| Status | Released |
| Platforms | Windows, macOS |
| Author | ClerverCarpet99 |
| Genre | Platformer, Shooter |
| Tags | 2D, Pixel Art |
| Content | No generative AI was used |

Leave a comment
Log in with itch.io to leave a comment.