Hallo,
De ontwikkeling van het spel gaat verder en ik wil jullie graag op de hoogte houden van de vooruitgang. Deze maand zijn er weinig grote nieuwigheden, maar er zijn toch enkele interessante ontwikkelingen om te delen.
Denken in “mobiel” in plaats van “pc”
In maart kreeg ik de kans om het spel door een vriend te laten testen (bedankt Gabriel) — en dat was echt een openbaring.
Zoals jullie weten, is mijn doel om een mobiel spel te maken. Toch dacht ik tot nu toe nog te veel als voor een pc.
In de eerste versie was het spel opgebouwd rond twee hoofdschermen: een strategiescherm en een scenarioscherm. Het resultaat was dat alles op een klein smartphonescherm te druk werd. De elementen waren te klein, de interface zat overvol en het wisselen tussen menu’s maakte het geheel moeilijk leesbaar.

Nieuwe schermstructuur
Zo moest ik bijvoorbeeld afzien van het tonen van soldaten op de mini-kaart: op mobiel werd het gewoon een onleesbare brij van pixels.
Ik moest dus van aanpak veranderen en “mobiel” gaan denken: niet langer alle informatie op één scherm concentreren, maar ze over verschillende schermen verdelen.
Die nieuwe indeling geeft me uiteindelijk meer vrijheid. Ik kan nu bijvoorbeeld aanbieden:
- een duidelijkere kaart met de soldaten,
- grafieken die tonen hoe het aantal bezette steden per kamp evolueert,
- of grotere propagandaposters, voorzien van historische context.

Deze afbeelding toont de kaart met steden en soldaten. Je ziet dat de “mini”-versie links een echte pixelbrij wordt wanneer je de soldaten probeert te herkennen, voorgesteld door kruisen. Wanneer de kaart groter wordt weergegeven, is ze daarentegen veel leesbaarder. Dat is de meerwaarde van werken met meerdere schermen.
⚖️ Scenario’s en onderbrekingen herdenken
Het tweede punt gaat over de scenario’s. Ik had hierover een gesprek met een andere tester (bedankt Laura).
In de huidige versie wordt de speler al snel onderbroken door meldingen die vragen om politieke keuzes te maken. Inhoudelijk is dat logisch: die keuzes beïnvloeden de strategie, de vijanden en de middelen.
Maar in de praktijk breekt het het ritme.
Het wordt moeilijk om geconcentreerd te blijven op de strategie wanneer je voortdurend wordt onderbroken door politieke beslissingen.
Daarom heb ik dit systeem herwerkt.
Voortaan:
- Politieke keuzes worden aangekondigd, maar blijven optioneel.
- Ze zijn beperkt in de tijd: elke keuze is slechts één minuut beschikbaar, terwijl het spel vroeger pauzeerde als de speler het debat nog niet had beslecht.
Elke beslissing blijft gekoppeld aan een precieze historische context. Zo verschijnt de kwestie van de onafhankelijkheid van Finland in november 1917, overeenkomstig de historische werkelijkheid.
Het idee is eenvoudig: tijdens een eerste speelronde zal de speler waarschijnlijk maar aan weinig debatten deelnemen. Maar naarmate hij vaker speelt, ontdekt hij geleidelijk de mogelijke keuzes en hun gevolgen.
🤖 Herwerking van de vijandelijke AI
Voor april richt ik me op een ander onderwerp: de kunstmatige intelligentie van de vijanden.
🔧 Huidige werking
Om de evolutie te begrijpen, moet ik eerst uitleggen hoe mijn AI momenteel is opgebouwd.
Tijdens het spel krijgt elk vijandelijk kamp een houding die door het scenario wordt bepaald.
- Inactief: reageert alleen wanneer het wordt aangevallen
- Beperkt: handelt alleen binnen een bepaald gebied, bijvoorbeeld onafhankelijkheidsbewegingen zoals de Oekraïense of Finse
- Actief: opereert over de hele kaart, bijvoorbeeld de Witte Russen of buitenlandse troepen
Daarna gebruik ik een beslisboom, gecombineerd met willekeurige variabelen.
Op regelmatige tijdstippen analyseert elk kamp:
- zijn troepen en steden,
- geallieerde troepen in de buurt,
- nabije vijanden.
Op basis van die elementen heeft het meer of minder kans om een vijandelijke stad aan te vallen, troepen te produceren of een vijandelijke eenheid aan te vallen, telkens met een zekere mate van toeval.
Als er bijvoorbeeld geallieerde troepen in de buurt zijn, is er 80% kans dat een vijandelijke stad wordt aangevallen. In het omgekeerde geval is er 80% kans dat een vijandelijke eenheid wordt aangevallen.
Dit systeem werkt… maar het is ondertussen een echte “spaghettischotel” geworden om te onderhouden.
Ik heb vooral twee belangrijke bugs:
- de Japanners vallen West-Rusland aan in plaats van rond Vladivostok te blijven
- de Witte troepen blijven soms volledig stilstaan
🔄 Naar een GOAP-achtige AI
Om het systeem eenvoudiger te maken, onderzoek ik nu een nieuwe aanpak: het GOAP-model als vervanging voor het beslisboommodel.
GOAP staat voor Goal-Oriented Action Planning, oftewel doelgerichte actieplanning.
Het principe is als volgt: we geven de AI een doel dat verandert afhankelijk van de omgeving. Veel vijanden in de buurt leiden bijvoorbeeld tot een defensieve houding, terwijl weinig vijanden een offensieve aanpak bevorderen.
Daarna definiëren we acties.
Die acties moeten in verschillende ketens bruikbaar zijn. Stel dat we de acties “troepen creëren”, “troepen in de aanval sturen” en “verkennen” hebben, dan kunnen we bijvoorbeeld plannen krijgen als:
- een eenheid creëren → verkennen
- troepen creëren → troepen creëren → troepen creëren → de troepen in de aanval sturen
Ten slotte is er het plan zelf.
Het idee is dat de AI zelf haar eigen plan kan opbouwen, met andere woorden haar eigen keten van acties.
Er zijn twee mogelijke benaderingen:
- ofwel schrijven we meerdere plannen en vragen we de AI om het meest geschikte te kiezen
- ofwel laten we de AI verschillende combinaties van acties testen om te zien of ze het doel kunnen bereiken
En precies daar verschijnt iets interessants: emergentie.
✨ Emergentie: de Heilige Graal
Stel je voor:
De ontwikkelaar definieert een aantal acties:
- troepen creëren
- troepen verplaatsen
- wegen bouwen
En plots beslist de AI zelf dat een weg bouwen de beste manier is om een militair doel te bereiken.
In het hoofd van de ontwikkelaar was de actie “wegen bouwen” niet bedoeld voor een militaire toepassing, maar eerder voor een economische. Omdat de AI echter alle acties met alle andere combineert, kan ze tot plannen komen die de ontwikkelaar nooit had voorzien, bijvoorbeeld door “wegen bouwen” te combineren met “troepen verplaatsen”. Dat gedrag is niet expliciet geprogrammeerd.
Je ziet dit soort logica ook in sommige spellen waarin NPC’s een weg met objecten blokkeren in plaats van rechtstreeks aan te vallen.
Dat is het soort “onvoorspelbare maar coherente” intelligentie dat ik zou willen bereiken.
⚠️ Technische beperkingen
Het probleem is dat ik GDevelop gebruik, dat gebaseerd is op een systeem dat dicht bij pseudocode ligt.
Daardoor is de implementatie van een GOAP-systeem complex.
Ik moet nog verschillende tests uitvoeren om te zien of een werkende versie mogelijk is.
Mijn huidige idee is om deze logica als een extra laag toe te voegen voor de lokale strategie. Een andere mogelijkheid is om GOAP te gebruiken in een minigame binnen het spel, “Deelnemen aan het congres van Bakoe”. Daar vertel ik later meer over.

Screenshot van de minigame “Deelnemen aan het congres van Bakoe”
Ik had veel moeite om GOAP goed te begrijpen, en het is echt dankzij de aanmoediging van mijn partner dat het uiteindelijk is gelukt (bedankt Holly).
🎯 Conclusie
Dat is waar het project vandaag staat.
Veel denkwerk, belangrijke aanpassingen en een richting die steeds duidelijker wordt.
Het doel blijft hetzelfde:
👉 het spel deze zomer uitbrengen.