Ontwerp
Techniek
Systemen
Beweging
Roy Heilbron
portfolio · bezig00
ROY HEILBRON
Werk

Wayfarer's Gate

Een action-RPG in één week, gebouwd om te zien wat AI niet kan.

Jaar
2026
Rol
Ontwerp, bouw en balans. Alleen.
Status
live
Stack
Phaser 3, TypeScript, Vite, Colyseus, Postgres, Playwright
Wat het is

Een 2D action-RPG die in de browser draait. Je begint in een stadje, traint, vecht buiten de poorten, verzamelt loot en ontgrendelt langzaam dungeons en arena's. Vier klassen, zesentwintig skills, tien bossen en een aparte server voor samen spelen.

Het probleem

De vraag was niet of er een spel uit zou komen. De vraag was waar de grens ligt: wat kun je in een week met agentische AI bouwen, en welk deel van het werk weigert zich te laten uitbesteden. Een spel is daar een goede testcase voor, want het is pas af als het goed voelt, en gevoel staat in geen enkele specificatie.

Zelf spelen

Werkt op een breed scherm. Toetsenbord of muis.Openen in een nieuw tabblad

Hoe het is gebouwd

De documenten waren de bron, niet de code

Achtentwintig ontwerpdocumenten stuurden de bouw, inclusief een expliciete psychologische laag: hoe de speler wordt vastgehouden, wat hij per fase mag weten, en waarom een beloning ook een volgende vraag moet openen. De agents lazen die documenten en schreven de code.

Eén plek waar een klap wordt afgehandeld

Het gevechtssysteem is de enige autoriteit voor treffers, projectielen en zones. Aanvallen zijn datatabellen, geen losse code per skill. Daardoor kon één correctie in de schadeberekening in alle klassen tegelijk landen.

Balanceren met gesimuleerde spelers

Vijf simulatie-agents speelden vier klassen door en beoordeelden progressie, keuzedichtheid en buildidentiteit. Die audit vond dat het upgradesysteem elf opeenvolgende aankopen was zonder één echte keuze.

Met de hand afgesteld waar het telt

Alle bossen zijn opnieuw ingesteld op een ritme van korte prikken, zware inzetten en fasebreuken, met langere en beter leesbare aankondigingen. Die getallen zijn met de hand gezet, na spelen.

Stonepath Town met de speler-HUD, de questregel en twee handelaren in beeld
Stonepath, het startpunt. Health, mana, skills en de actieve quest staan permanent in beeld.
Keuzes en wat ze kostten
  1. 01

    Timing en gevoel gaan niet naar de machine

    Aanleiding

    Een taalmodel weet dat de ene duur langer is dan de andere. Het weet niet hoe een seconde voelt. Gevraagd om een boss-aanval met 400 milliseconden aankondiging en 900 milliseconden herstel komen er plausibele getallen terug die negen van de tien keer verkeerd zijn.

    Keuze

    Elke aankondiging, elk herstel en elk strafvenster is met de hand gezet na spelen. De rest van de sprint bleef wel uitbesteed.

    Wat het kostte

    Het duurste deel van de week ging naar het deel dat niemand op een screenshot ziet. Ook bij de beste modellen die er nu zijn.

  2. 02

    Perfecte balans ging eruit

    Aanleiding

    Een balansscript liep het hele spel droog door en leverde een nette, voorspelbare curve op. Daarmee was elke keuze even goed, en dus geen keuze meer.

    Keuze

    Bewuste asymmetrie ging erin. Sommige items zijn met opzet zwak, andere duidelijk sterk, en er staan krachtpieken op vaste plekken die aanvoelen als een ontdekking terwijl ze volledig van tevoren vastliggen.

    Wat het kostte

    Het spel is niet meer eerlijk in de wiskundige zin. Een speler die de verkeerde tak kiest, merkt dat.

  3. 03

    Een tutorial werkt pas als je iets wilt kunnen

    Aanleiding

    De uitleg kwam na de mechanieken. Toen die er eenmaal was, werkte hij nog steeds niet: uitleggen hoe iets werkt is niet hetzelfde als iemand het laten willen.

    Keuze

    De uitleg verhuisde naar het moment waarop je vastloopt zonder de techniek. Dan is het geen huiswerk meer maar een antwoord.

    Wat het kostte

    De eerste minuten moesten opnieuw, en het onboardingontwerp kwam later dan het had gemoeten.

Wat er nu staat
  • Speelbaar in de browser, met een aparte realtime server voor samen spelen.
  • Vier klassen, zesentwintig skills met eigen ontgrendelniveaus, en tien bossen met een eigen projectielidentiteit.
  • Aanraakbesturing met twee sticks, gyroscoopbesturing en een landschapsmodus voor telefoons.
  • Opslag met versiebeheer, foutmonitoring en end-to-end tests.
Wat ik nu anders zou doen

De beveiliging tegen opslag uit twee tabbladen is er weer uitgehaald. Die sloeg alarm tijdens gewoon spelen in één tabblad, en de melding kwam daarna bij elke schermwissel terug. De schade van een vals alarm was groter dan de bescherming waard was. Terughalen zou moeten via één gedeelde leesroute, niet via een tweede administratie ernaast.