I filed a bug that the status bar is missing.
IMO the core features you could offer in this context (without just playing catchup on features like images, timers, sound effects, etc.) would be top-notch mobile support and screen reader support.
On iPhone, the experience of playing Counterfeit Monkey in your player is pretty rough. There’s no blinking cursor or on-screen keyboard by default. You kinda just have to know that you need to tap on the line at the bottom of the screen (which doesn’t even have a border on mobile, unlike the desktop version, and I’m not sure why); when you do click there, the “visual viewport” of the screen gets smaller, but the game itself doesn’t seem to realize that.
So, for example, when you try to play Counterfeit Monkey, you have to click on the
> at the bottom of the screen (and not on the
>>) and when you do, you can’t read the question. When you type
yes, the game asks another question, but you can’t see that question, either.
The next problem is screen reader support. I’ve ranted about this before, but the traditional IF UI is extremely unusual on the web; it’s a commonplace stdio application, but stdio is totally unheard of on the web.
Consider this bog standard IF transcript:
At End Of Road
You are standing at the end of a road before a small brick building.
Around you is a forest. A small stream flows out of the building
and down a gully.
You are inside a building, a well house for a large spring.
There are some keys on the ground here.
There is tasty food here.
There is a shiny brass lamp nearby.
There is an empty bottle here.
> examine lamp
It is a shiny brass lamp. It is not currently lit.
> get lamp
The feeling of play is conversational. You might imagine that the game is playing the role of a Dungeon Master in Dungeons and Dragons, where the player and game are taking turns speaking.
If I were coding a “conversational” game today, I’d probably take examples from chat-based apps like Slack, where there’s a fixed input box at the bottom of the screen, and a transcript of messages in the main part of the window.
But that is not at all how IF games work (not how they have ever worked historically). Instead of having a separate “input box” into which you type commands, there’s just one main window area, the “transcript.” The game prints messages into the transcript, then prints a prompt symbol (the
> symbol) and lets the user type directly into the transcript.
To extend my D&D metaphor, you might imagine the Dungeon Master writing something on a piece of paper, then handing that same piece of paper over to the player, who would write something at the bottom and then hand the paper back to the Dungeon Master, taking turns writing on the page.
This can be confusing to screen readers. One single rectangle is acting as both output and input. This is totally busted in Parchment today; it constantly reads and re-reads the transcript from the top of the screen.
But the bigger problem has to do with the “focus” of the screen reader.
When it’s time for the user to type in Parchment, the last line is an invisible input box, where the user types. When the user hits enter, the input box is removed and replaced with text that the user typed. Then the game says some response message, and finally a new invisible input box appears at the bottom of the screen.
Removing the currently focused UI element is very bad for screen readers. The screen reader software tries to guess where to focus next. It might try to focus the user on the top of the document (the very first line at the very beginning of the game), or it might focus on the top of the screen (probably a random moment a few turns back).
We can try to focus on the new input box, but focusing that box may interrupt the live ARIA reading of the game’s message.
An obvious thing to do here would be to abandon the idea that the user should type directly into the transcript, and instead offer the user a fixed box to type in, at the bottom of the screen. That would probably work, but it would break some existing games.
For example, a number of games like to provide the user with a custom prompt inline with the text. "Please enter the secret code: " That may not make sense when the input box appears at the bottom of the screen.
A few games even rely on the fact that the prompt is in the transcript to play games with the player. For example, “Taco Fiction” prints a fake prompt “>” into the transcript and then waits for the player to type any key. No matter what the user types, the game inserts a character of the author’s choosing, “forcing” players to type what the author wants them to type, letter by letter. I guess it’s more of a practical joke than a serious UI consideration, but needless to say that joke would not work with a fully separate input box.
(And what about menus? Try typing
help in Counterfeit Monkey or Lost Pig. On desktop, it’s acceptable but burdensome to select menu items with N and P, and press Q to exit the menu. On mobile, it’s basically unusable.)