Stop Lickin' POP
A Breakout-style arcade game in Elm — inter-scene message routing reverse-engineered from framework source, a tadpole-and-egg enemy system, and randomized layouts for replayability.
5+
CORE SYSTEMS OWNED
Reverse-engineered
FRAMEWORK DOCS
Overview
Stop Lickin' POP is a Breakout-style arcade game built in Elm with the Messenger framework — same toolchain as GhostBust Hotline, completely different genre. Where GhostBust was about atmosphere and AI, this one was about making a 50-year-old genre feel fresh through layout randomization and an enemy system layered on top of the classic brick-breaking loop.
What I built
- Core mechanics: paddle movement, the tadpole & egg enemy system (enemies that hatch and swim down through the playfield), falling power-ups with flip animations, and game-over / re-initialization logic.
- Inter-scene and inter-layer message routing. The Messenger framework's official documentation was sparse, so I reverse-engineered the framework's source code to understand how messages propagate between scenes and layers — then implemented the game's scene transitions on top of what I found.
- Randomized brick layouts and "Did You Know?" facts driven by RNG, designed after analysing what makes arcade games replayable: no two runs present the same wall.
What I learned
Reading framework source code is a skill. When the docs end, the type signatures and the framework's own examples become your documentation — and in a language as explicit as Elm, the source genuinely tells you everything, if you're willing to trace it.
APPENDIX A // MEDIA
IMAGE SLOT — AWAITING UPLOAD
IMAGE SLOT — AWAITING UPLOAD