Lethwei: Blood & Honor

2026

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.

Lethwei komt uit Myanmar en verschilt van Muay Thai op één punt dat je meteen ziet: de kopstoot mag. Met vuisten, ellebogen, knieën, schenen en het hoofd heeft een vechter negen wapens. In deze game vechten vier vechters: Aung uit Myanmar tegen Kenji uit Japan bij de mannen, May Thiri uit Myanmar tegen Lena uit Nederland bij de vrouwen. Mannen vechten alleen tegen mannen, vrouwen tegen vrouwen. Er zijn twee arena's: tussen de tempels van Bagan bij zonsondergang, en op de binnenplaats van een tempel in de regen.

Er zijn 21 technieken, elk met een eigen opbouw, raakmoment en herstel in frames. Welke techniek je gooit, hangt af van richting plus knop: vooruit met stoot is een cross, achteruit een hoek, omlaag een uppercut, twee keer snel vooruit een overhand. In de clinch worden knie en kopstoot clinchtechnieken, en direct na een blok is de kopstoot een counter. Blokken kan hoog en laag; ontwijken door achterover te leunen, terug te stappen of onder een stoot door te duiken. Elke vechter heeft een eigen special, zoals Aungs Iron Skull Counter: een dekking die de volgende stoot opvangt en met een kopstoot beantwoordt. Wie neergaat, wordt uitgeteld; drie keer neer in één ronde beëindigt het gevecht. Zonder knock-out beslissen de juryleden, of het wordt een gelijkspel zoals in traditionele Lethwei.

Elke treffer op het hoofd komt op één plek van het gezicht terecht: wenkbrauw, oog, neus, mond of wang. Een blauw oog zwelt langzaam dicht, ellebogen en kopstoten openen de wenkbrauw, bloed loopt omlaag en blijft op de vloer liggen. Die lagen staan op elke tekening op de juiste plek, ook tijdens een trap of een val, omdat het script bij het bouwen in elke tekening het hoofd opzoekt. In de instellingen kan het bloed minder of uit.

Elke vechter bestaat uit 32 tekeningen, gemaakt met een beeldmodel van OpenAI vanuit één referentievel, zodat gezicht, kleding en bandages gelijk blijven. De arena's zijn opgebouwd uit zes lagen die met parallax bewegen. In totaal 51 beelden, voor ongeveer 11 dollar. Een script haalt het groene scherm weg, knipt de figuren uit, brengt ze op één schaal en zet ze vast op de heupen, gevonden aan de kleur van de broek. Daardoor blijft het lichaam op zijn plek, op welke voet de vechter ook staat. De beweging tussen tekeningen komt uit klassieke animatietrucs: aanloop, uitgerekte nabeelden, doorzwaaien, ademhaling. Een knock-out vertraagt de tijd, zoomt in en maakt de wereld even donker.

Gebouwd met Phaser 3 en TypeScript. Het gevecht is een losse simulatie die in vaste stappen van 1/60 seconde rekent. De computertegenstander speelt via dezelfde toetsen als een mens, ziet de ander een paar frames te laat en heeft drie niveaus. Met 20 wedstrijden per paar en niveau is gemeten dat elke vechter op de twee hoogste niveaus tussen ongeveer 40 en 60 procent wint. Al het geluid, van de Birmese trommels tot de regen en de kopstoot, wordt live gesynthetiseerd met de Web Audio API. Unit-tests in Vitest controleren gevecht, computer en beeldscript; end-to-end-tests draaien in Chromium, Firefox en WebKit. Spelen kan op een computer met toetsenbord of gamepad.

Technologieën

Phaser 3 TypeScript Vite Web Audio OpenAI Images API Vitest Playwright

Meer van mijn werk

Bekijk het hele portfolio of lees het blog.

Meer werk