I’m at wit’s end here!! Buckle up!
(I wrote more about this in another thread, but long-story-short, I’m making my own interactive fiction library in Java, and am designing a user interface in Java Swing. I’m primarily doing this because I have a radically-different system in mind for how the game world should be simulated, and how actions should be handled, and it would require WAY too much gutting and rewriting of other IF platforms (like Inform 7 and TADS 3). I keep realizing a lot of my IF ideas have a lot of these simulation mechanics in common, and it would be better for me to just make a personal code foundation for them, rather than wonder how I’m going to attempt to get TADS 3 to cooperate again.)
One of the things that I had at the top of the project to-do list was input prompt autocomplete, preferably in the style of Minecraft commands. As you type into the input text field, it will offer suggested words in a little bubble above your input (generated through a combination of context clues,
and the letters typed in so far). You can then press a key to automatically fill in the rest of the word/noun.
Now, I’m maybe halfway through implementing this, but I absolutely refuse to ever live my life according to the sunk cost fallacy, so it is never too late for me to toss out all the work I just did, and put myself on a better path to continue on!! [exhausted, manic breathing]
I’m at the point where I’m realizing that writing a parser is one thing, but trying to write a parser that uses context clues to suggest words to the player is a bit steeper than what I had first predicted!
I mean, I’m always up for steep coding challenges, but I’m also realizing that screen reader support is going to add another layer of complexity to this suggestion system (Java Swing support for screen readers is…not amazing, and very few people online have any helpful resources for supporting it, but I aim to write accessible software whenever possible).
There’s…also another major problem I had not considered: Autocomplete might offend the average IF parser game player. (woooooo this is why people generally do not throw themselves at every mildly-interesting coding problem they think of! It’s because they plan their goals better! haha yaaaayyyy)
So, pretend that I have not just sunk a week of effort into the autocomplete suggestion system, and tracked down one of the hardest bugs I’ve ever found for a whole day. Just ignore all that. If I need to blow a hole in this ship and swim to shore for a better ship, then I will. I literally do not care. Try me.
So: would you–as a wonderful, insightful, (and quite-fashionable) player of an IF parser game–be put off by autocomplete? Do you prefer to discover the nouns and actions in the game yourself, and only think to type them in after reading them from a screen? Is it better to figure out what to type for yourself, without assistance of something that would only make a minor increase in input speed?
I literally did not consider this perspective yet. Silly me. What a rapscallion I am. I was REALLY hyperfocused on terminals where you can autocomplete long file names, or programming IDEs that autocomplete function names and variable names. Autocomplete is literally a cornerstone of my world. However, these are environments where typing is part of a chore, and what you type can often get very long. It did not occur to me that people play parser games because they enjoy the complete freedom of figuring out and typing in commands for themselves. In fact, this is why I prefer parser games over choice games and hyperlink games. You discover words and plan your actions as your own.
(Now, I would like to point out something: This engine of mine will not only come with an action reference list, but actions will also be revealed/unlocked as the game progresses. Categories of actions can also be marked as active/inactive according to the situation, with the player being alerted accordingly. After all, I don’t want the player to think they have to try actions that only work when in combat, until they’re actually in combat [“You have entered combat; combat actions are now available”]. So if there’s a benefit for reducing guesses at the dictionary, I already have a separate feature for that. Granted, it’s a bit game-y, but a lot of my planned IF games will lean harder on being a game than being a deeply-immersive story.)
So, what do ya say?
Am I onto something with this autocomplete stuff? Or should I blow a big ol’ hole in the hull of this ship? Should I…really axe these sails and leap in the water? Maybe set it on fire, and see if I can race the flames to the lifeboat? Maybeeeee…write some silly messages in the captain’s quarters for future seafloor explorers to find? For the laughs, perhaps? The giggles? Cause I can do it. Frankly, I’m chomping at the bit to toss this whole autocomplete thing out! Maybe wiping out all the work I put into this would be cathartic? It could just be that I would be swimming home crying tears of joy (or laughing maniacally, as I tend to do)!
But if autocomplete is actually a really cool idea, and I don’t need to sink this ship, then I will continue to figure out just how I’ll get this gosh-darned computer to predict what the player is typing as they type it, and what suggestions would be relevant to the situation and task at hand!
Let me know!
It is almost 7:15 in the morning here, and I have yet to get any sleep at all, so I will check back here after I’m done passing out!