Frotz-GL (frotz frontend)

After finding some old Infocom games in storage I was eager to play them again. I quickly found out about Frotz for Windows. Which is nice, but also quite “boring” to me. So over the last few weeks I was working on FrotzGL (preliminary name), a frontend to Frotz using OpenGL. So at least it looks like playing on an old computer :slight_smile:
It is already playable (even featuring a HDR renderer), but still missing some crucial features like saving and loading, and some more eye-candy features and options.
I hope to finish and release it later this year.

I am not using any engine like Unity or Unreal, everything was written from scratch, using the current version of frotz.



neat ! this would be even better than frotz in cool-retro-term :smile:


Thanks, cool-retro-term was one my inspirations, since I couldn’t find it for Windows :grin:

Cool! Would you consider replicating the noises made by the hardware? I’m thinking of keyboard clicks, the terminal bell, noises from fiddling with diskettes, the drive latches, grinding and whooshing sounds from the drives themselves, fans, and maybe a whine from the CRT’s flyback.

Also, please keep in mind portability. I’d love to see this work as a generic user interface for any IF engine or, more ambitiously, for any emulator and be usable on Windows, Mac, and Unix.

Come to think of it, looking at MAME may be helpful.


There are a few things on my to-do list:

  • retro Sounds: Keyboard, Computer, disks (I already recorded my IBM Model M Keyboard)
  • interactive Keys (at least a few of the Function Keys)

Support for more than one Interpreter is possible. The Interpreter is running in it‘s own thread and wrapped using an Interface. I might look into supporting other Interpreters once I am done with this one :slight_smile:


So, I was quite busy with work, so progress was slow. Save/Restore has been implemented, as well as some more work on the renderer (PBR+HDR added) and the text display. I added a small “DOS” frontend, you have to load games using the keyboard.
Currently I am reading a lot on GPL to get a first release ready. Binaries will be up on, sources on github.

I made two new screenshots and a small youtube video (


Do you have any new developments to announce? I’ve been asked if Frotz can add speed controls to emulate old platforms and I thought of this project.

1 Like


not much progress on my side, I was doing lot of overtime at my day-to-day job, leaving less time for my hobby projects.
I have two things left to do before I can release an alpha version:

  • put the 3d model in some kind of binary blob (required by the license from turbosquid)
  • add GPL information to all the source files.

Maybe I find the time this weekend.

As to the speed topic: the only way to change the behaviour is to set the delay between characters/lines output on the screen. There already is an option for that, I can look into it to make it more useable :slight_smile:

Delaying characters/lines as they’re written is just one aspect. Another is to delay when the terp needs to load more zcode. Once I get disk paging added to Frotz as an option for low-memory hosts, I expect to then know how to realistically simulate this with the suck-it-all-into-ram strategy. That should be a big help for your code to generate believable diskette drive noises.