Skip to content
mdr
All work
archived2016·personal

Heli Escape

HTML5 helicopter side-scroller built in Phaser. Featured on LinkedIn from 2016.

Screenshot of Heli Escape

TL;DR

  • Single-input gameplay loop with a clean fail state.
  • Three-state machine, no framework overhead above Phaser.
  • Mobile + desktop input handled by one Phaser pointer abstraction.
  • Asset budget tight enough to load on a single round-trip.
  • First self-published interactive piece — set the bar for everything after.

In motion

Real gameplay capture. One button, gravity vs. lift, obstacle pattern ramping over time. Older code, but the loop still reads.

Problem

A side-scroller is the cleanest possible game-loop test: one input, one obstacle pattern, instant fail. The interesting part isn't the gameplay — it's whether the engine, the asset pipeline and the publishing path actually hold together end-to-end. In 2016, on Phaser 2, that was less obvious than it sounds.

Approach

Single-screen Phaser scene, gravity-bound helicopter sprite, scrolling obstacle pattern that ramps difficulty on a timer. State machine with three states: title → playing → game-over. No frameworks above Phaser. Asset budget kept tiny so the whole game loads on a single HTTP round-trip. Published to a static host and posted on LinkedIn — the first piece of self-published interactive work that wasn't a school assignment.

Outcome

Featured on LinkedIn from 2016 and still the cleanest reference point I have for 'what's the smallest version of a real game'. The pipeline learnings — Phaser scene boundaries, asset preload, mobile touch input — fed directly into every Phaser project that followed (Neon Phaser, Aether Drift).

Related

More in games.