Development Log
Open Beta

Wat is er nieuw?

Elke update, elke verbetering, elk nieuw model. Volg de bouw van de vetste browser-RTS live.

v0.57.0 — Open Beta 1 mei 2026

Open Beta — Reign of Brabant is volledig speelbaar

Milestone Visual UI

Na nog geen maand bouwen draait de skirmish-mode al volledig. Vier facties, alle units, alle gebouwen, alle upgrades, een AI die zich gedraagt op drie moeilijkheidsniveaus, painted-vignette portretten op élk paneel, en stemwerk dat de juiste personage-gender raakt. Tijd voor het bordje — vanaf vandaag staat ‘Open Beta’ op de homepage, in het hoofdmenu, en op deze pagina. Campagne staat in laatste polish-ronde; skirmish is wat je nu speelt en het werkt.

HEAVY EN SIEGE EINDELIJK MET EEN GEZICHT

  • Acht nieuwe geschilderde portretten — T2 Heavy en T3 Siege per factie hadden tot v0.56 een generieke fallback in de HUD. Nu vier Heavy-portretten (Tractorrijder, Corporate Advocaat, Mergelridder, Frituurridder) en vier Siege-portretten (Frituurmeester, Vastgoedmakelaar, Kolenbrander, Manneken-Pis-kanon) in dezelfde geschilderde stijl als de andere train-knoppen.
  • Zelfde painted-vignette stijl — Olieverf-textuur, gouden filigree-randen, factie-paletten, dramatisch licht. Alle portretten op disk >200 KB om placeholder-regressie te voorkomen.
  • Coverage in tests vastgelegd — Voortaan faalt de testsuite als er een nieuw unit-type wordt toegevoegd zonder dat het portret op disk staat. 1767 → 1775 tests groen.

BETA-BADGE OP HOMEPAGE EN IN HET HOOFDMENU

  • Op-merk ‘Open Beta’-badge — Cinzel goud op donkerrood, dubbele gouden filigree-streepjes ernaast, pulserende ember-stip vooraan. Geen generieke npm-style label — matched de schildering van de portretten en het logo.
  • Drie locaties — Homepage hero (boven de cinematic), in-game hoofdmenu (onder de subtitel), en deze updates-pagina. Hover toont “Skirmish 100% speelbaar — campagne in test”.

BUITEN HET SPEL: DE 3D GAME WORLD

  • Reign of Brabant heeft eindelijk een eigen 3D-icoon op theuws.com/games/ — Geen wit blok meer. Brabantse stenen citadel met crenellated muren, ijzeren poort, gouden rampant-leeuw boven de gate, en vier rode banieren op de muren. Generated via Meshy v6 in één shot.
  • Status van ‘niet actief’ naar ‘Nieuw!’ — Het portaal in de 3D-wereld is nu klikbaar en linkt direct naar reign-of-brabant.nl. Oude theuws.com/games/reign-of-brabant/-route is opgeruimd met een 301-redirect.

Wat ontbreekt voor v1.0: campagne-polish-ronde, twee outlier portretten op painted-vignette niveau brengen, en een tweede ronde stemzinnen voor échte event-variatie. Bug? Idee? Mail [email protected] of vink de feedback-knop in het spel aan.

v0.55.0 – v0.56.0 30 april 2026

Easy is écht easy — en workers verzamelen op één druk op de knop

Gameplay Feature UI

“Skirmish op makkelijk is echt nog veel te moeilijk” — klopte. Tot nu toe stelde easy alleen de aanvalstiming van de AI uit, maar zijn economie liep gewoon door op vol tempo. Resultaat: tegen de tijd dat de AI eindelijk aanviel, had hij een gróter leger dan de speler. Rechtgezet met een asymmetrische aanpak. En workers krijgen twee easy hotkeys voor goud en hout zodat je niet meer hoeft te rechtsklikken op elke mijn.

EASY VOELT NU OOK ECHT EASY

  • AI-economie wordt zwakker, speler-economie wordt sterker — Op easy verzamelt de AI 35% trager, traint hij 33% langzamer, en start de speler met 50% extra goud én een 15% snellere gather rate. Ratio speler/AI op easy: bijna 1.8×.
  • Hard wordt scherper zonder de speler te nerfen — Op hard krijgt de AI 15% snellere gather en 9% snellere productie, zonder dat de speler iets inlevert. Geen frustratie, gewoon meer tempo.
  • Normal blijft 1.0 over de hele lijn — De ijklat blijft staan; de oude AI-aggressie-tweaks (later aanvallen op easy, eerder op hard) blijven gewoon bestaan bóvenop deze nieuwe economische as.

TWEE NIEUWE HOTKEYS VOOR WORKERS

  • A — Verzamel goud (auto-target dichtstbijzijnde mijn) — Selecteer een of meerdere workers, druk op A. Ze lopen automatisch naar de dichtstbijzijnde niet-uitgeputte goudmijn en beginnen te delven.
  • S — Verzamel hout (auto-target dichtstbijzijnde boom) — Zelfde principe voor hout. Geen rechtsklikken meer op elke individuele resource — perfect voor het opnieuw aan het werk zetten van een groep workers na een aanval.
  • HUD-knoppen in painted-vignette stijl — Naast de Move- en Stop-knoppen verschijnen nu twee nieuwe knoppen in het worker-paneel: een goudader met pikhouweel, en een gekloofde stam met bijl. Beide in dezelfde geschilderde stijl als de andere worker-acties.
  • Slim: idle workers worden eerder gekozen — Auto-gather kiest de dichtstbijzijnde resource gemeten vanaf het zwaartepunt van je geselecteerde workers. Geen mijn meer in zicht? Dan zegt het spel het netjes met een melding in plaats van stilletjes te falen.

Tweak-knoppen voor moeilijkheid blijven open: als easy nu te makkelijk voelt, kan de AI-gather verder zakken of de speler-bonus naar beneden — alles zit in één tabel.

v0.54.0 – v0.54.1 30 april 2026

Sjpion en HR-Medewerker krijgen een gezicht — en je tweede Hoofdkantoor wordt eindelijk gebouwd

Visual Fix

Twee gerichte fixes uit de speeltest: de support-units van Limburg, Randstad en Belgen hadden nog geen eigen portret in de HUD — alleen Brabant had de Boerinneke. En een nare bug waarbij een tweede Hoofdkantoor wel geplaatst werd, maar door geen enkele worker werd gebouwd zolang er geen worker was geselecteerd op het moment van plaatsing.

DRIE NIEUWE SUPPORT-PORTRETTEN

  • HR-Medewerker (Randstad) — Corporate coach in slate-blue pak met klembord en empathische blik — geen barista, geen manager, geen stagiair, gewoon iemand die graag z’n “goed gesprek” aanbiedt.
  • Sjpion (Limburg) — Mijnscout met diepe kap en koperen mijnlamp, leren tas met mergel-pijl. Reserved en analytisch, niet vrolijk — gespeculeerd over alle stakingen heen.
  • Wafelzuster (Belgen) — Matriarchale heelster met zustershoofdkapje (géén nun-habijt), wit linnen schort en mand vol gouden wafels.

TOWNHALL #2 BOUW-FIX

  • Tweede Hoofdkantoor wordt nu wel gebouwd — Je kon een tweede TH plaatsen, hij werd zichtbaar, maar de progress bleef voor altijd op 0. Oorzaak: de bouwer-toewijzing keek alleen naar je íngeselecteerde workers. Geen worker geselecteerd op moment van plaatsing? Geen worker bouwt het.
  • Nieuwe AoE-stijl fallback — Als geen geselecteerde worker beschikbaar is, kiest het spel nu automatisch de dichtstbijzijnde idle-worker van je factie. Idle workers worden bewust voorgetrokken zodat we geen productieve goud-delver weghalen tenzij dat moet.
  • Werkt voor alle gebouwen — Niet alleen TownHall: elk gebouw geplaatst zonder worker-selectie krijgt nu automatisch een builder. Vooral handig in lategame als je workers verspreid op verschillende mijnen werken.
v0.52.0 – v0.53.1 30 april 2026

Manager re-vamp, 43 nieuwe geschilderde portretten, en gender-aware stemmen

Visual Audio Gameplay Feature Fix

De grootste visuele update tot nu toe: 43 portretten van karakters en gebouwen volledig opnieuw geschilderd in de painted-vignette stijl, de Randstad Manager kreeg een complete re-vamp met nieuwe stem en mesh, een raar trainingsknop-bug die voor elke held dezelfde gem-crown liet zien is opgelost, en stemmen zijn nu gender-aware met een vrouwelijke Limburgse stem-pool via Nick.

DE MANAGER RE-VAMP (v0.52.0)

  • Hybride harasser met melee-backup — De Randstad Manager was een categorie-fout: geclassificeerd als infanterie maar feitelijk een ranged-harasser. Stats opnieuw afgesteld (HP 70→85, range 7→5, attack 9→7) en een nieuwe melee-backup mechaniek: zit een vijand binnen 2 tiles dan schakelt de Manager naadloos om naar melee. Loopt ‘m weg, dan terug naar ranged. Hysteresis voorkomt knipperen aan de rand.
  • Nieuwe stem — Daniel met corporate-jargon — De oude Manager-clips waren 30-50% korter dan andere Randstad-units. Nu autoritaire Daniel met “KPI”, “alignment”, “deliverables”, “stakeholders”, “roadmap”, “off-site”.
  • Painted-realistic mesh + portret — Nieuwe 3D-mesh via Meshy v6 die niet langer “groffer” oogt dan de andere Randstad-units, plus een passend painted-vignette portret in slate-blue.

43 PORTRETTEN OPNIEUW GESCHILDERD (v0.53.0)

  • 24 gebouw-portretten voor Brabant en Randstad — Alle twaalf gebouwen per factie kregen een nieuw geschilderd portret in de painted-vignette stijl met gouden filigree-kader, matchend met de Limburg- en Belgen-portretten. Brabant warm-oranje folkloric (rode bakstenen, vlaggetjes, hooi), Randstad slate-blue corporate (glas, beton, geometrische gevels).
  • 19 unit- en held-portretten — Worker, Infantry, Ranged en alle 8 helden van alle 4 facties opnieuw geschilderd om dezelfde stijl te delen als de Manager. Stagiaïr met klembord (géén latte-art), Frietkoning met frieten-scepter, Trappist Abdijbrouwer met biertje.
  • 71 lock-tests om kwaliteit te bewaken — Elke factie×gebouw- en factie×unit-mapping moet een PNG op disk hebben én boven een minimum-grootte zitten. Voorkomt dat we per ongeluk een tiny placeholder terugzetten.

TRAININGSKNOP-FIX (v0.53.1)

  • Train-knoppen tonen nu factie-specifieke portretten — In de Schuttershal stond een generieke zwaardicoon op de Schutterij-knop, een boog op Vlaaienwerper, een elixerflesje op Sjpion. En De Mijnbaas en De Maasridder lieten allebei dezelfde gem-crown zien. Allemaal opgelost: de trainings-knoppen gebruiken nu het zojuist geschilderde factie-portret van de unit of held in kwestie.
  • Builds-knop fix iets eerder die dag — De cost-tekst (“300g” / “400g” voor specials) verdween onder de knop door een ontbrekende CSS-regel. Nu netjes leesbaar in de gouden mono-font onder de label.

GENDER-AWARE STEMMEN (v0.52.1)

  • Vrouwelijke Limburgse pool via Nick — 22 nieuwe lines — Nick origineel komt nu terug als vrouwelijke Limburgse stem (“transgender Limburger” framing): “Glück auf, miene leef”, “Hajje, ich kom”, “Joa veurspring!”.
  • Sharon Vlaams als vrouwelijke Belgische pool — De Wafelzuster en andere vrouwelijke Belgische units krijgen nu uitsluitend Sharon-Vlaams clips, niet meer gemixt met Hans Claesen of Walter.
  • Gender-flag op alle 30 unit-types — Boer is mannelijk, Boerinneke is vrouwelijk, Manager mannelijk (Serge), Wafelzuster vrouwelijk. Mixed-gender units (Sjpion, Carnavalvierder) trekken random uit beide pools. Ontbreekt een vrouwelijke pool? Dan netjes terugvallen op de mannelijke met een dev-console waarschuwing.
v0.51.3 30 april 2026

Nieuwe Randstad Barracks — en alle stem-features eindelijk in het spel

Visual Audio Feature

De Randstad Barracks leek vanuit top-down camera te veel op het Town Hall — verwarrend tijdens hectische gevechten. En een hele stapel stem-werk uit v0.49.0 t/m v0.51.2 zat nog niet live: spelers hoorden nog de oude soundtrack. Beide rechtgezet in deze release.

VOLLEDIG HERONTWORPEN BARRACKS & ALLES NU LIVE

  • Randstad Barracks — presentation-hall met groendak — Direct van bovenaf herkenbaar als kazerne, niet meer te verwarren met het Hoofdkantoor. Glazen vliesgevels, theatre-seating en een groen sedumdak passen bij de corporate-toon van Randstad.
  • Alle Voice & Message Pass features eindelijk live — Factie-aware HUD-meldingen, factie-doodskreten, signature lines, themesong-fix en de nieuwe Limburgse 2e stem zaten al weken in de codebase maar draaiden voor spelers nog op de oude bundle. Hard-refresh (Cmd+Shift+R) na deze release om alles te horen en te zien.

Volgende kandidaat voor een make-over: de Randstad Manager — valt nu nog op als “groffer” dan de andere units. Komt in v0.52.0.

v0.51.0 – v0.51.2 30 april 2026

Spelers spreken eigen stemmen in — en wachttorens worden snipers

Feature Audio Gameplay UI

Drie patches in één dag: een community-pagina waar spelers hun eigen factie-stem kunnen inspreken, scherpere wachttorens tegen ranged-aanvallers, en een tweede Limburgse stem in de pool zodat niet elke mijnwerker hetzelfde klinkt.

SPEEL-IMPACT

  • Voice-files community-pagina LIVE — Op reign-of-brabant.nl/voice-files/ kan iedereen het opname-script downloaden en eigen factie-stemmen uploaden. 7 karakter-cards, 138 slots per factie, mp3/m4a/wav/ogg ondersteund.
  • Wachttorens worden snipers tegen ranged units — Watchtowers krijgen een 1.5× damage-bonus tegen vijandelijke ranged-eenheden (boogschutters, vleeshakers e.d.). Het verhoogde schietplatform werkt zoals het hoort: een natuurlijke counter tegen units die op positionering rekenen.
  • Bouw-timer zichtbaar op gebouw-card — Onder constructie staat nu “Under construction (15s)” in plaats van alleen “Under construction”, dezelfde stijl als de unit-trainings-timers.
  • Tweede Limburgse stem — 20 nieuwe lines — Nick komt naast Reinoud in de Limburger-pool: “Jao, ich luuster”, “Hier, Sjeng”, “Hajje!”, “Gluck auf!”. Random-mix tussen beide stemmen zodat niet elke Limburger meer hetzelfde klinkt.
v0.50.0 – v0.50.2 29–30 april 2026

Brabander stemmen ingesproken door Richard — en alle 595 voice-files herzien

Audio Feature Fix

De grootste audio-overhaul tot nu toe: de Brabantse voice-cast is volledig opnieuw opgenomen door Richard zelf in echt Zuid-Oost Brabants dialect, alle vier de facties hebben nieuwe stemmen, en alle 595 stem-bestanden zijn op één volume-niveau gezet zodat de boer niet meer harder klinkt dan de mijnwerker.

WAT JE HOORT

  • 138 unieke Brabander voice-files door Richard zelf ingesproken — Echt dialect, geen AI-imitatie meer: “un / ne / den” lidwoorden, “-ke” verkleinwoorden, “vat”, “gemokt”, “klaor”, “schôn”. Acht units × minimaal 17 lines, elk met eigen karakter: rustige boer, euforische carnavalsvierder, fluisterende sluiper, brommige tractorrijder.
  • Limburgers en Belgen krijgen nieuwe stem-cast — Reinoud als nasale Limburger (“ich/dich/doow”, “Gluck auf!”), Sharon als tweede Vlaamse vrouwelijke stem voor de Belgen (“voila”, “allez”, “amai”) naast bestaande Petra.
  • 595 voice-files audio-genormaliseerd — Één consistent volumeniveau over de hele cast, geen abrupte sprongen meer tussen units. Lichte EQ-correctie en de-essing voor scherpere stemmen.
  • Opname-scripts voor alle 4 facties beschikbaar — 138 genummerde slots per factie met karakter-instructies en suggested lines in dialect, plus appendix met easter-egg signature lines. Klaar voor community-recordings.
v0.49.2 – v0.49.3 29 april 2026

Themesong alleen bij Brabant-overwinning — en 8 zeldzame easter-egg lines

Audio Fix Feature

De themesong “Nie Fokke Mee Brabant” speelde tot nu toe overal — ook tijdens campaign-ambient en zelfs als Randstad won. Nu strikt gereserveerd voor Brabant-zeges, en als bonus zitten er 8 zeldzame Warcraft-style signature lines verborgen in de unit-pool.

FLAVOUR & FIXES

  • Themesong eindelijk op de juiste plek — “Nie Fokke Mee Brabant” speelt vanaf nu uitsluitend bij een Brabander-victory. Andere facties krijgen hun eigen victory-sting, en in campaign- en skirmish-ambient klinkt nu een echte instrumentale Brabantse track in plaats van de song-met-tekst.
  • 8 easter-egg signature lines — 5% kans bij selecteren — Warcraft-stijl rare voice-lines die af en toe je eenheid laten zeggen wat hij echt denkt. Brabander: “Vat anders gewoon urst ekkes een pilske!” en “NAAIT EM!”. Randstad: “IK DOE NIET MEER MEE!” en “Mag ik even iets tegen je aanhouden?”. Limburgs: “Neeje da wil ik nie!” en “Ik goa naor hoes!”. Belgen: “Amai!!” en “Een patat is hier een aardappel meneer, het is FRIET”.
  • Pool kan groeien — Nieuwe signature lines zijn drag-and-drop toe te voegen zonder dat er code aangepast hoeft te worden. Verwacht meer flavour in toekomstige patches.
v0.49.1 29 april 2026

Eenheden klinken als hun factie als ze sterven

Feature Audio

Tot nu toe hadden alle facties hetzelfde generieke doodsgerochel — een Brabantse boer ging precies zo van zijn sokken als een Limburgse mijnwerker of een Belgische frietboer. Vanaf v0.49.1 hoor je het verschil: elke factie sterft, valt en herrijst in haar eigen stem.

FACTIE-STEM OP LEVEN, DOOD & TERUGKEER

  • Eenheden sterven in hun eigen taal — De Brabantse boer kreunt als een Brabander, de Limburgse mijnwerker als een Limburger, en de Belgische frietboer roept nog één keer iets theatraals voor hij valt. Per unit-type een eigen stem waar beschikbaar, anders een factie-generieke uitval.
  • Helden vallen factie-eigen — Als je held sneuvelt hoor je niet langer dezelfde generieke kreun voor alle vier de facties; elke factie heeft een eigen toon voor het verlies van haar leider.
  • Held meldt zich terug na revival — Zodra je held opnieuw beschikbaar is op het strijdveld, hoor je hem of haar zich melden in de stem van de eigen factie — een duidelijk hoorbaar signaal dat de revival klaar is.

Het stem-materiaal lag al klaar — selecteren, bewegen, aanvallen en verzamelen werkten al, maar dood en revival vielen nog terug op generieke geluiden. Die laatste plekken zijn nu aangesloten, en een korte cooldown voorkomt dat het bij grote veldslagen een kakofonie wordt.

v0.49.0 29 april 2026

Voice & Message Pass — facties klinken nu écht verschillend in de HUD

Feature Tone Fix

Tot v0.49.0 kreeg élke held-spawn dezelfde melding: "… is verschenen! ALAAF!" — ook als je een Randstad CEO of de Belgische Frietkoning op het veld zette. Vanaf nu spreken de vier facties hun eigen taal in pop-cap, hero-spawn, hero-death, housing-complete en research-complete alerts.

VIER FACTIES, VIER STEMMEN

  • Brabanders — echt Zuid-Oost dialect: "Den Prins stao d'r — ALAAF!", "{upgrade} — gemokt!", "Vol! Bouw d'r un huiske bij." Gecorrigeerd op un/ne, vat i.p.v. "pak", anti-pattern "-ansen" vermeden.
  • Randstad — corporate boardroom-toon: "{name} is gearriveerd. Boardroom open.", "{upgrade} live. Rolling out.", "Capacity reached. Schaal kantoorruimte op."
  • Limburgers — rustige mergel-toon: "{name} is eraan, jong.", "{name} is geboewd. Sjoen.", "Geen plek mie. Bouw nog ne mergelhof."
  • Belgen — theatraal en gulzig: "{name} betreedt het slagveld!", "{name} gevallen — de friet huilt.", "{upgrade} ontwikkeld in 't atelier."

Centrale registry per factie met meerdere varianten per event, dus dezelfde melding klinkt niet elke keer hetzelfde. Toekomstige uitbreidingen (eenheid-spawns, diplomatie, victory-stings) kunnen op dezelfde infrastructuur landen.

v0.48.2 29 april 2026

Wachttorens vechten zichtbaar terug — met factie-getinte projectielen

Fix Visual Audio

Live-feedback: "de wachttorens lijken niet te verdedigen". Ze deden wel degelijk damage, maar er vloog niets door de lucht en je hoorde geen schot — vijanden gingen "vanzelf" dood binnen range. Dat is gefixt: torens schieten nu zichtbaar én hoorbaar terug.

PROJECTIEL-CHAIN

  • Parabolische pijl — Vanaf de toren-top boogt het projectiel naar het doel, vluchtduur schaalt met afstand zodat lange schoten realistisch lang in de lucht blijven.
  • Schoten klinkenarrow_shoot bij de toren, arrow_impact op het doel, plus dezelfde combat-hit puff die ranged units gebruiken.
  • Factie-getinte trails — Brabanders schieten warm oranje-rood, Randstad corporate blauw, Limburgers mergel-geel, Belgen Belgisch goud. Alle projectielen zijn nu factie-tintbaar — toekomstige boogschutters en kanonnen kunnen dezelfde palette gebruiken.
v0.48.1 29 april 2026

Placement-preview matcht het juiste gebouw + zichtbare cooldowns op click-actions

Fix UI

Twee kleine ergernissen weggewerkt: de ghost-preview tijdens placement liet altijd een Barracks zien, ongeacht wat je echt aan het bouwen was, en click-actions als Sprint Mode of Carnavalsoptocht hadden alleen tekst-feedback voor cooldowns — geen visuele timer.

WAT ER VERANDERT

  • Ghost matcht het echte gebouw — Plaats je een Vlaaiwinkel? Dan zie je een Vlaaiwinkel-ghost. De groen/rood-tint reflecteert nu live of de plek geldig is.
  • Aura-ring tijdens placement — Bij gebouwen met een signature radius (Defense Tower-bereik, Worstenbroodjeskraam-heal, Carnavalstent-damage, Vlaaiwinkel-heal) zie je tijdens het plaatsen al de exacte aura-cirkel. Geen verrassingen meer over of een kraam wel de barracks raakt.
  • Sweep-overlay op click-buttons — Tijdens een actieve buff licht de knop warm-geel op. Tijdens cooldown zwemt een donkere sweep van boven naar beneden weg — hetzelfde patroon als hero-abilities.
v0.48.0 29 april 2026

Multi-functie buildings — Mijnschacht-clicks, Chocolaterie-passive, sight-bonus per factie

Feature Gameplay Visual

Bundel die de late-game faction-identity verder oplaadt: de Limburgse Mijnschacht krijgt twee actieve abilities, de Belgische Chocolaterie een nieuwe passive, élke factie een sight-bonus uit zijn FactionSpecial2, en heal-auras tonen nu een groene grondring.

VIER MECHANIEKEN

  • Limburg — Mijnschacht clicksPloegendienst (30 kolen, 60s +50% gather, 90s CD) en Drukvuur (50 kolen, 30s tunnel-transit ×0.5, 90s CD). Hotkeys T en Y.
  • Belgen — Pralines voor Iedereen — Per 100 chocolade in voorraad +5% duration op Compromis-abilities en Persuasion, cap +25% bij 500+ voorraad.
  • Sight-bonus per FactionSpecial2 — Feestzaal / Parkeergarage / Mijnwerkerskamp / EU-Parlement geven elk +1 sight range aan alle eigen units, cap +3.
  • Heal-aura ring zichtbaar — Selecteer een Worstenbroodjeskraam (8u) of Vlaaiwinkel (10u) → translucente groene ring op de grond, zodat je in één oogopslag ziet wie er onder de heal-bubble valt.

Daarnaast splitst het victory-screen Goud en Hout uit als aparte stat-rows, en zijn de tier-requirement-labels in build-tooltips factie-specifiek geworden (Brabant ziet "Wagenbouwer", Randstad "Innovatie Lab", enzovoort).

v0.47.0 29 april 2026

84 factie-geschilderde portretten — elke factie krijgt zijn eigen art

Visual Feature

Tot deze release deelden de vier facties grotendeels dezelfde generieke iconen voor gebouwen en research. Vanaf v0.47.0 heeft élke factie zijn eigen geschilderde portret per gebouw én per upgrade — totaal 84 nieuwe assets in de RPG painted-vignette stijl.

21 PORTRETTEN PER FACTIE

  • Brabanders — warm oranje-rood, Bourgondisch kruis, gezellig-strijdlustig: keep, café-barracks, bakkerij, smederij, worstenbroodjeskraam, wagenbouwer, feestzaal, kerktoren en bijbehorende upgrade-varianten.
  • Randstad — corporate blue-grey-white met warm-gele bureaulamp, geen koffie-flavour: hoofdkantoor, vergaderzaal, Starbucks-cafe (zonder logo), coworking, vinex-rijhuis, havermoutmelkbar, innovatie-lab, parkeergarage.
  • Limburgers — mergel-geel, kolen-zwart en kersenrood: mergelhoeve, schuttershal, vlaaibakkerij, klooster-smederij, hoogoven, mijnwerkerskamp en mining-flavoured upgrades.
  • Belgen — zwart-geel-rood met chocolade-bruin en Trappist-groen: stadhuis, frituur-barracks, abdij-smederij, chocolaterie, diamantslijperij, EU-Parlement, belfort, Manneken-Pis-kanon.

Het research-panel toont voortaan ook factie-varianten van dezelfde upgrade — een Brabantse longsword, een Randstad fountain pen, een Limburgse pickaxe en een Belgische rapier voor "Zwaardvechten I". De canvas-fallback blijft staan voor zekerheid, maar in de praktijk zie je overal de painted versie.

v0.46.0 29 april 2026

Battle visuals — damage popups, attack swings, death-animatie, complete HUD-asset pass

Visual Feature Gameplay

Gevechten voelden technisch correct maar visueel te stil — units schoten zonder beweging, sterven gebeurde plotseling, en de schade was alleen af te lezen aan een health-bar. v0.46.0 maakt het slagveld leesbaarder zonder de spelregels te veranderen.

VIER LAGEN FEEDBACK

  • Floating damage numbers — Boven elke geraakte unit of gebouw zweven kort de schade-cijfers omhoog, met aparte gold-glow voor crits en groen voor heals. Pool van 50 zodat ook 200+ units in combat geen DOM-explosie geven.
  • Attack swing animatie — Melee-aanvallers leunen kort voorover, ranged-units recoilen naar achter. Procedureel bovenop de bestaande GLB-animaties, dus niemand staat meer "stil te slaan".
  • Death collapse + fade — Stervende units zakken in en vervagen over twee seconden, blob-shadow vervaagt mee. De Death-clip blijft spelen — dit komt erbovenop.
  • 23 nieuwe HUD-iconen — Alle command-buttons in de painted-vignette stijl van Rally en Vlaai-Trakteer. De canvas-drawn fallbacks blijven beschikbaar voor robustness.
v0.45.0 29 april 2026

Defense alarm — nabijgelegen idle combat-units schieten automatisch terug bij aanval

Feature Gameplay

Pre-v0.45.0 reageerde alleen het direct geraakte slachtoffer op binnenkomende damage — vier soldaten naast je belegerde toren stonden Idle terwijl de toren afgebrand werd. Met de nieuwe Defense Alarm wordt elke aanval een lokaal alarm: alle nabije bevriende combat-units switchen autonoom naar Attacking-state op de aggressor.

TRIGGERNEARBYDEFENSE — REGELS

  • Radius 12u — Bij elke incoming attack zoekt triggerNearbyDefense alle bevriende combat-units binnen 12 units rond het slachtoffer. Cap ALARM_MAX = 5: maximaal 5 verdedigers per alarm, zodat een grote pulk niet collectief van basis verlaat.
  • Alleen idle combat-units — Workers blijven gathering (priority op economie), units die al een commando uitvoeren (Moving / Attacking / Building) worden niet onderbroken. HoldPosition-stance is preserved: een unit die HoldPosition heeft blijft staan en negeert het alarm.
  • State-switch op de aggressor — Verdedigers krijgen direct Attacking-state met de aggressor als target. Geen pathing-glitch: als de aggressor wegloopt blijft de Attacking-state de afstand sluiten tot in-range, daarna fire.

Schaalt mee met de v0.42.0 FactionSpecial1-passives en de v0.40.0 UpgradeBuilding-aura's: een verdedigde Limburg-basis triggert dus 5 verdedigers met +1 armor van de Hoogoven-aura, en Belgen-verdedigers krijgen de +5% crit van de Diamantslijperij.

v0.44.0 29 april 2026

Building-card UI uniform — research-panel zit nu binnen #building-card als onderste sectie

Feature UI

Het research-panel (Blacksmith / LumberCamp / UpgradeBuilding) leefde voorheen als drijvende overlay boven de building-card — visueel los, twee kolomen aan informatie, geen duidelijke hiërarchie. Vanaf v0.44.0 is dat panel een onderste sectie binnen #building-card: één scrollende kolom, één visuele eenheid.

UNIFORME LAYOUT — DRIE PANEL-TYPEN

  • Genest binnen #building-card — Blacksmith, LumberCamp én UpgradeBuilding research-panels worden nu gerenderd ALS sectie ONDER de standaard building-info (icon-row, stats, click-actions). Dezelfde card-rand, dezelfde scroll-context.
  • CSS-overrides voor nested cmd-blacksmith — Het bestaande #cmd-blacksmith styleblok had hardgecodeerde positionering die buiten de card werkte. Voor de nested variant nu een full-width grid-override zodat research-buttons niet meer met fixed widths buiten de card-rand uitsteken.
  • Research-grid full-width binnen card — Alle research-grids vullen 100% van de card-breedte. Geen drijvende panels meer, geen z-index oorlog tussen building-card en research-panel.
v0.43.0 29 april 2026

Town Halls bouwbaar — uitbreidbare basis voor wanneer startbase gold-mines opdrogen

Feature Gameplay UI fix

Tot v0.43.0 was je beperkt tot één Town Hall — die waar je mee startte. Wanneer de startbase-gold-mine leeg liep, moest je workers handmatig naar verre mines walken zonder uitbreidingsoptie. Vanaf nu staat een tweede (en derde) Town Hall in het worker-build-menu, met factie-aware naamgeving zodat de UI niet generiek "Town Hall" toont.

BOUW-CONTRACT

  • Hotkey H — Werker geselecteerd → druk H → ghost-placement van een nieuwe Town Hall. Standaard build-flow (groen = valide, rood = collision/buiten map).
  • Kost: 400 goud + 250 hout — Ongeveer 2× de kosten van een standaard productie-gebouw. Bewust duur: een tweede TH is een major economic commit, geen tussenoplossing.
  • Factie-aware label — Brabant: Mergelhoeve, Randstad: Hoofdkantoor, Belgen: Stadhuis (Limburgers houden Mergelhoeve-naam waar relevant). Single source of truth via getDisplayBuildingName in factionData — zelfde regel die we sinds v0.37.37 hanteren.
  • UI fix: info-row icon overlap — In de building-card overlapte de icon-letter ("M" / "H" / "S") met de label-text bij smalle viewport-widths. Layout aangepast naar flex-row met gap zodat icon en text netjes naast elkaar staan.
v0.42.0 29 april 2026

FactionSpecial1 second-functies — Randstad / Limburg / Belgen krijgen elk een tweede passive of click-action

Feature Gameplay

Brabant kreeg in v0.41.0 al een tweede functie op zijn FactionSpecial1 (Carnavalsoptocht). v0.42.0 trekt die parity-line door naar de andere drie facties — elk krijgt een tweede mechaniek bovenop de bestaande passive uit Bundel 3 (v0.37.35).

DRIE NIEUWE PASSIVE/CLICK-COMBINATIES

  • Randstad — Boardroom passive "Corporate Synergy" — Per actieve Boardroom +1 efficiency-stack-cap. Cap op +3 boardrooms, dus de bureaucratie-stack groeit van BUREAUCRACY_MAX_STACKS 20 → 23. Multi-boardroom builds krijgen écht hogere ceiling.
  • Limburg — Vlaaiwinkel click "Vlaai-Trakteerronde" — Kost 100 Kolen → voor 30 seconden halveert de heal-pulse-interval (van 5s naar 2.5s). Past op het Limburg defensieve heal-archetype: dubbele healing-density tijdens een belegering.
  • Belgen — Diplomatiek Salon passive "Salon-protocol" — Per actief Salon -10% Persuasion-cost, met cap op -30%. Maakt diplomatieke conversies (de Belgen-signature) significant goedkoper bij multi-salon builds.

Met v0.42.0 hebben alle vier facties een primaire (Bundel 3) plus een secundaire functie op de FactionSpecial1, en een derde via de UpgradeBuilding (v0.40.0). Late-game faction-identity is daarmee structureel ingelegd in drie afzonderlijke gebouwen per factie.

v0.41.1 29 april 2026

UI fix — info-row layout compact, button-labels ingekort tegen 3-koloms truncation

Fix UI

v0.41.0 voegde info-rows toe aan alle vier FactionSpecial1's. In de praktijk renderde dat als een 300px-vierkant blok met een gigantische CRN ("Carnavalsoptocht-icon") — niet de bedoeling. Ook truncatten de click-action button-labels op het 3-koloms grid binnen de building-card.

WAT ER IS GEFIXT

  • Info-row compact rij — Was: 300px-vierkant met giant icon. Wordt: één compacte horizontale row met klein icon + label + waarde. Past nu correct binnen de building-card zonder layout te dwingen.
  • Button-labels ingekort — "Optocht (75g)" / "Trakteer (50g)" / "Sprint (30h)" / "Crunch (50h)" / "Kwartaalcijfers". Korte labels zodat ze in de 3-koloms grid niet truncaten met ellipsis.
v0.41.0 29 april 2026

Carnavalsoptocht — Brabant click-action + info-rows op alle 4 FactionSpecial1's

Feature Gameplay UI

Brabant krijgt zijn tweede functie op de Carnavalstent: een themagerichte click-action die past bij de Gezelligheid-economie. Plus: alle vier FactionSpecial1's krijgen vaste info-rows zodat de passive effects altijd zichtbaar zijn — geen tooltip-only meer.

CARNAVALSOPTOCHT (BRABANT)

  • Carnavalstent click-action "Carnavalsoptocht" — Kost 75 Gezelligheid → voor 30 seconden krijgen alle Brabant units +25% movement speed. Cooldown 90s.
  • Synergie — Stapelt mee met Worstenbroodjeskraam-buffs en bestaande Brabant-momentumloops; zet je optocht in vlak voor een raid voor maximale tempo-spike.

INFO-ROWS OP ALLE 4 FACTIONSPECIAL1'S

  • Altijd-zichtbaar passive display — Carnavalstent (Brabant), Boardroom (Randstad), Vlaaiwinkel (Limburg), Diplomatiek Salon (Belgen) — elk krijgt info-rows in de building-card die het actieve passive-effect tonen, zonder dat je tooltips hoeft te triggeren.
  • Voorbereiding op v0.42.0 — Met info-rows op alle vier panels was de UI klaar om in v0.42.0 ook second-functies (Salon-protocol, Vlaai-Trakteerronde, Corporate Synergy) zichtbaar te maken zonder layout-rework.
v0.40.0 28 april 2026 — vandaag live

v1.0 perfectie milestone: vier UpgradeBuilding passives — eindelijk identiteit per factie ook ná Tier 3

Feature Gameplay Milestone

UpgradeBuildings stonden er sinds v0.37.26 voornamelijk als research-gate voor Tier 3. Nu krijgen ze ook elk een eigen passive — vier compleet verschillende mechanieken die de gameplay-identiteit van iedere factie verlengen tot in de late game. Eerste release onder het herziene versioning-beleid: MINOR voor features, PATCH voor bugfixes — vandaar de sprong van 0.37.x naar 0.40.0.

VIER UPGRADEBUILDING PASSIVES

  • Wagenbouwerij (Brabant) — Extra Gezelligheid-flux per actieve Wagenbouwer. Versterkt de Brabant-loop: meer Gezelligheid → meer Worstenbroodjeskraam-buffs → meer momentum. Schaalt mee met aantal voltooide UpgradeBuildings.
  • Innovatie Boost (Randstad) — Randstad units krijgen +5% movement speed per actief Innovatie Lab, met cap op +20% (= 4 labs). Stapelt vanaf de speedboost in Boardroom (v0.37.35) en Sprint Mode (v0.37.39) — een gefocuste Randstad krijgt nu echt het tempo van een corporate raid.
  • Kolenrook (Limburg) — Limburg units in 10u radius rond een Hoogoven krijgen +1 armor (gestapeld, cap +3). Versterkt het defensieve heal-pulse-archetype uit Bundel 3: turtling-Limburg is nu echt taai van skirmish tot endgame.
  • Geslepen Wapens (Belgen) — Belgen units in 8u radius rond een Diamantslijperij krijgen +5% crit chance (gestapeld, cap +15%). Ondersteunt de Diamantgloeiende-Wapens upgrade uit Bundel 2A — Belgen zijn nu een burst-damage factie pur sang.

UPGRADEBUILDING 3D — VIER FACTIES

Wagenbouwerij — Brabant Gezelligheid-flux

Innovatie Lab — Randstad +5% movement

Hoogoven — Limburg +1 armor aura

Diamantslijperij — Belgen +5% crit aura

Versioning beleid herzien: vanaf nu MINOR voor features, PATCH voor bug-fixes. Daarmee dekt 0.40.0 alles wat in 0.37.30-41 als feature-bundels achter PATCH-bumps zat. v1.0-pad is daarmee schoner gemarkeerd: 0.40.0 → 0.50.0 → 0.60.0 per feature-milestone.

v0.37.41 28 april 2026

Worstenbroodjeskraam krijgt eigen 3D mesh — 12-GLB visuele dubbele-meshes backlog gesloten

Assets Tests

Bundel 4 sluit af met de twaalfde unieke Meshy v6 GLB van deze sprint — de Brabant Worstenbroodjeskraam — plus een breedte-test-suite die per-gebouw × per-factie smoke-checks vastlegt. Met deze release is de visuele dubbele-meshes backlog (geërfd uit pre-Bundel 1) volledig opgeruimd.

WORSTENBROODJESKRAAM 3D

Worstenbroodjeskraam — 12e Meshy v6 GLB van deze sprint (7.9 MB)

SMOKE UAT — PER-GEBOUW × PER-FACTIE

  • +177 nieuwe smoke tests — Elke buildable per archetype × elke factie krijgt een minimal-build-and-spawn assertion. Voorkomt dat een toekomstige refactor stilletjes één factie's gebouw breekt zonder dat het in een specifieke unit-test naar boven komt.
  • Visuele dubbele-meshes backlog → Resolved — Sinds v0.37.36 (Bundel 5) zijn er 12 unieke Meshy v6 GLBs uitgerold; samen met de eerdere v02-batches deelt geen archetype × factie combinatie meer een mesh met een ander archetype.
v0.37.40 28 april 2026

Brabant krijgt z'n Worstenbroodjeskraam: heal-aura, trakteerronde en passieve Gezelligheid

Feature Gameplay

Brabant had nog geen tertiary-gebouw met eigen identiteit (Gezelligheid is proximity-based, geen X-hotkey). De Worstenbroodjeskraam vult dat gat: drie samenhangende mechanieken die elkaar versterken via Brabant's Gezelligheid-loop.

WORSTENBROODJESKRAAM — DRIE FUNCTIES

  • Archetype Worstenbroodjeskraam — Tier 2, hotkey X, HP 450, kost 150 goud + 100 hout. Past keurig binnen de bestaande tertiary-pattern (Mijnschacht / Chocolaterie / Havermoutmelkbar) maar met een eigen Brabant-twist.
  • Passive: +0.5 Gezelligheid/sec per kraam — Stapelt lineair zonder cap. Geeft de Brabant-economie een betrouwbare flux naast de proximity-based Gezelligheid van workers en buildings.
  • Trakteerronde click (50 Gezelligheid → 30s buff) — Brabant units krijgen +20% movement speed gedurende de buff. Eerste echte Gezelligheid-sink in de game; voorheen was het puur een unit-stat-modifier.
  • Heal-aura — Brabant units in 8u radius regenereren +0.5 HP/sec. Combineert defensief met de Carnavalstent-aura (Bundel 3) en versterkt de "Brabant = mensen verzorgen" thematiek.
v0.37.39 28 april 2026

Havermoutmelkbar krijgt corporate identity: Sprint Mode, Deadline Crunch en Stagiairsleger

Feature Gameplay

De Havermoutmelkbar (toegevoegd in v0.37.20) was tot nu toe alleen een tertiary-resource pomp. Bundel 4 deel 1 voegt drie corporate-themed mechanieken toe — twee click-actions en één passive — die de Randstad-identiteit visceraal maken: alles draait om sprintjes en stagiairs.

DRIE FUNCTIES

  • Sprint Mode (30 havermoutmelk) — 60 seconden +20% gather rate én +20% production speed voor alle Randstad-economy. Eerste Randstad-mechaniek die beide kanten van de economie tegelijk boost.
  • Deadline Crunch (50 havermoutmelk) — 30 seconden waarin alle Stagiairs +50% movement speed krijgen. Pairing met de Sprint Mode-buff geeft een korte, intense burst van Randstad-tempo.
  • Stagiairsleger (passive) — Voor elke 100 havermoutmelk in voorraad: +5% gather rate (gecapt op +25%). Beloont opslag-management — Randstad players moeten kiezen tussen "spend voor click-actions" of "stack voor passive bonus".

HAVERMOUTMELKBAR 3D

Havermoutmelkbar — Randstad tertiary-resource gebouw

v0.37.38 28 april 2026

Victory screen toont eindelijk hoeveel je verzamelde — niet meer "Goud 0" na een 30 minuten game

Bugfix UI

Bug #3 op de RoB-bugs board: het victory-screen toonde altijd "Goud 0" als verzameld-stat, ook na games waarin de speler honderden gold gespendeerd had. Nu correct: cumulatieve gold + wood gathered over de hele match. Label hernoemd "Goud" → "Verzameld" zodat duidelijk is wát het meet.

FIX

  • Stat-tracking via gather-event bus — Elke resource-gathered event accumuleert in SessionStats.totalGathered.gold/wood. Voorheen werd de display gevoed door currentResources wat altijd 0 is op victory (alles uitgegeven aan units/gebouwen).
  • Label hernoemd: "Goud" → "Verzameld" — Toont nu beide resources duidelijk gescheiden. End-of-match-stats voelen daarmee voor het eerst als een echte sessie-samenvatting.
v0.37.37 28 april 2026

Carnavalstent toonde "Dorpsweide", Boardroom toonde "Starbucks HQ" — 9 hardcoded labels gefixt

Bugfix Refactor

Bug #2 op de RoB-bugs board: 9 building-labels in de UI bleven hardcoded mappings tonen die uit sync waren met factionData. Carnavalstent toonde "Dorpsweide", Boardroom toonde "Starbucks HQ", Diplomatiek Salon toonde dubbel "Chocolaterie". Refactor: alle UI-labels routen nu via getDisplayBuildingName(faction, archetype) — single source of truth.

9 LABEL-MISMATCHES GEFIXT

  • FactionSpecial1 buildings — Carnavalstent (Brabant), Boardroom (Randstad), Vlaaiwinkel (Limburg), Diplomatiek Salon (Belgen) toonden alle vier verkeerde labels in selection-card én bouwmenu. Bundel 3 introduceerde de gebouwen, maar de UI-mappings vergaten mee te bewegen.
  • UpgradeBuilding labels — Wagenbouwer / Innovatie Lab / Hoogoven / Diamantslijperij hadden in selection-card de oude generieke "Geavanceerde Smederij" tekst.
  • Refactor naar single source of truth — Alle UI-laag callsites geüniformeerd op getDisplayBuildingName / getDisplayUnitName uit factionData. Dezelfde lesson als v0.37.28 — hardcoded UI-mappings zijn verboden, factionData is de bron.

Memory-update: "factionData single source of truth" als shared agent-regel. Hardcoded UI-mappings = anti-pattern.

v0.37.36 28 april 2026

Bundel 5: 11 unieke building-meshes via Meshy v6 — geen visuele dubbele-meshes meer

Assets 3D

Backlog uit Bundel 3: alle FactionSpecial1-gebouwen, UpgradeBuildings en TertiaryResource-gebouwen deelden nog dezelfde GLB-mesh als hun LumberCamp- of Smederij-equivalent. Deze release vervangt 11 van die stand-ins met unieke Meshy v6 image-to-3D meshes — elke factie's identiteit nu ook visueel gelocked van Tier 1 tot Tier 3.

11 NIEUWE GLBs

  • 4× TertiaryResource — Mijnschacht (Limburg), Chocolaterie (Belgen), Havermoutmelkbar (Randstad), Worstenbroodjeskraam volgt in v0.37.41. Elk met eigen silhouette en material-pass.
  • 4× UpgradeBuilding — Wagenbouwerij, Innovatie Lab, Hoogoven, Diamantslijperij. Eindelijk visueel onderscheid in plaats van de gerecyclede Smederij-mesh.
  • 3× FactionSpecial1 — Carnavalstent (Brabant), Boardroom (Randstad), Vlaaiwinkel (Limburg). Diplomatiek Salon (Belgen) komt in een latere ronde — Meshy gaf nog niet de gewenste salon-vibe.
  • Pipeline — Image-to-3D via building-portrait input (Flux Dev RPG card-art van Bundel 2.5). Realistic-only generation, geen preview-stap. Volledige batch in < 25 minuten via parallel calls.

HERO MESHES

Boardroom — Randstad FactionSpecial1

Hoogoven — Limburg UpgradeBuilding

Vlaaiwinkel — Limburg FactionSpecial1

Carnavalstent — Brabant FactionSpecial1

v0.37.35 28 april 2026

Vier nieuwe factie-specials live: aura, CEO-buff, heal-pulse en diplomatie-events

Feature Gameplay Tests

Bundel 3 levert vier compleet werkende FactionSpecial1 gebouwen — een eerste echte factie-identiteit per gameplay-loop. Hotkey V tier 2 voor alle facties, met vier wezenlijk verschillende mechanieken die elk hun eigen system raken.

VIER FACTIE-SPECIALS

  • Carnavalstent (Brabant) — Aura: alle Brabander units binnen 12u radius krijgen +20% schade. Stapelt multiplicatief op de Carnavalsvuur-aura uit Bundel 2 (1.10 × 1.20 = +32%) en op de tier-bonus van GezelligheidSystem. Niet-stapelend tussen meerdere tents zelf.
  • Boardroom (Randstad) — Klik-actie "Activeer Kwartaalcijfers" (hotkey T): 30 seconden +50% productiesnelheid voor alle Randstad-buildings, dan 90 seconden cooldown voor je 'm weer kan inzetten. Vijfde duration-factor in ProductionSystem naast bureaucracy/CEO-hero/AI-Optimization. Volledig getypeerd state-machine met 8 vitest-locks.
  • Vlaaiwinkel (Limburg) — Passief heal-pulse elke 5 seconden: alle Limburger units binnen 10u krijgen +10 HP. Meerdere Vlaaiwinkels stapelen (pulses × 10). Pipeline-phase 'combat' direct na CombatSystem zodat heal damage same-tick kan compenseren — defensieve faction-identity vastgenageld.
  • Diplomatiek Salon (Belgen) — Random event elke 90 seconden: 33% kans op +50 chocolade (tertiary), 33% +200 gold + 100 wood, 33% een gratis Bierbouwer Worker spawned. Nieuw 'diplomatiek-event' bus-event voor toekomstige HUD-toasts. Verse spawn start met volle 90s cooldown om build-rush exploits te voorkomen.

WORKFLOW + ASSETS

  • Vier subagents parallel — Explore voor archetype-mapping, twee general-purpose agents voor design-doc 3A (Carnavalstent + Boardroom) en 3B (Vlaaiwinkel + Diplomatiek Salon), plus de Asset Generator agent voor 4 building-portraits. Volledige design-fase in < 5 minuten parallel.
  • 4 building-portraits gegenereerd — Flux Dev RPG card-art template met building-interior variant. 4-voor-4 success-rate eerste poging. Visueel sterkst: Boardroom (cinematische glazen vergadertafel met skyline) en Vlaaiwinkel (cozy painterly met houten vlaaikast en mergel-stenen muren).

Test-suite: 1120 → 1152 (+32). Pipeline van 8 systems naar 10. Backlog: alle 4 FactionSpecial1-gebouwen delen nog dezelfde GLB-mesh als de LumberCamp-equivalent — Meshy v6 batch in de volgende sessie maakt elk gebouw ook visueel uniek.

v0.37.34 28 april 2026

Research-panels nu in Barracks-card stijl: 18 painted portraits + locked-state UX

UI Assets

De Smederij, LumberCamp en UpgradeBuilding panels gebruiken nu dezelfde card-look als de Barracks: portrait-image fill-background, cost-badge linker boven, naam met dark gradient onder. Geen losse tekst-rijen meer — alles voelt nu als één gegoten interface.

UI UNIFY

  • Locked-state toont nu wát komt — Vroeger werden upgrades met onvervulde prereqs gewoon verborgen. Nu zie je ze grijs met een rood "X" en tooltip "Vereist: Zwaardvechten II + UpgradeBuilding voltooid". Speler kan vooruitplannen.
  • Smederij T1 verdwijnt zodra T2 done — Voorkomt dat het paneel 7 buttons toont. Researched T1-bonus blijft actief, alleen UI-slot wordt vrijgemaakt voor relevante keuzes.
  • 18 painted upgrade-portraits — Asset Generator agent genereerde alle 18 in één parallel sprint via Flux Dev (RPG card-art template). 7 Blacksmith + 3 LumberCamp + 4 T3 universal + 4 faction-unique. Visueel sterkst: move-speed-2 (galopperend paard met groene bliksem), diamantgloeiende-wapens (gekruiste wapens op België-vlag), melee-attack-3 (gloeiend rune-zwaard).

Test-suite: 1119 → 1120 (+1 bij refactor — bestaande tests bevestigen invariants). Visuele queue voor v1.0: alle 18 portraits zijn nu generic; in v1.0 krijgt elke factie zijn eigen versie (4 × 18 = 72 unieke portraits).

v0.37.33 28 april 2026

Tier 3 onderzoek live, Watchtower toont eindelijk z'n bereik, Housing geeft feedback

Feature Gameplay UI Tests

Drie samenhangende UX-updates. UpgradeBuilding heeft eindelijk z'n eigen research-paneel met 5 buttons per factie (4 T3 universal + 1 factie-uniek). Watchtower laat z'n attack-radius zien als oranje cirkel zodra je 'm selecteert. Housing-completion zorgt nu voor een toast die zegt hoeveel populatie-cap erbij kwam.

UPGRADEBUILDING RESEARCH (BUNDEL 2A)

  • 4 T3 universele upgrades — Zwaardvechten III / Boogschieten III / Bepantsering III / Snelle Mars II. Allemaal gegate door T2 prereq + complete UpgradeBuilding. UpgradeId-range 50-59 nieuw geïntroduceerd om collision met faction-stub IDs (10-19/20-29/etc) te vermijden.
  • 4 factie-unieke upgrades — Carnavalsvuur (Brabant aura: +10% schade rond TownHall), AI Optimization (Randstad: alle gebouwen +20% productie), Mergelharnas (Limburg: Heavy units +3 armor — gebruikt bestaande affectsUnitTypes-filter, ZERO nieuwe code), Diamantgloeiende Wapens (Belgen: 5% kans per attack op 10× crit damage).
  • getUpgradeDefinition refactor naar Map — De array-lookup brak met sparse IDs (14/24/34/44/50-53). Nu een typed Map met expliciete throw bij onbekende ID. Plus een nieuwe optionele world parameter op canResearch en startResearch voor de UpgradeBuilding-gate (defense-in-depth).

WATCHTOWER UX (BUNDEL 2B)

  • Range-indicator als oranje ring — Nieuwe TowerRangeRenderer tekent een translucent ring (RingGeometry 14u radius) op de grond rond een geselecteerde DefenseTower. Z-offset voorkomt z-fighting met terrain.
  • Stats-grid in selection-card — DefenseTower toont nu Bereik / DPS / Bepantsering. BuildingCardData.stats + infoText velden zijn optional, dus ander gebouw-types zijn niet aangetast. Status-text: "Patrouilleert — schiet automatisch op vijanden".

HOUSING FEEDBACK (BUNDEL 2C)

  • Completion-toast met populatie-delta — Bij completion van een Housing-building: "Boerenhoeve klaar — populatie-cap +10 (15/45)" (faction-specifieke naam). Geen guesswork meer over wanneer je cap omhoog ging.
  • Selection info-text — Selecteer een Huuske/Vinex-wijk/Brusselse Woning en zie direct "Biedt +10 populatie-cap" onder de status-line.

Test-suite: 1092 → 1119 (+27). Drie agents parallel voor design-fase (UpgradeBuilding-explore, 8-upgrades-design, Watchtower+Housing-explore) — alle drie tegelijk klaar in < 4 minuten.

v0.37.30 – v0.37.32 28 april 2026

Smederij-knoppen reageerden niet — drie deploys later werkt het hele research-flow

P0 Hotfix Feature Tests

Bundel 1 startte met een door Richard live-gerapporteerde P0: Blacksmith research-knoppen reageerden niet op clicks. Drie deploys later was het probleem onder de motorkap dieper dan gedacht én was er meteen een complete LumberCamp-upgrade pipeline naast.

BLACKSMITH CLICK — TWEE LAGEN ROOT CAUSE

  • v0.37.30 fix #1: event delegation — Diagnose: showBlacksmithResearchUI wordt elke frame aangeroepen zolang een Blacksmith geselecteerd is. panel.innerHTML = '' vernietigde alle buttons + listeners elk frame → click race-condition (mousedown ≠ mouseup target). Eerste fix: één delegated listener op het panel-parent dat overleeft de innerHTML-reset.
  • v0.37.31 fix #2: state-key diff — Event delegation lost het niet 100% op. Wanneer mousedown.target ≠ mouseup.target dispatcht de browser het click-event op de gemeenschappelijke ancestor (= het panel zelf) — target.closest('button') returnt dan null. Echte oplossing: rebuild de buttons alleen als state daadwerkelijk verandert (JSON-key diff). Buttons blijven dezelfde DOM-instances → click fires correct.
  • v0.37.32 fix #3: panel-id partitie — Wood-upgrades (LumberCamp) verschenen ook in de Smederij. Filter toegevoegd zodat Smederij alleen combat/armor/speed (IDs 0-6) toont, LumberCamp alleen wood-IDs (7-9). 4 nieuwe tests locken de partitie tussen de drie panels.

LUMBERCAMP WOOD-UPGRADES (BUNDEL 1B)

  • 3 nieuwe universele upgrades — Houtdraagkracht I/II (workers dragen +5 / +10 hout per trip, stapelt) en Snelle Kap (+25% gather rate). Enum-IDs 7/8/9 in de universele range — collision met Brabant faction-stubs (10-19) voorkomen door Map-lookup ipv array-index.
  • Per-factie naming — Bakkers (Brabant) krijgen "Stevigere Manden / Volkoren Brood / Snellere Bakker", barista's (Randstad) "Latte Capacity / Cold Brew Bonus / Caffeine Kick", vlaaibakkers (Limburg) "Grotere Vlaai / Suiker-Boost / Snellere Oven", frietboeren (Belgen) "XL Patatzak / Mayo-Reserve / Snel Frituren". Twaalf flavour-locks in FACTION_UPGRADE_NAME_OVERRIDES.
  • Gatherer-component uitbreiding — Twee nieuwe Float32Array-velden: carryBonus (additief) en gatherSpeedMult (multiplicatief). Factory init verplicht op gatherSpeedMult = 1 — een Float32Array zou anders 0 zijn en alle workers zouden 0× hout per tick gaan oogsten. Plus een defense-in-depth guard in GatherSystem.

Test-suite: 1059 → 1092 (+33). Drie agents parallel voor de planning-fase (Game-Deployer voor 3D landing restore, Explore voor Blacksmith mapping, general-purpose voor LumberCamp design-doc) — die laatste vond meteen de UpgradeId-collision die het plan zelf miste.

v0.37.22 – v0.37.29 25 april 2026

Audit fase 4 + 5 + vier P0/P1 live-fixes — gameplay nu > 1000 tests gelocked

Audit Bugfix Tests

Sessie 25-28 april bracht het project van audit-modus (test-suite-uitbreiding) door naar buildings-functional-modus. Onderweg vier echte live-fixes na deploy — bevestiging dat de pre-deploy gate bestaande regressies vangt maar niet alle game-design fouten.

AUDIT FASE 4 — COMBAT (v0.37.22-23)

  • UAT-scaffold + pre-deploy regression-gate — Eerst een testbare scaffold (Playwright UAT-01 boot, UAT-02 skirmish-quickstart) gebouwd, daarna een verplichte gate die typecheck → vitest → uat draait vóór elke deploy. Zes deploys via deze gate, nul breakage.
  • Combat audit 5 stappen, +64 tests — HoldPosition retaliation, attack-types vs armor-types matrix, splash-damage radius, Aggro-range edge-cases, projectile-flight integration. Gevonden: HoldPosition retaliation respecteerde state niet (gefixt in v0.37.25).

AUDIT FASE 5 — TECH-TREE (v0.37.26)

  • UpgradeBuilding voor 4 facties geïntroduceerd — Wagenbouwer / Innovatie Lab / Hoogoven / Diamantslijperij. Zonder deze gebouwen was Tier 3 onbereikbaar in alle facties. Plus retroactive-apply tests die voorkomen dat een nieuwe upgrade alleen bij nieuwe units werkt.

VIER ECHTE LIVE-FIXES NA DEPLOY

  • v0.37.24 — Mission 1 hout-deadlock — Tutorial-mission spawnde geen treeResources, dus Carnavalvierder-training (60 hout vereist) was onmogelijk. Plus Brabant building-naming aangepast (vier hardcoded mappings die uit sync waren met factionData).
  • v0.37.27 — ProductionSystem silent-fail Heavy/Siege/SupportUNIT_TEMPLATES had alleen entries voor Worker/Infantry/Ranged. Klik op "Train Tractorrijder" deducteerde resources, geen unit, geen event, geen feedback. Trial-and-error voor de speler.
  • v0.37.28 — Display-namen "Gebouw" / "Unit" voor T2/T3-buildings + Heavy/Siege/Support — hardcoded mappings in Game.ts uit sync met factionData. Iedere factie zag generieke fallback-tekst voor 4-5 unit-typen.
  • v0.37.29 — Terrain blanco buitenring op grote skirmish-maps. Terrain.rebuild() paste alleen features aan, niet de geometry-grootte zelf. Bij map-size 192 bleef de mesh op default 128 staan → bruine buitenring waar geen gebouwen geplaatst konden worden.

Test-suite: 797 → 1059 (+262, +33%). Conclusie van deze sprint: de pre-deploy gate werkt prima voor refactor-regressies, maar mist game-design bugs zoals "kan de speler de tutorial überhaupt voltooien". Cross-laag invariant-tests zijn de volgende coverage-gat (zie BACKLOG).

v0.37.21 18 april 2026

Audit Fase 3b — Training clean, ProductionSystem & Bug 7-patroon nu volledig getest

Audit Tests

Fase 3b (3 stappen — train worker, train infantry/ranged, right-click commands) doorgelopen. Geen P0/P1 bugs. Opnieuw twee diepe coverage-gaten gedicht: ProductionSystem werd alleen via geëxtraheerde pure functies "getest" (duplicaat-logica), niet het echte systeem. En het Bug 7 patroon (Gatherer.state reset) was alleen voor handleBuild gelocked, niet voor de 6 andere command-handlers.

FASE 3b — TRAINING

  • +14 ProductionSystem-actual tests — Echte createProductionSystem() tegen bitecs world: progress-accumulatie + Randstad bureaucracy-slowdown, unit-spawning (entity + unit-trained event payload + populatie-increment), populatie-cap (clamp op 1.0), guards (incomplete/dood/idle/duration=0), queue-shift, worker auto-assign naar nearest resource.
  • +10 CommandSystem Gatherer-reset tests — De Bug 7 contract is nu over ALLE command-types gelocked via publieke commandSystem dispatch: move/attack/attack-move/stop/hold → reset naar NONE, gather → MOVING_TO_RESOURCE (uitzondering), selection-filter (niet-Selected en enemy units worden niet gecommand), non-worker units behouden hun Gatherer-state.

Test-suite deze sessie: 287 → 797 (+510 tests, +178%). Volgende fases: Combat (4) → Tier 2/3 (5) → Endgame (7).

v0.37.20 18 april 2026

Randstad krijgt eindelijk Havermoutmelk — game-breaker bug gefixt + 91 nieuwe tests

Bugfix Gameplay Tests

Tijdens Fase 3 van de audit kwam aan het licht dat Randstad players nooit Havermoutmelk konden produceren. TertiaryResourceSystem verwachtte 2.0 Havermoutmelk/sec per voltooide TertiaryResourceBuilding, maar Randstad had geen X-hotkey om er één te plaatsen. Missie-objectief "vergeet de Havermoutmelk niet" was letterlijk onhaalbaar. Nu gefixt — Havermoutmelkbar (tier 2, X-hotkey).

F5 — RANDSTAD HAVERMOUTMELKBAR

  • Havermoutmelkbar — Randstad's tertiary-resource gebouw (tier 2, hotkey X), exact dezelfde pattern als Limburg's Mijnschacht en Belgen's Chocolaterie. Brabanders blijft terecht zonder X-hotkey: Gezelligheid is proximity-based, geen gebouw nodig.

REFACTORS UIT MONOLIETEN

  • src/ui/factionBuildMenus.ts — Hotkey-grid data uit HUD.ts (2900-regel monoliet) gehaald. FACTION_WORKER_BUILDS, FACTION_BUILDING_LABELS en types nu testbaar zonder DOM. HUD.ts re-importeert ongewijzigd.
  • src/world/buildingCost.ts — Building cost-check + deduct uit Game.handleBuildPlacement geëxtraheerd. checkBuildingAffordability + chargeBuildingCost zijn pure functies die het twee-resources-deductie contract expliciet maken (de Bug 12 categorie waar unit-training in v0.37.16 op vastliep).
  • +91 tests — 77 voor de menu-data (hotkey grid coverage, cross-faction consistency, F5-regression-guard), 14 voor de cost-helper (archetype lookup, ok/fail paths, geen state mutatie bij check, beide resources atomic deductie).

Test-suite deze sessie: 287 → 773 (+486 tests, +169%). Volgende fases: Training (3b) → Combat (4) → Tier 2/3 (5) → Endgame (7).

v0.37.19 18 april 2026

Audit Fase 3 — Economy tier 1 clean, GatherSystem + BuildSystem nu getest

Audit Tests

Fase 3 van de audit (5 stappen — wood/gold harvest, bouwen met workers, placement-rules, bridge-placement) doorgelopen. Geen P0/P1 bugs. Maar: GatherSystem en BuildSystem — letterlijk de kern van de economie — hadden ZERO directe test-coverage. Allebei nu volledig vastgelegd met red→green tests.

FASE 3 — ECONOMY TIER 1

  • +20 GatherSystem-tests — Complete worker state machine: NONE → MOVING → GATHERING (op arrival) → RETURNING (bij volle carry) → MOVING (auto-resume na deposit). Harvesting math (HARVEST_RATE, carry-cap, diminishing returns onder threshold). Resource-uitputting (carry-met-dust → RETURNING, geen carry → zoek volgende, alles op → idle). Deposit routing (gold naar TownHall, wood prefereert LumberCamp + fallback, vijandelijk telt niet, incompleet telt niet). End-to-end round-trip in 1 test.
  • +16 BuildSystem-tests — Progress accumulatie (1/2/5 workers stacken lineair). Range checks (buiten BUILD_RANGE telt niet, op de grens wél, boundary inclusive). Faction filtering (mixed crowd → alleen eigen factie). Dode workers tellen niet. Completion: progress clampt op max, building-placed event fires met juiste payload, geen re-emit. Defensieve guards: complete/dood/maxProgress=0 worden geskipt.
  • Note: Building cost-deductie (gold + wood spend bij placement) zit correct in Game.handleBuildPlacement, maar verweven met DOM raycaster + HUD — pure-helper extractie is follow-up. Brabanders/Randstad hebben geen X-hotkey building (alleen Limburgers + Belgen — TertiaryResource). Mogelijk intentioneel.

Test-suite: 287 → 682 deze sessie (+395 tests, +138%). Volgende fases: Training (3b) → Combat (4) → Tier 2/3 (5) → Endgame (7).

v0.37.18 18 april 2026

Audit Fase 2 — Map & spawn clean, test-suite +125% (287 → 646)

Audit Tests

Fase 2 van de full-playthrough audit (4 stappen — mapgen, terrain, spawn, camera) volledig doorgelopen. Geen P0/P1 bugs gevonden, maar wel een aanzienlijke test-coverage gap: **4 van de 8 map-templates hadden helemaal geen tests**. Die gap is gedicht, plus een cross-template robustness-suite, plus camera-tests, plus een refactor + tests voor het slot-0 spawn-contract.

FASE 2 — MAP & SPAWN

  • +330 mapgen-tests — Fortress, River-Valley, Canyon en Archipelago hadden geen directe test-coverage. Plus cross-template invariants voor elke combinatie van 8 templates × 3 player counts: counts, building↔spawn match, bounds, faction-uniqueness, biome-validatie. Plus robustness: 7 "rare" seeds (0, 1, -1, 42, MAX_INT, MIN_INT, willekeurig groot getal) crashen geen template. Plus determinisme + map-size scaling (80/128/192).
  • +9 spawn-slot tests — Het slot-0 contract is nu permanent vastgelegd: na remapMapPlayerFaction zit de speler-factie altijd in slot 0, de oude slot-0-factie verschuift naar de slot van de speler's keuze, alle coordinates blijven gelijk, geen mutatie van input. Voor elke template × elke factie.
  • +20 camera-tests — RTSCamera pan (WASD + arrows), edge-scroll, zoom-clamp (MIN=8 / MAX=80), map-bounds clamping, setPosition snap, screenToWorld raycast (zowel hit als legitiem null bij sky), resize en shake decay.
  • Mini-refactor: factionRemap.ts — Pure helper geëxtraheerd uit Game.ts. Game.remapFactions is nu een 1-liner die het helper aanroept; de oude inline-logica met as any cast op this.map is weg. Geen gedragsverandering, wel directe testbaarheid.

Test-suite groeide van 287 naar 646 in deze sessie (+125%). Volgende fases: Economy → Training → Combat → Tier 2/3 → Endgame.

v0.37.17 18 april 2026

Full-Playthrough Audit gestart — Fase 1 (boot & menu) clean

Audit Cleanup

Volgende stap na de audit-sprint: een systematische, stap-voor-stap doorloop van de complete game-flow (33 stappen, 7 fases) in de juiste volgorde. Geen cherry-picking meer — elke gameplay-stap krijgt een mini-audit. Fase 1 (boot & menu, 5 stappen) is afgerond zonder P0/P1 bugs; vier dead-code restanten uit de v0.31-v0.32 periode zijn meteen opgeruimd.

FASE 1 — BOOT & MENU

  • App-boot, main menu, settings, factie-select, skirmish opties — Alle DOM-bindings, persistentie via localStorage en Start Gevecht-gating gevalideerd. 287/287 tests groen, typecheck clean, geen P0/P1 bugs.
  • Dood __APP_VERSION__ opgeruimd — De Vite define-substitutie en declare const in FeedbackReporter bleven hangen sinds v0.31.2 (toen de versie-injectie verving door directe import pkgJson in main.ts). Beide weg.
  • Dode menu-cases verwijderdcase 'tutorial' (tutorial loopt sinds v0.32 in eerste campagnemissie, geen menu-knop meer) en case 'settings' (opent direct via MenuScreens.showSettings()) verwijderd uit main.ts. btn-tutorial binding weg uit MenuScreens; MenuAction type krimpt naar 'play' | 'campaign'.
  • tsconfig hardening — macOS Finder duplicaten (* 2.ts, * [0-9].ts) worden nu uitgesloten zodat tsc --noEmit niet struikelt over per-ongeluk-gesynchroniseerde rommel.

Volgende fases: Map & spawnEconomyTrainingCombatTier 2/3 & researchEndgame. Na elke fase: bump + push + (indien nodig) deploy.

v0.37.3 – v0.37.16 17-18 april 2026

Audit Sprint — 14 patches, 9 gameplay-bugs, scroll + shaders gefixed

Bugfix Gameplay UI/UX Tests Audit

Een tweedaagse systematische audit-sprint: 6 gameplay-audits parallel uitgevoerd (6 diepgaande rapporten in audits/), 9 P0/P1 bugs met red-tests vastgelegd voor ze gefixt werden, +81 nieuwe tests (206 → 287), 14 versiepatches, alles gepusht. Focus op kwaliteit + regressieprotectie: elke fix heeft een bijbehorende test die permanent beschermt tegen terugkeer.

AUDIT-FASE (v0.37.3)

  • 6 parallelle agents — Building-placement, Rally/commands, Unit-behavior, Building-behavior, Guidance-UX, Map/terrain audits. Resultaat: 8 rapporten (audits/01-08.md), 5 P0 gameplay-bugs geïdentificeerd, 45 falende red-tests die de fixes zouden valideren
  • Test-inventaris — memory-check corrigeerde oud foutief getal (618 → werkelijk 206 tests / 277 expects)

CORE GAMEPLAY FIXES

  • Rally-point pickt nu resources correct (v0.37.5) — findEntityAtPosition leest nu ECS Position component i.p.v. mesh.position. Right-click op boom/mijn zet worker-rally target betrouwbaar. Extractie naar aparte testbare helper
  • Bruggen over rivieren (v0.37.5, v0.37.7, v0.37.15) — Nieuwe BuildingTypeId.Bridge, terrain.isRiver verplicht voor bridge-placement. Map-gen bruggen snappen nu naar river-paths met correcte rotation én schalen mee met river-width (geen bruggen meer op land of te smal voor het kanaal)
  • FactionSpecial2 produceert nu Heavy (v0.37.4) — Feestzaal/Parkeergarage/Mijnwerkerskamp/Rijschool hadden typeId=Barracks en produceerden Infantry/Ranged (duplicaat). Nu typeId=FactionSpecial2 en produceren Heavy units. T3-progressie eindelijk speelbaar
  • SiegeWorkshop-data toegevoegd (v0.37.4) — HUD toonde knoppen maar er was geen data-entry voor enige factie. Nu 4 volledige entries (Tractorschuur/Sloopwerf/Steengroeve/Frituurkanon-werkplaats) met Siege-productie
  • LumberCamp-error heeft nu context (v0.37.6) — Was "moet binnen 20 eenheden van bomen staan" generiek. Nu gestructureerde PlacementResult met nearestWoodDistance en nearestWoodPosition, error-string toont live de dichtste afstand ("dichtste: 34")
  • Worker hervat niet meer harvesten (v0.37.8) — handleBuild reset nu Gatherer.state naar NONE, precies zoals move/attack dat doen. Gebouwen worden nu daadwerkelijk afgebouwd in plaats van dat de worker na 2 seconden terug naar een boom liep
  • Rally-point werkt op alle productiegebouwen (v0.37.8) — Game.ts createBuildingEntity miste RallyPoint component bij pre-placed buildings in skirmish. Nu shared spawnBuildingEntity helper: contract locked via regression-test
  • Unit-training trekt nu ook hout af (v0.37.16) — CommandSystem riep alleen spend() (gold). costSecondary (hout) werd NOOIT afgeschreven — units waren letterlijk half gratis. Nu dubbele check + spend + refund, pre-flight alert: "Niet genoeg hout! (60 nodig)"

RENDERING & INPUT

  • Terrain shader compile-crash gefixt (v0.37.9) — Three.js r183 declareerde vUv niet meer in onze materiaal-configuratie, fragment shader faalde. Eigen vTerrainUv varying geïnjecteerd, werkt onafhankelijk van Three.js versie-gedrag
  • Wheel-scroll werkte nergens in UI (v0.37.14) — De echte root cause van een half dagwerk aan CSS-gemodder: een globale window.addEventListener('wheel', preventDefault) voor camera-zoom blokkeerde élke scroll in de hele pagina. Listener verplaatst naar canvas only. Menus en panels scrollen nu natief. Memory-learning vastgelegd

UI & ASSETS

  • 4 nieuwe factie-leader portretten (v0.37.10) — Via fal.ai Flux Pro (oil-painting, Rembrandt-stijl, 768×1024 met gouden lijsten). Brabanders prins met worstenbroodje-scepter, stressvolle Randstad CEO met tablet, Limburgse mijnbaron met vlaai, Belgische diplomaat met chocola en frietjes
  • 3 nieuwe HUD command-icons (v0.37.16) — cmd-heavy (warhammer), cmd-siege (catapult), cmd-support (healer-potion) via Flux Dev + BiRefNet. Vervangen generieke "HVY/SIE/SUP" tekst-placeholders
  • Skirmish menu volledig herzien (v0.37.10 t/m v0.37.14) — Broken image-paden gefixt, layout responsive, 3-laag flex (header / scrollable / confirm-bar), Safari-proof scroll, fallback UI voor ontbrekende portretten, FoW-toggle toont nu helder "Aan" of "Uit"
  • Smederij upgrade-paneel (v0.37.16) — Upgrade-buttons liepen over de bovenkant van het paneel. Nieuwe column-flex layout, 160×56 buttons met icoon + naam + kosten, gouden progress-bar, panel positie verhoogd zodat building-card niet overlapt
  • Versie-weergave klopt nu (v0.37.10) — game toonde v0.31.1 terwijl package.json v0.37.x was. Vite's define werkte niet betrouwbaar; nu directe JSON-import uit package.json
  • Boerinneke i.p.v. Boerinne (v0.37.16) — Brabants dialect voor de support-unit. Rename door factionData, HUD, Game, abilities
  • Kerktoren i.p.v. Kerk (v0.37.16) — duidelijker als verdedigings-toren

WERKCIJFERS

  • 14 versiepatches in 2 dagen — v0.37.3 → v0.37.16
  • +81 nieuwe tests — van 206 naar 287 tests (+40%), alle nieuwe functionaliteit locked via red→green cycle
  • 8 audit-rapporten bewaard in audits/ voor toekomstige sessies
  • Typecheck schoon door de hele sprint — geen enkele regressie in bestaande functionaliteit
  • Memory-learnings vastgelegd — wheel-listener-scope gotcha, Safari flex-scroll patterns, test-inventaris

Volgende sessie: systematische stap-voor-stap nalooping van de complete gameplay-flow (main menu → spawn → economy → training → combat → tier 2/3 → endgame), elk punt met eigen mini-audit en red-test waar zinvol.

v0.37.2 16 april 2026

Worker Overhaul & 9 Nieuwe Meshy Modellen

Buildings 3D Modellen UI/UX Gameplay

Een playtest van enkele minuten onthulde een cascade aan problemen: workers konden maar 3 buildings bouwen, heavy units waren onbereikbaar, kosten nergens zichtbaar. Deze update herstelt het volledige building- en productiesysteem.

WORKER BUILD MENU

  • 7-8 buildings per factie -- Het worker menu is uitgebreid van 3 naar 7-8 buildings. Housing voor populatie, Feestzaal/Parkeergarage voor heavy units, Tractorschuur/Sloopwerf voor siege units, en verdedigingstorens zijn nu allemaal bouwbaar
  • Tier lock systeem -- Tier 2 buildings (housing, toren) verschijnen gegreyed out met een slot-icoon totdat je een Smederij hebt gebouwd. Tier 3 (feestzaal, siege workshop) vereist een Geavanceerde Smederij. Hover toont de vereiste
  • Inline kosten -- Elke build-knop toont nu direct de kosten (bijv. "200g+150h"). Geen hover nodig om te weten wat iets kost. Ook op unit train-knoppen in het building panel
  • Building portraits -- Elk building type heeft een uniek canvas-drawn icoon in plaats van het generieke 'BLD' label. Verdedigingstorens, siege workshops en advanced buildings zijn nu visueel herkenbaar

HEAVY, SIEGE & SUPPORT PRODUCTIE

  • Heavy units trainbaar -- De Tractorrijder (Brabanders), CorporateAdvocaat (Randstad), Mergelridder (Limburgers) en Rijexaminator (Belgen) zijn nu produceerbaar vanuit de Feestzaal/Parkeergarage/Mijnwerkerskamp/Rijschool
  • Siege units trainbaar -- Frituurmeester, Sloopkogel, Mijnkarretje en Frituurkanon komen uit de nieuwe siege workshops. Gespecialiseerd in het vernietigen van vijandelijke gebouwen
  • Support units -- Boerinne, HR-Medewerker, Heuvelwacht en Pralinemaker zijn nu trainbaar vanuit de kazerne. Ze helen nabijgelegen eenheden

9 NIEUWE 3D MODELLEN

  • 8 building modellen -- Via Meshy v6 text-to-3D: Feestzaal, Tractorschuur, Parkeergarage, Sloopwerf, Mijnwerkerskamp, Steengroeve, Rijschool en Frituurkanon-werkplaats. Elk gebouw heeft nu een uniek 3D model per factie
  • Randstad Manager v2 -- Het corporate manager infantry model is volledig vernieuwd: scherp pak, tablet in de hand, autoritaire houding. Past beter bij de Randstad-factie

Feestzaal — Brabanders advanced building

Sloopwerf — Randstad siege workshop

Mijnwerkerskamp — Limburgers advanced building

Frituurkanon-werkplaats — Belgen siege workshop

Manager v2 — Randstad infantry unit

UI & RESPONSIVE

  • Responsive menu -- De "Start Gevecht" knop is nu sticky aan de onderkant van het scherm, altijd bereikbaar. Betere breakpoints voor tablets en kleine schermen
  • Blacksmith panel -- Verbeterde layout met betere hover effecten, goud kostprijs badges en een stijlvolle progress bar voor lopend onderzoek
  • Hotkeys zonder WASD-conflict -- Build hotkeys gebruiken nu Q/E/R/T/F/G/Z/X, zodat ze niet conflicteren met de WASD-camera
v0.37.0 15 april 2026

Playtest Fixes — 17 Engine & Mission Bugs

Bugfixes Missies Engine

Eerste echte playtest-ronde ontdekte 17 bugs in de engine, missie-logica en combat balance. Van instant-win exploits tot onzichtbare vijanden: alles gefixed.

  • 7 missies waren instant te winnen -- Het destroy-building objective telde globaal in plaats van per factie. Eén gebouw vernietigen van willekeurig wie gaf je de overwinning. Nu gefilterd op targetFactionId en targetBuildingType
  • Wave tracking per entity -- Missie-waves werden geteld via de globale AI unit counter. Als pre-placed vijanden stierven, telde dat af van de wave count. Nu per-entity tracking zodat waves correct functioneren naast pre-placed enemies
  • AI state leak -- Na een game-switch bleef de AI van de vorige match actief. AISystem.reset() opgezet zodat de AI-staat schoon begint bij elke nieuwe game
  • Dynamische map grootte -- Terrain was hardcoded op 128x128 en negeerde de gekozen kaartgrootte. Nu accepteert het 80-192 dynamisch
  • Victory/defeat prioriteit -- Trigger-based victory controleerde niet of je Town Hall nog stond. Je kon winnen terwijl je eigenlijk verslagen was. Nu checkt defeat altijd eerst
  • Rivier-collision -- Pathfinding fallback gleed door rivieren heen. Nu slide-along-edge physics met isRiver() check
  • Bridge carving -- Bruggen werden als cirkels behandeld in de NavMesh. Nu oriented rectangles die de werkelijke brug-lengte en rotatie respecteren
v0.36.0 15 april 2026

Balance Patch — Siege, Heroes & Gezelligheid

Balance Bugfixes

Siege units waren anti-alles monsters. Randstad heroes domineerden elke teamfight. Brabanders deathball was onoverwinnelijk. Deze balance patch maakt het slagveld eerlijker.

  • Siege units zijn nu building specialists -- Praalwagen attack 60 naar 15 (siegeBonus 4 naar 8). Manneken Pis-kanon attack 55 naar 12 (siegeBonus 4 naar 6). Ze vernietigen gebouwen even snel, maar verliezen nu van gewone troepen
  • Kamerdebat radius nerf -- De Politicus E ability: radius 20 naar 14, duur 12s naar 8s. Was een instant-win knop in mid-game gevechten
  • Verkiezingsbelofte cooldown -- De Politicus Q ability: cooldown 30s naar 50s. Uptime van 50% naar 30%, vergelijkbaar met andere buff abilities
  • Gezelligheid deathball nerf -- Brabanders 20+ tier: max bonus 50% naar 40% attack/speed/armor, damage reduction 20% naar 15%. Deathball nog steeds sterk, niet meer onstopbaar
  • Data sync fix -- archetypes.ts gesynchroniseerd met factionData.ts canonieke waarden. Brabanders Infantry, Ranged en Heavy hadden afwijkende stats
v0.35.1 15 april 2026

Tutorial Fix — Goud-thresholds

Bugfix
  • Tutorial goud-mismatch -- Stap 5 vroeg om 50 goud voor een kazerne die 200 kost. Nu wacht stap 5 op 200 goud. Einddoel verhoogd van 200 naar 500 zodat de missie niet eindigt voordat je door alle stappen heen bent
v0.35.0 15 april 2026

Beta Ready — Alle 9 Sprints Voltooid

Campagne Maps Balance Skirmish

De eerste beta is een feit. Negen sprints, honderden uren werk, en een game die van tech-demo naar een volwaardig speelbare RTS is gegroeid. Dit is waar we naartoe hebben gewerkt.

  • 36 campaign missies over 4 facties -- Elke factie heeft nu een volledige campagne met 8-12 missies. De Limburgers graven zich door vijandelijke linies in "Tunneloorlog", vechten zich door een totale belegering in "De Grote Sjtoelgang" en verdedigen hun mijnrijk op twee fronten in "Koningin van de Mijn". De Belgen beschermen hun wafelfabriek, overleven een verraad van bondgenoten in "Diplomatiek Incident", escorteren een konvooi door vijandelijk gebied naar Brussel, en geven alles in "Het Laatste Bier". De Randstad-campagne eindigt met "IPO Day" — een driehoeksgevecht tegen alle facties tegelijk
  • 8 map templates -- Twee nieuwe slagvelden: Canyon dwingt legers door een smalle kloof met rotswanden en dodelijke choke points — wie de toegangen controleert, wint. Archipelago verspreidt spelers over eilanden verbonden door bruggen, met een rijke centrale eiland als ultieme prijs
  • Variable map sizes -- Klein (80x80) voor een intense 10-minuten skirmish, Medium (128x128) als standaard, of Groot (192x192) voor epische veldslagen met ruimte voor flankaanvallen en verborgen expansies
  • Skirmish tot 4 spelers -- Speel nu tegen 1, 2 of 3 AI-tegenstanders. Kies je moeilijkheidsgraad (Makkelijk geeft je 5 minuten rust, Moeilijk laat de AI na 90 seconden al aanvallen), je startgoud (200/500/1000), en schakel Fog of War in of uit
  • Vier unieke speelstijlen -- Elke factie heeft nu volledig gebalanceerde, unieke unit stats. Limburgers zijn traag maar gepantserd als tanks (de Mergelridder heeft 250 HP en 4 armor). Belgen zijn goedkoop en snel (de Bierbouwer slaat elke 1.2 seconden). Randstad is duur maar dodelijk (de Manager schiet op afstand). Brabanders zijn de veelzijdige all-rounders
  • 618 tests, alles groen -- Volledige kwaliteitscontrole: TypeScript foutloos, alle 618 tests slagen, productie-build succesvol. Elke missie gevalideerd op speelbaarheid, victory-paden en AI-configuratie
v0.34.0 14 april 2026

Het Fundament — Tech Tree, Combat, Heroes & 16 Nieuwe 3D Modellen

Tech Tree Combat Heroes 3D Assets Audio

Vier sprints in één mega-update. Het volledige gebouwen-, combat- en heldsysteem is herschreven van placeholder naar productiekwaliteit. Plus 16 gloednieuwe Meshy v6 3D-modellen en 6 geluidseffecten.

GEBOUWEN & TECH TREE

  • 3-tier tech tree -- Niet alles is meer direct beschikbaar. Tier 1 (Boerderij, Kazerne, Houtzagerij) staat vanaf het begin klaar. Tier 2 (Woonhuis, Wachttoren, Factiegebouw) vereist een Smederij. Tier 3 (Belegeringswerkplaats, Feestzaal) vereist een Geavanceerde Smederij. Progressie die je dwingt om na te denken over je bouwvolgorde
  • 7 nieuwe gebouwtypes -- Woonhuis (+10 populatie), Verdedigingstoren (vuurt automatisch op vijanden), Factiegebouwen met unieke abilities, Belegeringswerkplaats voor siege units. Elk gebouw met volledige stats, bouwkosten en factie-specifieke namen
  • PopulationSystem -- Huizen geven populatieruimte. Wordt je Woonhuis vernietigd? Dan daalt je cap mee, en kun je geen nieuwe eenheden trainen tot je herbouwt
  • Verdedigingstorens -- Automatische aanval op vijanden binnen 14 units bereik. Essentieel voor basisbescherming terwijl je leger op pad is
  • Placement validatie -- Gebouwen checken nu op collisions, waterzones, minimale afstand tot vijandelijke structuren, en houtzagerijen moeten dicht bij bomen staan

COMBAT & HEROES

  • Armor type systeem -- Rock-paper-scissors schadecalculatie: melee doet +50% tegen licht pantser, ranged +50% tegen medium, siege +100% tegen gebouwen, magie +50% tegen zwaar. Elke gevechtskeuze telt nu
  • 24 hero abilities -- Alle 8 heroes (2 per factie) hebben nu 3 volledig werkende abilities (Q/W/E). De Mijnbaas heeft een AoE grondschok, de Frietkoning gooit exploderende frietbommen, de Maasridder is onstopbaar met zijn charge. Framework met 8 executietypes: AoE, cone, line, projectiel, teleport, buff, summon, passief
  • HealingSystem -- Support units genezen automatisch nabije bondgenoten. Elke factie heeft een unieke healer: de Boerinne, HR-Medewerker, Sjpion en Wafelzuster
  • Siege bonus -- Belegeringseenheden doen +100% schade aan gebouwen. De Tractorrijder, Vastgoedmakelaar, Kolenbrander en het Manneken Pis-kanon zijn gebouwd om forten te slopen
  • Production queue cancel -- Annuleer eenheden in de trainingsrij met goudteruggave. Tech tree viewer toont alle beschikbare upgrades en hun vereisten

VISUELE EFFECTEN & DESTRUCTIE

  • Gebouw-destructie animatie -- Gebouwen kantelen, zakken langzaam weg en vervagen over 1.8 seconden bij vernietiging. Vuurparticles, puin en camera shake maken elke verwoesting bevredigend
  • Hero ability effecten -- Elke ability heeft nu een uniek visueel effect: AoE ringen, cone sprays, teleport flashes, heal aura's, stun-sterren boven verdoofde units
  • Buff/debuff indicators -- Gebuffde units gloeien goudkleurig, gestunde units worden grijs, onkwetsbare units stralen helder. Geen UI-element nodig — je ziet het direct op het slagveld

16 NIEUWE 3D MODELLEN & 6 SFX

  • 8 siege & support units -- Tractorrijder met kanon, Vastgoedmakelaar met sloopkogel, Kolenbrander met mijnkar, Manneken Pis-kanon. Plus healers: Boerinne, HR-Medewerker, Sjpion, Wafelzuster. Alle via Meshy v6 production mode
  • 8 gebouwen -- Per factie een uniek Woonhuis (Brabantse boerderij, Randstad appartement, Limburgs grottenwoning, Belgisch rijhuis) en Verdedigingstoren (windmolen, kantoortoren, mijnschacht, belfort)
  • 6 nieuwe geluidseffecten -- Gebouwvernietiging (instortend hout/steen), upgrade voltooiing (fanfare), hero spawn (epische hoorn), hero dood (dramatische stinger), siege impact (explosie), heal tick. Via ElevenLabs SFX
  • 33 Randstad voice lines -- Manager, Consultant en Advocaat spreken nu met overtuiging. "Ik wil een status-update!" en "Dit staat niet in mijn contract" klinken over het slagveld

Tractorrijder — Brabanders siege unit

Manneken Pis-kanon — Belgen siege unit

Mijnschacht — Limburgers verdedigingstoren

Boerinne — Brabanders support healer

Appartement — Randstad woonhuis

Grottenwoning — Limburgers woonhuis

v0.33.0 14 april 2026

De Nieuwe Tutorial — Leren Zonder Frustratie

Tutorial Onboarding

De oude tutorial gooide je in het diepe en liet de AI na 2 minuten aanvallen terwijl je nog leerde hoe de camera werkt. Dat is voorbij. De nieuwe tutorial is een complete herschrijving: 12 stappen die je rustig door elk concept leiden, zonder haast, zonder stress.

  • 12-staps leerpad -- Van camera bewegen tot je eerste overwinning. Elke stap focust op precies één concept: camera → unit selecteren → box-select → goud verzamelen → wachten op resources → gebouw plaatsen → constructie → unit trainen → productie → aanvallen → verdedigen → missie voltooien. Geen informatie-overload meer
  • Input lock per stap -- Je kán niet meer per ongeluk vooruit skippen. Alleen de acties die bij de huidige stap horen zijn toegankelijk. Wil je een gebouw plaatsen? Dat kan pas als je genoeg goud hebt verzameld
  • Visuele highlights -- Een pulserende gouden ring en een pijl wijzen precies naar waar je moet klikken. Goudmijn, kazerne, vijand — je hoeft nooit te zoeken
  • Pauze bij nieuwe concepten -- Bij stappen over resources, bouwsnelheid en productie pauzeert het spel automatisch. Een overlay legt uit wat er gebeurt, en je klikt "Doorgaan" als je er klaar voor bent
  • Geen vijanden tot stap 10 -- De eerste 9 stappen zijn een veilige leeromgeving. Pas bij stap 10 verschijnen 3 vijanden, en bij stap 11 komen er 5. Je hebt dan al een leger
  • Sneltoets-tooltips -- Bij het eerste gebruik van B (bouwen), W (trainen) of A (attack-move) verschijnt automatisch een tooltip die na 10 seconden verdwijnt
  • Skip-knop pas bij stap 8 -- Ervaren spelers kunnen na de basis-stappen direct naar het gevecht, maar beginners worden niet verleid om te vroeg te skippen
  • Voortgangsindicator -- 12 stippen onder het tutorial-paneel tonen waar je bent: voltooid (goud), huidig (pulserend), en toekomstig (grijs)
v0.32.0 14 april 2026

Visual Polish — Helder Slagveld, Echte 3D Assets

Visual 3D Assets UI Fix
  • Fog drastisch verminderd -- Exponentiële fog density van 0.012 naar 0.003 (75% minder waas). Het slagveld is nu helder en overzichtelijk
  • Geschilderde command icons -- 6 fal.ai-gegenereerde WarCraft-stijl iconen vervangen de SVG-icons: een arbeider met pikhouweel, schild-met-zwaard, boog-met-pijl, gouden kroon, oorlogsvlag en smidsaambeeld. Hotkeys (Q/W/E/R) als badges over elk icoon
  • Stenen boogbrug (3D) -- Procedurele dozen-brug vervangen door een Meshy v6 3D model: verweerde stenen boogbrug met leuningen, klimop en booggewelf over de rivier
  • Mijnschacht-ingang (3D) -- Complexe procedurele tunnel (20+ geometrie-objecten) vervangen door een Meshy v6 3D model: stenen boogpoort met houten balken en lantaarns
  • Doelstellingen panel vernieuwd -- Gradient achtergrond, gouden randbalk, separator onder de header, progress bars voor multi-value objectives
  • Versie-indicator verplaatst -- FPS/versie-info van rechtsboven (waar het de SND- en pauzeknop overlapte) naar rechtsonder

Stenen boogbrug — Meshy v6

Mijnschacht-ingang — Meshy v6

v0.31.1 14 april 2026

"Het Ontstaan" v2 — De Nachtelijke Herkansing

Cinematic Audio
  • Cinematic volledig opnieuw geproduceerd -- Nieuwe keyframes, nieuwe clips, betere gelijkenis van de maker. Gegenereerd in de kleine uurtjes omdat de eerste versie niet goed genoeg was
  • LoRA face model -- Getrainde AI die het gezicht van de maker exact kan reproduceren in elke scene, in plaats van de knullige face-swap van v1
  • Hybride video pipeline -- Seedance 2.0 voor de epische game-scenes (factie-shots, altaar, slagveld) met cinematische camera-effecten, Kling voor de maker-scenes met gezichtsherkenning
  • Zelfde epische audio -- Voice-over, "Storm Over Low Fields" score en 12 SFX ongewijzigd — die waren al perfect
v0.31.0 13 april 2026

HUD Visual Upgrade — Van Tekst naar Iconen

UI Fix
  • 12 SVG command icons -- Tekst-labels (MOV/ATK/STP) vervangen door visuele iconen: gekruiste zwaarden, schild, boog met pijl, kroon, vlag, aambeeld
  • 9 gebouw-portretten -- Canvas-drawn portraits voor elk gebouwtype: Town Hall met toren en vlag, kazerne met zwaarden-embleem, smederij met aambeeld, mijnschacht met ertskar
  • Resource bar vernieuwd -- CSS-shapes vervangen door inline SVG: gouden munt, houtblok met jaarringen, bierpul voor Gezelligheid, factie-specifieke tertiaire icons (kolen, chocolade, havermoutmelk)
  • Design-bible opgeschoond -- 4 gebroken image-paden hersteld, 11 emoji-fallbacks verwijderd (nul emoji's in de hele codebase)
v0.30.0 13 april 2026

Gameplay Sprint — Tunnels, Terrein en Goudmijn

Gameplay Fix Terrein
  • Tunnels tutorial -- Limburger Mission 1 leert nu het tunnelsysteem: pre-placed Mijnschacht als endpoint, objective om tweede te bouwen, tips over transit (3 seconden, +25% surprise attack bonus) en onderhoud
  • Terrein rendering upgrade -- Procedurele normal map (1024×1024) met 3 octaves simplex noise, roughness map per terreinzone, custom FBM shader met 4 octaves micro-detail, 8 hoogtezones (was 5), slope-based AO en valley darkening
  • Goudmijn gefixed -- v02 goldmine model zakte in het terrein door ontbrekende scale (nu 2.8) en verkeerde Y-offset (nu 2.5, consistent met alle andere gebouwen)
  • Water verfijnd -- Meer transparantie, scherpere reflecties, hogere envMapIntensity voor realistischer uiterlijk
v0.29.0 13 april 2026

"Het Ontstaan" -- Eerste AI Cinematic

Cinematic Video Audio
  • 30 seconden origin cinematic -- "Het Ontstaan" vertelt het verhaal van Reign of Brabant, van maker achter de laptop tot het slagveld met vier facties
  • AI-gegenereerde pipeline -- 9 keyframes (Flux Pro), 9 videoclips (Kling v3 + Seedance 2.0), face-swap voor de maker, 12 SFX (MMAudio V2)
  • Voice-over -- Richard spreekt zelf de Brabantse tekst in: "Brabant... een land van worstenbroodjes, bier, en gezelligheid"
  • Vier facties in beeld -- Floris op de heuvel, de Mijnbaas uit de grot, de Frietkoning met zijn friet, de CEO in zijn glazen kantoor
  • Epische score -- "Storm Over Low Fields" (Suno) met orchestrale crescendo, oorlogshoorn, strijdkreet, en bass drop bij de titelcard
v0.28.0 12 april 2026

In-Game Feedback -- Jouw Stem Telt

Community API
  • Feedback systeem -- druk ESC en kies "Feedback geven", of klik de subtiele knop rechtsboven in het HUD
  • 4 categorieën -- Bug/Issue, Balans, Idee/Feature, of gewoon een compliment
  • Auto-capture -- game state (factie, difficulty, speeltijd, stats) en screenshot worden automatisch meegestuurd
  • GitHub Issues -- elke feedback wordt automatisch een issue op GitHub, inclusief game state en screenshot
v0.27.0 12 april 2026

Schermutsel Overhaul -- Van Menu naar Beleving

Schermutsel UI Maps
  • Faction select met hero portraits -- ronde kaarten met de Prins, CEO, Mijnbaas en Frietkoning i.p.v. letters
  • 6 map templates -- Klassiek, Kruispunt, Eilanden, Arena + 2 nieuwe: Fort (centraal beleg) en Rivierdal (brede rivier, 5 bruggen)
  • Difficulty selector -- Makkelijk, Normaal, Moeilijk. AI past attack timing en leger-grootte aan
  • Map kaarten met beschrijvingen -- visuele selectie i.p.v. dropdown
Prins van Brabant
Faction Select
CEO
Hero Portraits
v0.26.0 12 april 2026

Goldmine, Tutorial & Campaign Fixes

3D Model Tutorial Bugfixes Audio
  • Nieuw goldmine model -- Meshy v6 productie-kwaliteit met stenen boog, goudaders en mijnkarretje (4.6MB)
  • Tutorial in eerste missie -- "De Oogst" is nu een 8-staps guided tutorial met correcte hotkeys (B=barracks, W=infantry)
  • Campaign scroll fix -- alle 12 Brabanders missies zijn nu bereikbaar
  • Unit spawn voices -- elke eenheid spreekt nu in eigen stem bij training (was 1 generiek geluid)
  • Schermutsel fix -- faction select was onzichtbaar door CSS conflict
Goldmine v2
Meshy v6
v0.25.0 12 april 2026

Updates Pagina & Agent Memory

DevOps Systeem
  • Visuele changelog -- deze pagina! Met interactieve 3D model viewers, hero portraits en versie-timeline
  • Bidirectioneel agent memory -- 7 AI-agents onthouden nu lessen tussen sessies. Shared memory + per-agent geheugen voorkomt herhaalde fouten
  • Kosten-tekst verwijderd -- de toon is nu ambitieus ("vetste game ooit"), niet zielig
  • Updates link in navigatie -- toegevoegd aan alle pagina's
v0.24.0 11 april 2026

Heavy Units -- De Cavalerie Arriveert

3D Models Nieuw Unit Type
  • 4 unieke Heavy unit modellen -- elk via Meshy v6 image-to-3D, geript en geanimeerd in Blender
  • Tractorrijder (Brabanders) -- gepantserde boer op z'n tractor, 11MB aan detail
  • CorporateAdvocaat (Randstad) -- advocaat in pak met stalen pantserplaten
  • Mergelridder (Limburgers) -- ridder in mergelsteen-armor
  • Frituurridder (Belgen) -- ridder met frituur-thema armor
Tractorrijder
Brabanders
CorporateAdvocaat
Randstad
Mergelridder
Limburgers
Frituurridder
Belgen
v0.23.0 11 april 2026

UX Polish -- Tooltips, Surrender & HUD

UI/UX Bugfixes Balans
  • HUD mode indicators -- persistent top-bar toont actieve modus (Bouw/Rally Point/Attack-Move) met ESC-hint
  • Tooltip systeem -- hover over bouw- en trainingsknoppen voor archetype stats (HP, Attack, DPS, Armor)
  • Mission surrender -- "Opgeven" knop voorkomt softlocks bij onwinbare situaties
  • Infantry/Ranged DPS rebalance -- vloeiendere early game gevechten
  • Hero revive bug gefixt -- fragiele indexOf check vervangen door robuuste template literal
  • Donation flow vereenvoudigd -- van 2-stap naar 1-stap checkout
v0.22.0 11 april 2026

Social & Cinematic -- De Wereld Delen

Social Cinematics Deploy
  • Social share buttons -- WhatsApp, Facebook, LinkedIn, Telegram, X op alle pagina's
  • Cinematic key art -- landscape en portrait renders voor social media
  • 3 unieke profielfoto's -- Prins, CEO en Frietkoning als social media avatars
  • Deploy validatie gate -- automatische pre-deploy checks en post-deploy HTTP verificatie
Cinematic landscape key art
Cinematic Key Art
Social media profielfoto
Social Avatar
v0.21.0 11 april 2026

De Wereld Komt Tot Leven -- Heroes, Terrein & Tunnels

3D Models Heroes Map System
  • 8 hero portraits -- unieke painted art per hero via fal.ai Flux Dev
  • 12 unit portraits -- faction-specifieke portraits voor worker/infantry/ranged
  • 8 hero 3D modellen -- Meshy v6 image-to-3D met Blender auto-rig en 5 animaties per hero
  • Terrein variatie -- heuvels, plateaus, kliffen, 4 biomes per map template
  • Rivieren en bruggen -- natuurlijke barrières met strategische choke points
  • Tunnel systeem -- bidirectionele warp-punten met 3D grot-ingangen
  • Wegen -- visuele paden met 35% speed bonus
Prins van Brabant
Prins van Brabant
CEO van Randstad
CEO
Mijnbaas
Mijnbaas
Frietkoning
Frietkoning
Prins van Brabant
Hero
CEO
Hero
v0.19.0 10 april 2026

Analytics, Payments & Crypto

Infra Payments
  • Umami Analytics -- self-hosted analytics op eigen M4 server
  • Mollie betalingen -- iDEAL, creditcard, Bancontact, PayPal
  • Live donatie-teller -- worstenbroodjes counter op de steunpagina
  • Crypto wallets -- Bitcoin en Ethereum via Kraken met QR codes
  • SEO basis -- robots.txt, sitemap, structured data, OG images op alle pagina's
v0.18.0 10 april 2026

Eigen Domein & Crowdfunding Launch

Launch Landing Page Balans
  • reign-of-brabant.nl -- eigen domein live op de Mac mini M4 in Bladel
  • Landing page -- parallax hero, factie showcase, cinematic embed, bio
  • Crowdfunding pagina -- worstenbroodjes-economie, Konami code easter egg
  • Hero ability systeem -- visuele Q/W/E knoppen met cooldown sweep
  • Late-game economie -- unit upkeep, diminishing returns, AI scaling
  • Factie-specifieke unit costs -- elke factie heeft eigen economische balans
Reign of Brabant hero banner
Landing Page Hero
Wereldkaart vier facties
Wereldkaart
v0.17.0 7 april 2026

Randstad Campaign -- De Grote Overname

Campaign 5 Missies
  • 5 Randstad campaign missies -- van "De Eerste Vergadering" tot "De Boardroom Beslissing"
  • Progressief leerpad -- elke missie leert nieuwe Randstad mechanics
  • Epische finale -- versla alle 3 andere facties op een 256-size map