Normandië, juli 1944. Je rijdt een Amerikaanse M4 Sherman van het geallieerde kamp naar het fictieve dorp Saint-Vaast-la-Mare en verder. Het level is gehaald als het Duitse vliegveld (drie Messerschmitts en een brandstofdepot) en de commandobunker met het radiostation vernietigd zijn. Onderweg staan 21 Duitse soldaten en twee Panzer IV's.
De tank heeft vijf bemanningsleden: commandant, schutter, chauffeur, lader en radioman. Met F stapt het gekozen bemanningslid uit en speel je verder te voet, met zijn eigen wapen: Thompson, Garand, een sluipschuttersgeweer of de bazooka van de lader. Wie uitstapt, ontbreekt in de tank. Zonder chauffeur rijdt hij niet, zonder schutter zwijgt het kanon, zonder lader duurt herladen langer. De lader legt antitankmijnen en kan de bunker met een springlading opblazen, de chauffeur repareert rupsen en motor in het veld.
In de dorpskerk herstellen bemanningsleden hun gezondheid, maar alleen als er geen Duitsers in de buurt zijn. Binnen schakelt het beeld naar een kerkinterieur met glas-in-lood en lichtbundels. In de garage wordt de tank gerepareerd en getankt, in het kamp aangevuld. Met P zet je het spel stil en plan je looproutes voor wie buiten staat. In het pauzemenu staat een cheatmodus, zoals in Night Eagle: dan raken tank en bemanning niets kwijt.
Het beeld is three.js met een orthografische camera onder een vaste isometrische hoek. Daardoor werken schaduwen, dag en nacht, mist en regen gewoon in 3D. Voertuigen, soldaten, huizen, de kerk en de bunker zijn in code opgebouwd; de soldaten lopen, richten, gooien en vallen met procedurele animatie. Grond en muren gebruiken foto-texturen van Poly Haven (CC0). De crewportretten en het titelschilderij zijn gemaakt met een beeldmodel van OpenAI. Al het geluid, van motor tot kerkorgel en muziek, wordt live gesynthetiseerd met de Web Audio API.
De simulatie staat los van het beeld en rekent in vaste stappen van 1/60 seconde; de vijanden gebruiken toestandsmachines en A*-routes. Savegames gaan naar IndexedDB, met een versienummer. Unit-tests in Vitest controleren tankfysica, bemanning, munitie, cheatmodus, missie en savegames; end-to-end-tests draaien in Chromium, Firefox en WebKit. Spelen kan op een computer met toetsenbord en muis.
De tank heeft vijf bemanningsleden: commandant, schutter, chauffeur, lader en radioman. Met F stapt het gekozen bemanningslid uit en speel je verder te voet, met zijn eigen wapen: Thompson, Garand, een sluipschuttersgeweer of de bazooka van de lader. Wie uitstapt, ontbreekt in de tank. Zonder chauffeur rijdt hij niet, zonder schutter zwijgt het kanon, zonder lader duurt herladen langer. De lader legt antitankmijnen en kan de bunker met een springlading opblazen, de chauffeur repareert rupsen en motor in het veld.
In de dorpskerk herstellen bemanningsleden hun gezondheid, maar alleen als er geen Duitsers in de buurt zijn. Binnen schakelt het beeld naar een kerkinterieur met glas-in-lood en lichtbundels. In de garage wordt de tank gerepareerd en getankt, in het kamp aangevuld. Met P zet je het spel stil en plan je looproutes voor wie buiten staat. In het pauzemenu staat een cheatmodus, zoals in Night Eagle: dan raken tank en bemanning niets kwijt.
Het beeld is three.js met een orthografische camera onder een vaste isometrische hoek. Daardoor werken schaduwen, dag en nacht, mist en regen gewoon in 3D. Voertuigen, soldaten, huizen, de kerk en de bunker zijn in code opgebouwd; de soldaten lopen, richten, gooien en vallen met procedurele animatie. Grond en muren gebruiken foto-texturen van Poly Haven (CC0). De crewportretten en het titelschilderij zijn gemaakt met een beeldmodel van OpenAI. Al het geluid, van motor tot kerkorgel en muziek, wordt live gesynthetiseerd met de Web Audio API.
De simulatie staat los van het beeld en rekent in vaste stappen van 1/60 seconde; de vijanden gebruiken toestandsmachines en A*-routes. Savegames gaan naar IndexedDB, met een versienummer. Unit-tests in Vitest controleren tankfysica, bemanning, munitie, cheatmodus, missie en savegames; end-to-end-tests draaien in Chromium, Firefox en WebKit. Spelen kan op een computer met toetsenbord en muis.
Meer werk

The Art of Eight Limbs — Muay Thai, Muay Boran en Lethwei
Geïllustreerd eerbetoon aan Muay Thai, Muay Boran en Lethwei: acht geschilderde scènes, logo's in Thais en Birmees schrift, dieren en heilige tatoeages.

Lethwei: Blood & Honor
Een 2D-vechtgame in de browser over Lethwei, het Birmese vechten met vuisten, ellebogen, knieën, trappen en het hoofd. Vier vechters, twee arena's.

ERIK — de oorspronkelijke kubusanimatie
De 3D-animatie die tot oktober 2026 bovenaan mijn homepage stond: 50 kubussen in three.js vormen ERIK, met een foto en video's op de vlakken.
