IanCSS
← Werk

Relic Sweeper: hoe ver komt een gedisciplineerde agent-workflow?

Een logische puzzelgame voor Android en iOS, gebouwd met Claude Code als belangrijkste paar handen. Acht gebieden, een museum om te vullen, een gedeeld dagelijks bord en een eigen kleine backend.

Engine
Godot 4.7, GDScript
Platformen
Android, iOS
Talen
Engels, Nederlands
Backend
Cloudflare Worker, D1 (EU)
bewezen oplosbare levels
96
gespecificeerde taken afgerond
84
automatische tests
2.124
commits in de repository
242
De game

Een logische puzzel in de stijl van Minesweeper, met een archeologisch thema. Je maakt opgravingen tegel voor tegel vrij, en onder veilige tegels kunnen fragmenten liggen die stukken in je eigen museum compleet maken. Winnen of verliezen: wat je vindt, mag je houden.

De interessante stukken

Geen gokken, bewezen door een oplosser

Elk expeditiebord is gecontroleerd door een oplosser die alleen logica gebruikt. De seed wordt vooraf gezocht en opgeslagen. Een golden test over 66 borden beschermt de oplosser tegen elke gedragsverandering, ook als hij sneller wordt gemaakt.

Een kern zonder verborgen invoer

De spelregels lezen nooit zelf de klok of de randomgenerator. Ze krijgen de tijd en een seed mee als parameter, dus elke regel is exact te testen en het gedeelde dagelijkse bord is op elke telefoon gelijk.

Leveranciers achter interfaces

Advertenties, aankopen, notificaties en game services zitten elk achter één interface, met een mock voor tests en een adapter voor de echte SDK. De game bouwt en draait zonder ook maar één daarvan.

Analytics die ik kan verantwoorden

Staat uit tenzij de speler ervoor kiest. Events gaan naar mijn eigen Cloudflare Worker en worden in de EU opgeslagen zonder IP-adressen. De testsuite faalt als er een event wordt verstuurd dat niet in de documentatie staat.

Hoe het is gebouwd

Elk onderdeel begon als een geschreven taak met acceptatiecriteria. Een agent bouwde het test-first en mocht het pas af noemen als de volledige testsuite slaagde. Een aparte review-agent controleerde elke mijlpaal. Alles wat een test niet kan beoordelen, zoals of het goed voelt, bleef bij mij.

Het hele verhaal en de lessen

Privacybeleid