For those younger than me, Kroz was Apogee's first game, a text-mode dungeon crawler from 1987. Apogee released the Turbo Pascal source under GPL in 2009.
I ported the 1990 episode (Lost Adventures of Kroz) to the browser. No dependencies typescript.
Some interesting tidbids I learned:
The game's clock is its sound :-)
Turbo Pascal's delay() blocks, and the sound effects are built out of delays, so a footstep is an 8 ms tone, 120 ms of silence, another 8 ms tone. That silence is the turn. You can't outrun Kroz by mashing keys because every move costs the length of its own beep. In the port a square-wave oscillator reproduces this (no samples etc), and playing a sound returns its duration whether or not it is audible.
DOS Kroz asked at startup: "Slow or Fast PC" - and repeated sound chunks according to this.
All the hidden stuff, easter eggs, and even most of bugs are reproduced. You can play it just like original. Oh, one thing - instead of ASCII letters I used tiles (from Dungeon Crawl Stone Soup (CC0)).
I started with Lost Adventures because Apogee's source was most complete. I will continue with rest of the episodes.
AI Disclose: I used Claude to help me extract levels from the Pascal source and to test it by taking over chrome session and measure miliseconds :D
You can play it here:
https://taler.pl/rokz/
source code here: https://github.com/htaler/rokz
reply