gameApr 2026 — May 2026Solo developer
Iron Fury
An Android action shooter written in Kotlin directly on the Canvas API — custom game loop, collision, and effects with zero engine dependencies.
KotlinAndroid CanvasCustom game loop
Overview
Iron Fury is an action shooter for Android and the project where I built my first complete game loop from scratch: Kotlin, the raw Canvas API, and nothing else. It established the engine-free architecture that later powered Sky Legends.
Technical highlights
- Hand-rolled game loop — fixed-timestep update with render
interpolation, running on a dedicated thread against a
SurfaceView. - Canvas rendering discipline — careful
Paintreuse and draw-order batching to stay inside the frame budget on low-end devices. - Zero dependencies — no engine, no framework; the APK is essentially the game code and its assets.
Lessons that carried forward
Iron Fury surfaced the classic shared-Paint-state bug — one system
mutating a Paint object leaking visual state into another's draw pass —
which shaped how all my later Canvas games isolate rendering state.
What I'd do differently
Full case study in progress — being expanded with architecture notes and gameplay captures.