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.

GODOT 4 GDSCRIPT 1-BIT ART SOLO DEV WIN · MAC · LINUX
10+ WEAPONS
3 HP ONE LIFE
CHUNKS

▶ 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

DASH SYSTEM

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.

GUN SYSTEM

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.

PROCEDURAL MAP

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.

ENEMY AI

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

Download

Download
PhaseRunner.dmg 87 MB
Download
PhaseRunner.exe 80 MB

Leave a comment

Log in with itch.io to leave a comment.