Agoro Road in het openbaar bouwen

Een werkend logboek van een spel dat niet af is. Wat ik besloot, wat het kostte, en wat er verkeerd uitkwam — inclusief de dingen waarvan ik mijzelf al had wijsgemaakt dat ze goed waren.

Bijgewerkt 7 oktober 2026 Nieuwste eerst In ontwikkeling
De maatstaf die deze pagina zichzelf oplegt

Alles hier was waar op de datum die erboven staat. Conceptbeelden worden als conceptbeelden aangeduid en schermafbeeldingen als schermafbeeldingen, want op dit project is juist het verschil daartussen het hele probleem geweest. Waar een besluit een eerder besluit terugdraaide, blijft het eerdere op de pagina staan.

Agoro Games is één persoon, Daniel Duroshola, die met AI-agenten werkt. Elk door een agent gemaakt onderdeel is hier als zodanig gelabeld, en Daniel is verantwoordelijk voor elk woord.

Waar de weg staat

De korte versie, op één plek bijgehouden en bijgewerkt met het logboek. Elke andere pagina en elk bericht begint bij deze lijst.

Stand 7 oktober 2026Elke plek, met zijn staat
Speel gratis in de browserLiveDe volledige regio Hearthland, co-op via privécode, zonder account.
GamefoundIn voorbereidingDe previewpagina staat online; volg hem nu. Agoro Road en Agoro Camp in één Gamefound Express-campagne, lancering gepland op 16 oktober 2026 om 12:00 uur (CEST), looptijd tot 30 november 2026. Je naam in beide games € 5 · Agoro Road vanaf € 12 · beide games vanaf € 25 · figuurtjes vanaf € 25 · Jij in de game vanaf € 250.
iOS · App StoreIn voorbereidingDe app-identifier is bij Apple geregistreerd. De winkelvermelding en de eerste build worden nu voorbereid; de datum wordt hier aangekondigd zodra de build is ingediend.
Android · Google PlayIn voorbereidingDezelfde build. Er bestaat nog geen Play-vermelding; die volgt op de iOS-vermelding.
De weg in 3D (web en desktop)In voorbereidingAlle elf objecten zijn nu de echte, en de weergave met schemering, nacht en dageraad zit in het spel. Hij blijft standaard uit tot zijn bekende fouten zijn verholpen.
Figuurtjes, hier geprintIn voorbereidingEerste reizigers in september geprint op de eigen printer van de studio, in magenta — de ene kleur die ik vandaag kan beloven; twee andere filamenten worden getest.
RevenueCat Shipaton 2026In voorbereidingAgoro Games bouwt er in het openbaar voor en dit logboek is het knooppunt voor die berichten. Inzendingen sluiten op 30 september.
Tripothon S1IngeschrevenIngeschreven op 14 september. Inzendingen lopen van 15 september tot 5 oktober. Welk spel wordt ingezonden — de weg in 3D of het kamp op ooghoogte — wordt nu beslist.

De browsergame was het eerste prototype. Daaruit kwam een Unreal Engine-versie op een tablet, en op 6 oktober gingen ze allebei de Tripothon in.

De browsergame op road.agoro.games is nog steeds het eerste prototype, en nog steeds gratis te spelen. Op 5 oktober kreeg hij een schakelaar tussen de geschilderde 2D-weergave en de 3D-weergave, en vier nieuwe werelden, geschilderd voor het 2D-bord, kwamen erbij in de reis. Acht werelden lopen nu van First Light tot The Crossroads, in vier moeilijkheidsniveaus.

Wat de browsergame me leerde, ging naar een tweede build in Unreal Engine 5.8, gemaakt van dezelfde Tripo-modellen. Op 4 oktober draaide die voor het eerst op een mobiel apparaat: ik speelde de hele Hearthland-reis op een Galaxy Tab S7+, van begin tot eind, zonder crash. In de dagen daarna kwamen er touchbediening bij, een veeg die een stempel draait naar waar je wijst, de vier moeilijkheidsniveaus, de vier nieuwe werelden, een draai met twee vingers voor de camera, en instellingen voor graphics en resolutie. De geit, die in haar rusthouding over de weg gleed, loopt nu.

Deze build is niet openbaar en niet af, en een deel ervan is gewoon fout. Op de tablet haalt nog geen enkele graphics-instelling 30 beelden per seconde tijdens een golf. De reizigers staan bij de karavaan, maar ze lopen nog niet over de wegen en leiden de dieren nog niet van de weg af; dat is het volgende werk. De hoedster, de vrouw die de dieren naar huis leidt, bestaat sinds 6 oktober als geriggd Tripo-model met een loop en gebaren om te leiden, maar ze zit nog niet in het spel. Beide zijn gepland voor de mobiele appstores, als twee versies van Agoro Road: de appversie van het browserspel en de Unreal-versie als aparte Special Edition.

Op 6 oktober heb ik ze allebei ingeschreven voor Tripothon S1, de hackathon van Tripo voor het bouwen van werelden. Agoro Road ging de Game-track in, met een walkthrough gefilmd op de tablet en in de browser. Een tweede inzending, The World You Can Hold, ging de Physical Design-track in: dezelfde Tripo-modellen, als figuren geprint op de eigen printer van de studio. De Demo Day is op 17 oktober in Barcelona.

Sinds 7 oktober bevat de download voor de jury de Android-build en een Windows-build. De Windows-build is op 6 oktober verpakt en is nog op geen enkele Windows-pc gespeeld; de Android-build is de build die ik heb getest.

De walkthrough van Agoro Road · The World You Can Hold

Een AI-agent schreef deze bijdrage op basis van het projectverslag. Ik sta in voor elk woord.

Wat er veranderde — de weg is nu één spel in twee builds: de gratis browserversie, en een Unreal-versie die op een tablet draait maar nog niet openbaar is. Het is ook de eerste keer dat de weg voor een wedstrijd is ingeschreven.

Agoro Games heeft nu een Steam-account. Er staat nog niets in de winkel, en de eerste wachttijd ligt bij Valve.

Vandaag heb ik het Steamworks-account van de studio aangemaakt en Valves productvergoeding voor de eerste game betaald: € 84,99, inclusief btw. De vergoeding geldt per game: één betaling opent het account en koopt één plek in de winkel. Agoro Road en Agoro Camp gaan allebei naar Steam, dus de tweede game kost een tweede vergoeding. Beide staan ook gepland voor de Epic Games Store.

Ik wilde mijn winkel eerst op Estland zetten, omdat het bedrijf daar ingeschreven staat. Zo werkt Steam niet. Het winkelland is waar de betalende persoon woont, voor mij Portugal, en het land van het bedrijf komt in de papieren daarna. De vergoeding liep dus via de Portugese winkel, en de studio schreef zich in als het Estse bedrijf dat het is.

De papieren zijn klaar en Valve is aan zet. De identiteits- en belastingcontrole kan tot tien werkdagen duren, en zolang die loopt is er geen winkelpagina te bouwen en niets op een verlanglijst te zetten. Daarna volgen twee wachttijden die niemand kan inkorten: minstens 21 dagen tussen de vergoeding en een release, en een openbare ‘binnenkort beschikbaar’-pagina van minstens twee weken vóór de lancering.

Wat deze game tegenhoudt, is niet Valve. Steam vraagt minstens vijf screenshots van echte gameplay, liggend, 1920 bij 1080. Die heeft Agoro Road nog niet. Dat is het volgende werk, en het komt hier te staan zodra het af is.

Wat er veranderde — Steam ging van ‘niets ingediend’ naar ‘account open, controle loopt’. Daarna volgen de winkelpagina, de screenshots en de tweede vergoeding.

De tijdelijke stukken zijn weg en de weg heeft zijn avond. Alle elf objecten zijn nu de echte, en de 3D-weergave zit in het spel met schemering, nacht en dageraad — achter een schakelaar, nog niet standaard.

Op 19 september haalde de weg zestig beelden per seconde in 3D, maar elf van de dingen die erop stonden waren tijdelijk: de boom, de muur, de zakken, de wegwijzer, de struik, de kleine lantaarn, de karavaan en de vier stempels. Deze week heeft een agent alle elf opnieuw gemaakt, dit keer vanaf de conceptkunst, met één goedgekeurd referentiebeeld per object voordat er een model werd gebouwd.

Ik heb de vier stempels bekeken voordat de andere zeven werden gemaakt, en ze slaagden niet allemaal. De eigen controle van de agent vond dat de tuinstempel twee massieve vormen kreeg die het concept nooit had en te weinig kruiden, en dat de veters van de trom breken in de versie die voor een game-engine is gemaakt. Ik koos voor een werkende demo boven een afgewerkte: ze gingen erin zoals ze zijn, en de tuinstempel blijft op de lijst om opnieuw te maken.

Op 23 september is de 3D-weergave in het spel zelf opgenomen. Elke test slaagt, en dezelfde zestig-beelden-controle houdt nog steeds stand met veertig reizigers op de weg. De beelden hieronder zijn het echte spel, dezelfde opgeslagen reis bij de Lantaarnbocht, voor en na de nieuwe objecten — gemaakt voordat de avondlook erin kwam, dus de camera wijst daar nog recht naar beneden.

Later die nacht ging ook de look erin: schemering tijdens het bouwen, nacht tijdens het verdedigen, dageraad als de weg standhoudt, met een gekantelde camera, heuvels en een bosrand. Ik heb hem op mijn eigen machine gespeeld en besloten dat dit de versie is die openbaar wordt. Hij heeft nog fouten die ik zie: de grond en zijn randen herhalen zich, de boomkruinen zijn grof en het ochtendlicht is eenvoudiger dan in het concept. Een ontwerpbeoordeling zei deze week ook duidelijk dat de vier stempels nog steeds alleen in hun getallen verschillen. Wat de eerste uitgave van de weg bevat is mijn beslissing, en die komt hier te staan zodra ze genomen is.

Schermafbeelding van Agoro Road in de 3D-weergave bij de Lantaarnbocht: een kronkelende zandkleurige weg op een groen veld, met de eerdere tijdelijke modellen van een toren, een lantaarnpaal, een trom, een beplant tuinbed, een muur en een bladrijke boom
Voor, met de tijdelijke stukken. Schermafbeelding van het spel, 23 september. Dezelfde opgeslagen reis, dezelfde camera.
Schermafbeelding van Agoro Road in de 3D-weergave bij de Lantaarnbocht na de nieuwe modellen: een houten wachttoren, een hangende lantaarn aan een paal, een tontrom op een bok, een overdekte tuinstempel, een droge stenen muur en een boom met een donkere kruin naast de kronkelende weg
Na, met de nieuwe objecten. Schermafbeelding van het spel, 23 september. De tuinstempel is een van de stukken die nog opnieuw moeten.

Wat er veranderde — Ik ben gestopt de 3D-weergave tegen te houden tot elk object perfect is. Hij zit nu in het spel, standaard uit, met zijn bekende fouten ernaast opgeschreven.

Een week in één kleur. De reizigers bestaan nu als voorwerpen, en ze dragen nog de sporen van hoe ze gemaakt zijn.

Foto's van de studiotafel, 15 tot 20 september. Iedereen is geprint in de ene kleur die op de spoel zit, magenta: de wegloper, Amara twee keer, een ork die nog niet op de weg is, Daniel met zijn staf — en een getrapte toren die helemaal geen personage is, maar het stuk dat de printer vertelt hoe heet hij moet draaien.

Twee van de figuren in de rij dragen nog hun supports; de draden onder de twee Amara's zijn wat een geprinte jurk omhooghoudt terwijl ze gemaakt wordt. De ork hield zijn pilaar en een web van fijne draden. Hij staat op de foto omdat het proces er zo uitziet op een slechte middag, en deze pagina bewaart de slechte middagen.

Van achteren laat de paarse figuur zien wat de supports achterlaten als ze eraf gaan: een ruwe zoom, sporen over de kuiten. Schuren helpt een beetje. Een ander materiaal helpt misschien meer, dus staan er twee extra filamenten op de testlijst. Tot die slagen, is magenta de enige kleur die ik iemand kan beloven.

De reizigers stonden deze week ook ergens anders: in een Fortnite-testeiland, op een tablet. Eenenveertig objecten van de studio gingen een eiland in Epics editor in en de privéversie werd gespeeld op een Galaxy Tab. De drager met zijn bundel en de wegloper in zijn donkere jas staan naast een Fortnite-avatar — de avatar is die van Epic, omdat die van de studio daar niet gespeeld kunnen worden; de licentie staat deze reizigers alleen toe als personages die je tegenkomt. Een test van de pipeline, geen plek waar de studio naartoe verhuist.

En op de eigen Mac van de studio draait nu Unreal Engine 5.8, en een wandelaar in eerste persoon beweegt door het gereconstrueerde kamp, over de grond die de wereldreconstructie hem geeft. Dat is het kamp op ooghoogte dat dit logboek steeds noemt als de broer van de weg. Niets ervan is al een spel; het is een mens die in een foto staat waar je in kunt lopen.

Zes magenta 3D-prints op een rij op een houten bank: een kleine wegloper, twee Amara-figuurtjes nog gewikkeld in supportdraden, een kleine ork, een getrapte temperatuurtoren gemarkeerd 40 tot 120, en Daniel met een staf
De rij, 16 september. Foto. Eén spoel, iedereen erop. De twee Amara's hebben hun supports nog.
Een kleine magenta 3D-geprinte orkfiguur met een hoge supportpilaar erachter en een web van fijne geprinte draden over het lichaam
De ork, dezelfde dag. Foto. Pilaar er nog aan, draden overal. Bewust bewaard.
Een paars 3D-geprint figuurtje van achteren op een houten tafel: getextureerd haar, een jasje, een ruwe zoom en sporen over de kuiten waar supports zijn verwijderd
Wat de supports achterlaten. Foto, 15 september. De zoom en de kuiten na het verwijderen.
Zes seconden bij het raam. Video, 15 september. De printer op zijn bank, de eerste twee reizigers ervoor.
Een tablet op een toetsenbord toont een Fortnite-testeiland: de drager met een grote bundel op zijn rug en de wegloper in een donkere jas staan op een grijs plein naast een Fortnite-avatar, met een wit gebouw en een gestileerde boom achter hen
De drager en de wegloper in een Fortnite-eiland. Foto van de tablet, 20 september. De avatar in het midden is die van Epic.

Wat er veranderde — ik ben gestopt met het beschrijven van een print die nog niet bestaat. De pagina's zeggen nu magenta, omdat dat op tafel ligt; andere kleuren en andere materialen verschijnen hier wanneer hun testprints dat doen.

Epic zegt dat je een pc nodig hebt. Ik draaide hun editor op een MacBook — en liep toen tegen drie muren aan die niets met de Mac te maken hadden.

Unreal Editor for Fortnite werkt alleen op Windows. De documentatie is er onomwonden over: om UEFN te gebruiken heb je een pc nodig. Die heb ik hier niet. Dus ging Windows in een virtuele machine op de laptop, en de editor opende, en Verse compileerde, en de reizigers, de kar, een boom en een wachtpost stonden in een Fortnite-eiland dat ik daarna op een tablet speelde.

Dat deel werkte. De drie dingen die ik daarna leerde zijn het nuttige deel, en geen daarvan gaat over hardware.

Je kunt je eigen personage niet zijn. De speler is in Fortnite een Fortnite-avatar. Het systeem voor realistische mensen is in de editor toegestaan, maar de licentie staat het alleen toe voor personages die je tegenkomt, nooit voor degene die je speelt. Een spel waarvan het hele onderwerp de reiziger is die jij bent, kan die reiziger daar niet in de handen van de speler leggen.

Het spel draait niet waar de editor draait. Fortnite vereist een beveiligingsfunctie die de virtuele machine niet kan leveren, dus het bewerken gebeurt op de Mac en het testspelen op een tablet, via een code. Die lus werkt, en hij is trager dan hij klinkt.

En de gefotografeerde wereld kon er niet in. Ik had het rustkamp opgebouwd uit acht gegenereerde aanzichten — als puntenwolk is het werkelijk goed, de beste blik op deze plek die er is. Omgezet naar het soort oppervlak dat een spelengine wil, is het confetti: ruim een miljoen fragmenten die zich niet laten vereenvoudigen. Er meer dan negenennegentig procent van wegsnijden haalde er een derde weg. Het is een beeld waarin je kunt staan, geen geometrie waarop je kunt bouwen.

Wat er veranderde — ik vraag nu eerst of een platform mijn ding kan huisvesten, voordat ik een dag besteed aan het passend maken van mijn ding voor het platform. Elk van deze drie muren was gepubliceerd, of meetbaar, voordat ik begon. De omweg was niet verspild — ik kwam eruit met een werkend Windows-spoor en een herbruikbare route voor de eigen modellen van de studio — maar de vraag die de muren gevonden zou hebben kost een middag lezen, en ik stelde hem in de verkeerde volgorde.

Het 3D-beeld haalt zestig beelden per seconde. Het is nog steeds niets om naar te kijken.

De tweede renderer is af. Hetzelfde spel eronder, twee manieren om het te tekenen: het oorspronkelijke platte beeld en een realtime 3D-beeld, die één simulatie delen die geen van beide mag aanraken. Beide spelen een identieke opname af tot een identiek resultaat — het bewijs dat het 3D-beeld een beeld is en niet een tweede, subtiel ander spel.

Op de testomgeving tekent het een frame in ongeveer 16,7 milliseconden, en het traagste in een lange reeks nam 16,8. Dat is een vastgezette zestig beelden per seconde, met veertig lopende reizigers en ruwweg zevenhonderdduizend driehoeken in beeld. Zeventien van de zeventien controles slagen.

En het is nog steeds niet uit te brengen, want elf van de objecten die erin staan zijn plaatsvervangers — degene die in het bericht hieronder beschreven staan, gegenereerd uit geschreven beschrijvingen in plaats van uit de conceptbeelden. De renderer is af. Wat de renderer tekent niet.

Wat er veranderde — "de renderer is af" en "het spel ziet er goed uit" bleken onafhankelijk van elkaar, en ik had het eerste stilzwijgend als bewijs voor het tweede behandeld. Een prestatiegetal kan geen artdirection zien. Ik rapporteer ze nu als twee losse toestanden, want een groene build die de verkeerde objecten met zestig beelden per seconde tekent, zijn nog steeds de verkeerde objecten.

En — het assetwerk verhuisde van een mens die door een webgereedschap klikt naar iets dat de build zelf kan uitvoeren. Dat verwijdert een hele klasse fouten die ik maakte: in dat gereedschap sprongen instellingen tussen stappen stilletjes terug — privacy, detailniveau, welke animaties worden geëxporteerd — en drie afzonderlijke sessies raakten er werk door kwijt. De vervanger is niet slimmer, hij kan alleen geen vinkje vergeten.

De voor de hand liggende instelling deed niets. Dus mat ik waar de supports werkelijk raken.

De twee prints van gisteren (hieronder) faalden op één grootheid: materiaal dat achterbleef op het figuur. De slicecontroles hadden beide bestanden goedgekeurd, want geen ervan mat dat. Het eerste wat vanochtend gebouwd werd was dus het ontbrekende instrument: een script dat het afgeronde gereedschapspad leest en meldt hoeveel vierkante millimeter supporttoppen het model raken, op hoeveel plekken, en of er een supportstam uit het figuur zelf groeit.

Dan de instelling waar iedereen naar grijpt. "Supports alleen op het bouwplateau" klinkt als de oplossing voor restmateriaal. Op Daniels bestand veranderde het 191 mm² op 1.083 plekken naar 184 mm² op 1.040 — omdat elk van de zeven stammen al op het plateau stond. Het restmateriaal waren nooit de stammen. Het waren de toppen onder de tas, de handen en de kin, en de takken die onderweg omhoog langs de wanden streken.

Wat het wél verplaatste: dunnere bomen met één wand, een ruimere afstand tot de wanden, een hogere ruimte onder het model en een steilere drempel. Daniel 191 → 127 mm² (met de zolen vlak gesneden zodat er niets onder de voeten zit). Amara 178 → 45 mm², zonder stutten, zonder pennen en zonder blok — de twee krullen die nog in de lucht begonnen kregen een verborgen brug van 1 mm de haarmassa in, twee millimeter lang, die er nooit af hoeft. Twaalf kleine kantelingen van elk figuur werden gesliced en gemeten; elk was slechter dan rechtop staan. Ook laaghoogte bleek een hefboom: bij 0,14 mm in plaats van 0,2 mm zakken de toppen op Amara naar 8,5 mm², voor 27 minuten extra printen — gesliced en gemeten, nog niet geprint.

Het geprinte Amara-figuur van 80 mm van achteren gezien: paars PLA, zes korte pennenstompjes in de nek onder het haar, ruw supportrestant tussen de benen onder de zoom van de jurk
Waarvoor het instrument gebouwd werd. Foto van de eerste Amara-print: de pennen in de nek en het blokrestant onder de zoom.
Het geprinte Daniel-figuur van 97 mm liggend op een houten tafel: paars PLA bedekt met fijne draden, met ruwe plekken op de schoudertas en langs de wandelstaf
Dezelfde dag, Daniel op 97 mm. Foto. Fijne draden over de romp, boomlittekens op de tas en langs de staf.

Wat er veranderde — een print wordt beoordeeld op restmateriaal op het figuur, gemeten vanaf het gereedschapspad, niet op het aandeel support in het bestand. En "vind een manier" betekent een andere aanpak op tafel naast de afgestelde: het plan van vandaag is beide figuren op 120 mm op een grondplaat (gesliced: 5 u 07 en 6 u 17), een supportspoor dat zijn eigen dunne pilaren vanaf het plateau laat groeien met speldenpunt-toppen in plaats van de interfacelagen van de slicer, twee onderzoeksrondes naar hoe andere figuurprinters met supports en laaghoogtes omgaan, en de eerste print van de herwerkte Amara.

Ik printte de eerste twee reizigers op mijn eigen printer. De supports wonnen.

Twee figuren kwamen voor het eerst van de bureauprinter: Amara Sol op 80 mm en Daniel op 97 mm, in het ene paarse filament dat geladen is. Elk droeg een ander antwoord op dezelfde vraag — hoe houd je handen, een pot, een zoom en haarkrullen omhoog terwijl ze printen.

Amara kreeg mijn eigen antwoord: dunne stutten en pennen versmolten met het model, er daarna afgeknipt, plus een massief blok onder de zoom. Daniel kreeg de boomsupports van de slicer. Beide antwoorden waren fout op deze maat. De pennen achter Amara's haar en onder haar oorbellen zijn op 80 mm niet met een tang te bereiken. Het blok onder de zoom liet puin tussen haar benen achter. Daniel kwam van het plateau bedekt met fijne draden, met littekens waar de bomen de tas en de staf hadden vastgehouden.

Rondom de print gingen dezelfde dag de onderdelen live waarmee mensen kunnen meekijken: een browserweergave die het gereedschapspad afspeelt naarmate de printer voortgang meldt, een bericht om de vijf procent naar de communityserver, en een uitleg "de printer wakker maken" voor de stream. Niets daarvan verandert hoe de prints eruitzien; het verandert wie ze kan zien.

Het geprinte Amara-figuur van 80 mm op zijn zij op een houten tafel, paars PLA, met dunne supportstaafjes nog vast van de jurk naar de handen en de pot
Amara op 80 mm, eerste print. Foto. De staafjes van de jurk naar de handen waren mijn eigen ontwerp — en ze laten op deze schaal niet schoon los.

Wat er veranderde — stutten en pennen die in een figuur onder 100 mm versmolten zijn, zijn afgeschaft; wat de print omhooghoudt moet op het plateau staan en het figuur zo min mogelijk raken. En elke controle die zei dat deze bestanden klaar waren, is nu gekoppeld aan één die meet wat de controles hadden gemist.

Ik legde de schermafbeelding van de renderer naast het conceptbeeld. Dat had nog nooit iemand gedaan.

Het 3D-beeld had alles doorstaan wat ervan gevraagd werd. Dezelfde invoer speelt over zeshonderd frames af naar hetzelfde frame, de frametijden zijn prima op een telefoon, de veertien afgeronde meshes staan op de juiste ringen. Dat is allemaal waar en het is allemaal geverifieerd.

Wat niemand had gedaan, was een opname ernaast leggen van het beeld waar het op hoort te lijken. Toen ik dat eindelijk deed, was de afstand niet klein. De grond is één plat groen vlak zonder horizon. De weg is een beige lint. De uitgehouwen stenen ringen — het heldenelement van elk beeld in dit spel — zijn doorschijnende bleke schijven op dertig procent dekking.

Niets daarvan is een bug. Elk daarvan is iets dat nooit gebouwd is en dat slaagde voor een test die niet keek.

Het 3D-beeld van Agoro Road op 13 september 2026: een plat groen grondvlak, een beige weglint, doorschijnende bleke schijven voor de ringen, en de afgeronde meshes langs de weg
De build, 13 september. Een opname uit de echte renderer, bij de vaste camera van het spel.
Het conceptbeeld: Lantern Bend in de schemering, een kronkelende aarden weg door een hooggelegen vallei met uitgehouwen ringen, een wachtpost, een lantaarnpaal en een tuinbed
Het conceptbeeld waaraan het wordt afgemeten. Lantern Bend in de schemering.

Wat er veranderde — het uiterlijk maakt nu deel uit van de acceptatie. Een opname komt naast het conceptbeeld te liggen en wordt beoordeeld zoals een kunstasset beoordeeld wordt. Een testsuite die het uiterlijk niet meeneemt, keurt vrolijk een build goed die er niet goed uitziet.

Elf props kwamen verkeerd uit. Alle elf worden opnieuw gedaan, niet de zes die faalden.

De gebouwen en props werden gegenereerd uit geschreven beschrijvingen. De conceptbeelden bestonden voor de meeste al, in dezelfde map, en werden niet gebruikt.

De trom kwam terug als een zwarte gietijzeren ketel. De lantaarn kwam terug als een Victoriaanse straatlantaarn. De goederenkar kwam terug als een houten kruiwagen. Eén voor één beoordeeld tegen de kaarten die ze moesten evenaren: vier waren het verkeerde object of het verkeerde palet, twee hadden geen kaart om tegen te beoordelen, en vijf waren dicht genoeg om op kaartschaal mee te gaan.

De verleidelijke keuze was de vier opnieuw te doen en de vijf te houden. Daniel besliste andersom.

we hebben een consistente look nodig over de conceptbeelden en props en beelden en trailersDaniel, 13 september 2026

Dus worden alle elf opnieuw gemaakt vanaf de beelden, niet vanaf beschrijvingen van de beelden. De vijf die afzonderlijk aanvaardbaar waren, waren dat niet als onderdeel van een set, want een set is wat er werkelijk gemaakt wordt.

Correctie, 20 september. Twee van de drie voorbeelden hierboven kloppen en één niet. Toen ik de geleverde trom eindelijk renderde en ernaar keek, het ís een trom — een staande trom op een standaard, het juiste object. Wat er wel mis is, is het materiaal: gelakt oranje, waar de kaart huid, touw en verweerd hout toont. De zinsnede "gietijzeren ketel" kwam uit een geschreven notitie die niemand tegen het model had gehouden, en reisde vervolgens door drie van de eigen documenten van de studio alsof het een waarneming was. De fout die zij beschrijft is echt; het voorbeeld was onjuist. De oorspronkelijke zin hierboven blijft staan in plaats van stilletjes bewerkt te worden, want het falen dat zij veroorzaakte — beweren over een beeld zonder het beeld te openen — is precies het falen waar dit bericht over gaat, en ik beging het tijdens het schrijven ervan.

De conceptkaart voor de Echotrom: een grote staande trom met een huidvel en touwspanning op een uitgehouwen houten standaard, twee stokken op de rand
De Echotrom zoals ontworpen. Deze kaart bestond voordat het model gemaakt werd. Het model kwam terug als een gietijzeren ketel.

Wat er veranderde — "afzonderlijk aanvaardbaar" is geen voldoende als de opdracht één artdirection is. En ik inventariseer de conceptbeelden voordat ik iets genereer, want het beeld is een betere briefing dan welke beschrijving van het beeld ook.

Ik hield een vergelijkingstest die mijn eigen aanbeveling omkeerde.

Eerder die week had ik een van de AI-beeldleveranciers aanbevolen die voor referentieplaten gebruikt worden. In die aanbeveling stond een voorbehoud, geschreven door degene die haar deed, en dat voorbehoud was het eerlijke deel: er was nooit iets vergeleken met het alternatief. Er stond dat deze leverancier goed genoeg is op het werk van de studio. Er stond niet dat deze leverancier wint.

Dus dichtte ik het gat: dezelfde opdrachten door twee leveranciers, zeven configuraties, elk drie runs — eenentwintig beelden voor ongeveer zevenenveertig credits, ruwweg wat één verkeerde 3D-asset kost om te maken.

De andere leverancier won, en het platenwerk verhuisde. Ik stond op het punt de aanbeveling tot standaard te maken zonder haar ooit getest te hebben.

Wat er veranderde — een aanbeveling die nooit tegen een alternatief is gemeten, is een voorkeur. Als ik niet kan benoemen wat zij verslagen heeft, is er nog niets besloten.

Drie reizigers die goed uitkwamen, en waarom.

Deze drie volgden een andere route dan de elf. De conceptkaart werd omgezet in een schone staande plaat, en de plaat — niet een beschrijving — werd omgezet in het model. Gerigd, met rust en loop.

Dezelfde persoon overleeft alle drie de stappen. De sjaal, de schoudertas en de hoofddoek zijn er aan het eind nog. De met touw gebonden bundel op de rug van de drager kwam eruit als echte geometrie in plaats van een geschilderde suggestie.

Dat is het hele argument om deze pijplijn vanuit beeld te sturen in plaats van vanuit tekst, en daarom worden de elf opnieuw gedaan.

Conceptkaart voor de wegloper: een reiziger in een mantel met capuchon over een indigo tuniek, met een schoudertas en een wandelstaf
1 · De conceptkaart. Een tekening.
De afgeronde spelasset van de wegloper: hetzelfde personage als gerigd 3D-model
2 · De afgeronde spelasset. Dezelfde man — het grijsdoorschoten haar, de ongeverfde wollen mantel, de indigo tuniek, de schoudertas en de staf zijn allemaal meegekomen. Alleen de houding veranderde.

De metgezel is een vogel, en de animatiebibliotheek bleek er geen te bevatten.

Kofa is de sankofa-vogel. Hij werd gebouwd voor Agoro Camp en hij hoort bij de studio in plaats van bij één spel — dezelfde vogel, dezelfde look, andere vermogens in elk — zodat hem naar deze weg brengen niets kost aan ontwerp. Zijn lus is ophalen, onthullen, verkennen, en verkennen ontgrendelt alleen op grond waarvan je het verleden al hebt opgehaald. De toekomst is niet zichtbaar zolang het verleden niet gekend is. Die regel ís het personage, geen sfeertekst.

Het gouden ei dat hij draagt is daarvan de aflezing: leeg betekent dat het verleden van deze plek nog verloren is. Dat werkt omdat het ei als een werkelijk los object uit de mesh kwam, zodat het spel het echt kan verlichten in plaats van het slechts te suggereren.

De mesh is af — getextureerd, met een rig van zesenvijftig botten. Toen opende ik de animatiebibliotheek waar ik vluchtcycli uit wilde halen en ontdekte dat zij een tweebenige vogel als aviair classificeert, en dat haar aviaire sectie leeg is. Niet dun. Leeg.

Elke animatie die hij krijgt wordt dus met de hand gemaakt. Dat is een reële kostenpost en die staat nu in het plan in plaats van in een verrassing.

Update, 13 september. Toen ik hem wilde poseren, versplinterde hij. De rig miste niet alleen zijn animaties — zijn skelet zat op de verkeerde plek. Ik mat elk bot tegen het vlees dat het werkelijk aanstuurt: de botten zaten er gemiddeld bijna een lichaamslengte vandaan, en het bot van de snavel zat verder van de snavel dan de vogel hoog is. Twee menselijke personages, gerigd door hetzelfde gereedschap, maten vijfentwintig keer beter, en zo wist ik dat het aan de rig lag en niet aan mijn meetlat.

De gewichten — welk vertex welk bot volgt — waren in orde. Die hield ik dus en ik bracht elk bot terug in zijn eigen lichaam, waarbij ik elk gewricht afleidde uit het gebied waar twee botten invloed delen. Daarmee stond hij. De afbeelding hieronder is de eerste die ooit van dit personage heeft bestaan.

Toen de tweede fout: stukken van het gouden ei waren vastgemaakt aan een teen, elk voor een kwart van hun gewicht, aan de andere kant van het lichaam. In rust is dat onzichtbaar, want in rust zijn alle botten het eens. Zodra zijn kop draaide, scheurde het ei in scherven. Beide fouten verscholen zich in de enige houding waar iemand ooit naar kijkt.

Kofa staand: een grote blauw-gouden vogel met adinkra-patroon over hals en lichaam, een lange gebogen hals, en een gouden ei in de snavel
1 · Staand, voor het eerst. Dezelfde mesh die de hele week onbruikbaar was geweest. Er is niets opnieuw gemodelleerd — alleen het skelet is teruggezet waar het hoorde.
Kofa die de sankofa-terugblik uitvoert: de hals boogt omhoog en achterover over de ruggengraat, de kop omgedraaid, het gouden ei meegedragen
2 · De beweging waarvoor hij bestaat. De nek boogt achterover over de ruggengraat, de kop draait om, het ei gaat mee. Ga terug en haal het.

Hij heeft nu drie met de hand gemaakte animaties — een loop, een rust, en de terugblik hierboven. Ze zitten in het personagebestand; hij zit nog niet in de speelbare build.

Wat er veranderde — ik controleer nu of een gereedschap het specifieke ding kan voordat een asset ervan afhangt. "Het heeft een animatiebibliotheek" en "het heeft een animatiebibliotheek hiervoor" zijn verschillende zinnen.

En — de eerste terugblik doorstond elke controle die ik geschreven had en was nog steeds onbruikbaar: de nek knoopte zichzelf vast en de kop eindigde begraven in een vleugel. De controles maten of de snavel zijn doel bereikte en of er iets doorsneed. Geen van beide kon een silhouetzien, en dat is het hele punt van die houding. Ik test nu of de omtrek zichzelf kruist, en elke rand van de mesh tegen zijn oorspronkelijke lengte — en ik kijk naar het beeld. Een controle die niet kan waarnemen hoe iets faalt, zal het als in orde certificeren.

Wat spelers al veranderd hebben

Twee hiervan komen uit de uitgebrachte spellen van de studio in plaats van uit Agoro Road — maar ze veranderden hoe dit spel gebouwd wordt, dus horen ze hier thuis.

De winkel die niets wilde verkopen

“Wieso kann ich die nicht kaufen?”

Een tester in Duitsland stuurde één regel over Agoro Bounce: waarom kan ik deze niet kopen? De winkel toonde binnenkort bij alles.

De winkel was niet stuk. De openbare testlink deelde nog altijd de allereerste build uit — gemaakt voordat de winkel bestond. Elke nieuwere build was alleen naar de besloten groep gegaan. Hij had gelijk, en hij keek naar iets van tien builds oud.

Wat er veranderde

Ik ging er niet langer van uit dat de openbare link serveert wat er het laatst geüpload is. Hij heeft zijn eigen build en moet bewust naar de nieuwe gewezen worden. Ik open nu de link die een tester werkelijk krijgt.

Het naamveld dat de letter S opat

Typ “Sam”. Krijg “am”.

Daniel liep hier tegenaan op de live site van Agoro Bounce. De sneltoetsen van het spel luisterden nog terwijl het naamveld focus had, en s was een sneltoets — dus ging de letter naar het spel in plaats van in het veld.

Ik repareerde het die ochtend. Elf uur later meldde hij dat het nog steeds stuk was, en dat was het. De reparatie zat in de code en niet op de site: een latere publicatie was vertrokken vanaf een oudere kopie van het project en had stilletjes de oude versie teruggezet.

Wat er veranderde

Gerepareerd is niet uitgeleverd. Ik laad de echte pagina en bevestig dat de reparatie zit in wat de server werkelijk serveert, voordat iemand zegt dat het klaar is.

Over dit logboek

Agoro Road is in ontwikkeling en gratis te spelen in de browser terwijl het gemaakt wordt. Dit logboek hoort bij hoe Agoro Games in het openbaar bouwt tijdens Shipaton 2026; de uitgebrachte apps van de studio zijn Agoro Pocket, Agoro Bounce en Lanternlight, en elk heeft zijn eigen vermelding. Niets op deze pagina is een aankondiging van een release.

Bekijk de rest van wat de studio maakt →