I just released Diction, my first IF interpreter. I have a window of opportunity in my life to ship some passion projects, and playing IF by voice hands-free was a dream since I first played Frotz on iOS in 2008. I wrote about it at the time.
The app is using a web view with ZVM and Quixe, but with my own status bar for grid windows and some tweaks to get color and formatting working in some of the games that use those. No doubt there’s a zoo of other phenomena I haven’t accounted for.
The app is free to play by keyboard, and it’s free to use the onboard Apple text to speech voices, and of course the app is accessible to the best of my abilities. I have a paywall in front of two features that are coming more directly from me: giving commands with your own voice, and some other nicer-sounding English TTS voices I integrated. The reasoning for the paywall is that I want to add value as an indie dev, maintaining rules and exceptions that keep the accuracy increasing. For example, I’ve added some preprocessing for the other voice engine (called Kokoro) to read numbers properly, and to fix some of its pronunciation bugs as I encounter them. And the voice recognition needs some heuristics, plus a new layer so you can drive the game at a meta level by voice, e.g. to ask it to read you the status bar, or reread the last output (“game, repeat”), or remind you your last few commands. My favorite heuristic so far is to mine the current game and the log for vocabulary, and pass those in to the Apple APIs as hints, which helps a lot with accuracy. I welcome a stream of issue reports from the real world.
Since playing Zork and Hitchhiker’s on my Atari 800 I’ve had a longing to play modern IF games, but I’ve often been held back by the kind of focus it needs, which I find hard to come by. My hypothesis is that what I want is an analogue of audiobooks, and maybe others do too.