Mobiele game
Survivor, een mobiele horde-survivalgame gebouwd met Claude Code
Horde survival is mijn favoriete gamegenre, dus ik bouw de game die ik zelf wil spelen. In ongeveer 50 uur van mijn tijd bouwde ik met Claude Code Survivor, een mobiele bullet-heaven-game waarin de held loopt en de wapens vanzelf schieten. Er zijn 150 hoofdstukken in 7 locaties, 6 helden en 6 wapens, alles in code getekend in één pixelstijl, en de game heeft de hele weg van idee tot gesloten bèta afgelegd: 28 testers op Google Play en 7 op TestFlight.
≈50 u van mijn tijd van idee tot gesloten bèta
150 hoofdstukken in 7 locaties
28 + 7 bètatesters op Google Play en TestFlight
0 game-engines, textuurafbeeldingen of verzamelde gegevens
De opdracht
Horde survival, ook bullet heaven genoemd, is mijn favoriete gamestijl: de held loopt, de wapens schieten vanzelf en vijanden komen in golven. Ik wilde een game in dit genre met diepe, brede logica, een game die ik zelf zou willen spelen. Het doel is de eerste game van mijn gamestudio, een mobiele game voor de App Store en Google Play.
Hoe ik hem bouw
- Geen engine, geen libraries: pure HTML5 Canvas en JavaScript, ongeveer 9.700 regels. Capacitor verpakt dezelfde code voor iOS en Android.
- Eerst het ontwerpdocument: elk systeem (campagne, helden, wapens, economie, winkel) wordt eerst op papier beslist in een ontwerpdocument, pas daarna verandert de code.
- Idee → prototype in een avond → test op de telefoon: ideeën van mij en mijn vriend Danil worden met Claude Code mechanieken en worden dezelfde avond op mijn iPhone getest.
- Drie talen: Engels, Oekraïens en Russisch, te kiezen in de instellingen.
Ontwerpbeslissingen
- Eén pixelstijl voor alles: geen textuurafbeeldingen. Elk monster, elke baas, elke drop, elk effect en de schuilplaats is een pixelsprite, opgeslagen als rijen tekens in de code: 21 gewone monsters en 23 bazen, elk met een eigen silhouet en licht van linksboven. De held blijft het figuurtje van 8×10 van het app-icoon.
- Informatie vóór het gevecht: de baas komt pas als je genoeg vijanden hebt verslagen, dus wegrennen helpt niet. De hoofdstukkaart toont vooraf de kenmerken (pantser, roedels, vijanden op afstand, plassen), dus er staan geen banners over de actie.
- Tegenmechanieken: bijlen hakken dode boomreuzen drie keer harder; andere wapens krassen de schors nauwelijks. Elke soort plas heeft een eigen huisdier dat ertegen beschermt: de bever tegen moeras, de fennek tegen zand, de geit tegen doornranken, de pinguïn tegen lava.
- Speciale monsters: een dik monster dat een boost voor het gevecht laat vallen, een magneetmonster dat wegrent en na 25 seconden verdwijnt, een zwerm van 20 vogels en een snelle sluipmoordenaar die met één klap sterft.
- Evolutie van de held in 10 stappen, met de voortgang direct op de heldentegel, zoals de puzzelstukjes op wapens.
Van idee tot gesloten bèta
De game is niet alleen code. Ik heb hem de hele weg gebracht tot een bètatest in beide stores:
- Storepagina’s: de game in App Store Connect en Google Play Console, met beschrijvingen in het Engels, Oekraïens en Russisch, zoekwoorden voor de App Store, en telefoonscreenshots met bijschriften en een feature graphic van 1024×500 voor Google Play.
- Accounts en formulieren: ontwikkelaarsaccounts bij Apple en Google, het privacybeleid, het formulier Data safety (de game verzamelt niets), de vragenlijst voor de leeftijdsclassificatie (PEGI 7, ESRB E10+) en de bètacontrole van TestFlight voor externe testers.
- Builds: een uploadsleutel en ondertekende release-builds; 6 testbuilds op iPhone tussen 29 oktober en 2 november 2026.
- Afstemming op Android: de systeemknop Terug pauzeert de game in plaats van hem te sluiten, trillen werkt, en de Android-build wordt automatisch gecontroleerd zodat er geen bestanden die alleen voor iPhone zijn in terechtkomen.
- Testers: Google Play vraagt van een nieuw persoonlijk ontwikkelaarsaccount een gesloten test met minstens 12 testers, 14 dagen op rij, vóór de release. Ik vond er 28 onder vrienden en in de community r/AndroidClosedTesting, waar ontwikkelaars elkaars apps testen, plus 7 op TestFlight. Hun feedback gaat naar de volgende build: dankzij een melding van een tester werkt het tabblad Story in het dagboek van de held nu goed.
Resultaat
Een speelbare mobiele game in ongeveer 50 uur van mijn tijd: 150 hoofdstukken in 7 locaties met de moeilijkheden Easy, Hard en Heroic, 6 helden, 6 wapens met kleurniveaus, speciale monsters, beschermdieren, een schuilplaats met wekelijkse opdrachten en een eindeloze modus. Hij draait in de browser en als app voor iPhone en Android, nu in een gesloten bèta met 28 testers op Google Play en 7 op TestFlight, zonder accounts en zonder gegevensverzameling.
Wat er nu komt
De release in de App Store en Google Play na de gesloten test, de rest van het verhaal van de jongste prins op weg naar huis door alle zeven locaties, geluid, en balans afgesteld door een bot die de campagne doorspeelt. Doe mee aan de test op de gamepagina.
Tools
Veelgestelde vragen
Hoe lang duurde het om te bouwen?
Ongeveer 50 uur van mijn tijd, van de eerste commit op 26 oktober 2026 tot de gesloten bèta. Ongeveer de helft is werk met Claude Code (geteld uit de sessielogs): het prototype, een volledige herziening van het ontwerp, meta-progressie, de interface, drie talen, de pixelart en builds voor beide platforms. De andere helft ging naar de storepagina's, formulieren, testers en tests op de telefoon.
Waarom een game zonder game-engine?
Pure HTML5 Canvas en JavaScript laden in elke browser, en een wijziging is na een herlaadbeurt op de telefoon te zien, zonder buildstap. Capacitor verpakt dezelfde code als iOS- en Android-app. Als de game ooit zwaardere graphics nodig heeft, is een overstap naar Godot het reserveplan.
Wie neemt de beslissingen als je met Claude Code bouwt?
Ik. Ik schrijf het gamedesign en de beslissingen per systeem in een ontwerpdocument, Claude Code schrijft de code onder mijn regie, en ik test elke wijziging op mijn iPhone. Een overdrachtsbestand legt de huidige stand vast, zodat de volgende sessie begint bij feiten, niet bij het geheugen.
Hoe komt een nieuw idee in de game?
Ideeën van mij en mijn vriend Danil gaan in een ideeënbestand. Wat past, wordt dezelfde avond een mechaniek en wordt op de telefoon getest. De zwerm van 20 vogels, de houthakker-held en de beschermdieren tegen plassen zijn zo ontstaan.
Werkte een ontwerpbeslissing niet meteen?
Ja. De eerste versie toonde midden in het gevecht banners voor golven, roedels, elitemonsters en bazen. Op de telefoon bedekten ze de actie, dus ik heb ze weggehaald en alles wat een speler nodig heeft naar de hoofdstukkaart vóór het gevecht verplaatst.
Verzamelt de game gegevens?
Nee. Er zijn geen accounts, geen analytics en geen SDK's van derden. Voortgang en instellingen staan alleen op het apparaat en worden verwijderd met de game of met de knop Voortgang wissen.
Wat was er nodig om van code naar een bètatest te komen?
Ontwikkelaarsaccounts bij Apple en Google, storepagina's in drie talen, het privacybeleid, de formulieren Data safety en leeftijdsclassificatie, ondertekende builds voor beide platforms en testers. Google Play vraagt minstens 12 testers, 14 dagen op rij, vóór de release; de game heeft er daar 28 en 7 op TestFlight.
Wanneer kan ik hem spelen?
Nu al, in een gesloten test via TestFlight op iPhone en Google Play op Android. Op de gamepagina staat hoe je meedoet aan de test en feedback stuurt.
Heb je een idee voor een game of een interactief prototype dat je snel werkend wilt zien? Neem contact op.