Projects
DustDrift
Hero defense game with turn-based tactical combat: waves of enemies on an arena, weapons crafted between waves, for iPhone, iPad, and Mac.
25 September 2025
GameiOSmacOS
DustDrift — 2D hero defense game with turn-based tactical combat. Waves of enemies attack an arena and the player defends it: move, aim and shoot on your turn, then the enemies take theirs. A timer runs between waves, so there is time to craft better weapons and extra gear. Every round brings stronger enemies, and after a set of rounds the game moves on to a new map. Pre-order live on the App Store for iPhone, iPad, and Mac, arriving December 10, 2026.
Technical info:
- Written in Swift, SpriteKit — no SwiftUI, no
.sksscene files (~330 source files across the shared game code, iOS, and Mac targets) - Single shared codebase for iPhone/iPad and native Mac targets — a thin
GameSceneorchestrator delegates to per-scene subsystems (WorldStreamer,InputDispatcher,PortalCoordinator,PhysicsContactRouter) and manager classes (camera, UI, lighting, hints) - Arena mode — round-based waves driven by a JSON config (
ArenaRounds.json) across three JSON-authored arena maps, with a timer between waves and a new map after each set of rounds - Turn-based combat on a grid — four
HeldItem/CombatToolweapons (blaster, heavy rifle, gravity gun, cutter), shield and overwatch, hit and crit rolls drawn from marble bags, and enemy AI (RoboSpider, Sentinel) - Crafting, inventory, and equipment systems with a 3D-printer progression loop, plus destructible/mineable rock and ice formations
- Procedural, asset-free audio — an AVAudioEngine PCM synth engine with per-biome music moods and a named melody pool, no bundled audio files
- Procedural rock/terrain texture generation and shader-based ambient overlays (
ShaderLib) - Touch controls via
GCVirtualController, plus keyboard and game controller support - Framework-agnostic core (
Sources/Core) shared between the Xcode app and an experimental SwiftPM + Raylib port that runs natively on Linux - Swift Testing framework for unit tests, plus an RPC-driven regression suite exercising crafting/inventory/combat end-to-end; Xcode Cloud CI

1 / 6