Ein 40 Jahre altes C++-Spiel, unverändert lauffähig in jedem modernen Browser — in einem selbst gebauten CRT-Terminal, mit live erzeugtem Soundtrack, einem atmosphärischen Erzähler und ganz ohne Installation.
Die Herausforderung
Das echte Umoria von 1983 — kein Remake — in einem modernen Browser zum Laufen bringen und es anfühlen lassen wie an einer Bernstein-Bildröhre: lebendig, atmosphärisch, installierbar und sofort spielbar, ohne Download. Ein originalgetreues Remake ist praktisch unmöglich (jedes Monster, jeder Gegenstand, jede Formel müsste exakt stimmen) — also musste der Originalcode unverändert laufen, eingefasst in eine Präsentationsschicht, die ein Portfolio trägt.
Das Vorgehen
- Originalen C++-Code zu WebAssembly kompiliert. Der unveränderte Quellcode von Umoria 5.7.15, mit Emscripten zu WASM/asm.js gebaut, über ein reproduzierbares Build-Skript.
- Eine schlanke „Hülle“ über der Engine. Sie liest das versteckte 80×24- Textraster der Engine in jedem Frame und rendert es über einen eigenen WebGL-CRT-Shader neu — Scanlines, Röhrenwölbung, Phosphor-Glühen, Flackern, Vignette.
- Eine live erzeugte, sich entwickelnde Klangwelt (ohne Audiodateien). Mehrschichtiger WebAudio-Score, der mit der Tiefe düsterer wird, Dungeon-Ambiente, Sterbeschreie je nach Kreatur und ein gesprochener Erzähler aus gemeinfreien Lesungen — die Musik duckt darunter weg.
- Spielmechanik als saubere C++-Patches. Mehrere Leben, ein Extra-Leben pro 50 Kills, Bildschirmfarbe pro Leben, dazu Pfeiltasten-Steuerung für Tastaturen ohne Ziffernblock und regelbare CRT-Verzerrung — ohne die Speicherkompatibilität zu brechen.
- Als echtes Produkt ausgeliefert. Installierbare PWA (Fenster ohne Browser-Leisten), Spielstände in IndexedDB, dateiweises Cache-Busting per Inhalts-Hash und robuste Fallbacks bei blockiertem Speicher oder altem Cache.
- Automatisierte Qualität + Assets. Headless-Chrome (DevTools Protocol) für interaktive Smoke-Tests und Screenshots; zweisprachige Dokumentation.
Das Ergebnis
- Ein vollständiges, authentisches Roguelike, das in Sekunden lädt — in jedem modernen Browser, sofort anklick- und spielbar, ohne Installation.
- Installierbar als Desktop-/Mobile-App für ein aufgeräumtes, ablenkungsfreies Fenster.
- Eine eigenständige, atmosphärische Präsentation (CRT + komplett prozedurales Audio), die nach Handwerk aussieht, nicht nach Vorlage.
- Ein reproduzierbarer Build und gründliche, zweisprachige Doku — leicht aufzugreifen, neu zu bauen und zu erweitern.
Was das zeigt
- Ich kann Schwieriges oder Altsystem-Code nehmen und ein poliertes, schnelles, installierbares Web-Produkt von A bis Z ausliefern.
- Volle Verantwortung: Architektur, Build-Pipeline, Performance, Deployment, Doku.
- Sicher in Grafik (Shader), Audio (Synthese), Systemen (WASM/C++) und Tooling — mit einem klaren Blick für UX und Details.
- Moderne, KI-gestützte Umsetzung, die Ideen schnell in laufende Software verwandelt — vom Menschen gesteuert und kuratiert.
Technik auf einen Blick
C++ · Emscripten · WebAssembly / asm.js · WebGL (eigener CRT-Shader) · WebAudio (prozedurale Synthese) · Progressive Web App · IndexedDB · Chrome DevTools Protocol (Headless-Tests) · GitHub Pages


