Back to the work
ArrowSpark
Project

ArrowSpark

An ad-free arrow puzzle game I built in a week in an engine I'd never used, by treating it like any other system: bounded specs, real tests and decisions written down.

ArrowSpark preview
ArrowSparkarrow puzzle gameGodotspec-driven developmentAI-assisted developmentpuzzle generation

The story

An ad-free arrow puzzle game, built in a week in a game engine I'd never used.

Problem
The arrow puzzle games I enjoy stop every thirty seconds for an advertisement. I wanted the puzzle without the interruptions, and I'm not a game developer.
Decision
Treat a game like any other system: break each capability into a bounded spec, test it, and write down why each decision was made. One design rule sits above the rest: hard is fine, unsolvable is not.
Implementation
AI helped me find my way around Godot, and I supplied the judgment about what to build and why. Every generated puzzle is checked to make sure it can be solved, and the specs, tests and decisions are public.
Outcome
It's live, with no ads, no lives and no waiting. A difficulty analyzer passed every test, but playing the puzzles showed they weren't much fun, so I reworked generation around what the tests had missed.
Read the full story

Overview

An ad-free arrow puzzle game I built in a week in an engine I'd never used, by treating it like any other system: bounded specs, real tests and decisions written down.

Details

An ad-free arrow puzzle game with no lives and no waiting. Every puzzle is checked so it can be hard but never unsolvable.

Articles that explain the architecture decisions, implementation patterns, or delivery trade-offs behind this project.