Hello, dear Gamasutra readers.
This post is a summary of my thoughts about the development of modern games with text processing (interactive fiction, text adventures, text quests,...).
So, you want to create your text-based adventure game or any game with text processing. If you want to create it for yourself and your friends only (joke, developers of text-based games have no friends), then you just develop it. Then one or two guys in the world play it. Everybody is happy.
But what if you want to create something enjoyable for more than just one miserable person who plays your game only because he feels sorry for you?
You have a lot of problems then, son
My face when I start yet another text-based game development
Guess what, a text-based game is a text-based game and you are not a Hemingway. You need good writing, you need a good plot, you need some compelling characters, you need good additional mechanics ideas. Just go to textadventures.co.uk or ifdb.tads.org and launch some games - you will see a lot of problems. I hope.
Some games there have good stories, but awful writing and awful English (even worse than mine). Some have perfect English, but the boring plot and obscure characters (usually, interactive fiction games have no characters at all though). Others have a good plot and good English, but simple and boring mechanics of typical 4-ways-to-go text adventures. Some are just products that were created via tools like Twine: the results look like a regular dialog you may find in any RPG game where you have some phrase choices. But the difference is that in interactive fiction case it's the whole game: just choices of a given phrase.
Who is the audience of these games? Like with any other type of games, you have three main circles of players:
1.) Creator of the game.
It's not as bad as you may think (and even not that bad as I think). Some writers write their novels just to read them after a year or so. Art for a single person in the world is still an art.
2.) Creators of the games of similar type.
The interactive fiction community is the best example in this case: they use similar tools, they write their games, they play their games. The community is pretty much closed. 10-100 players of a game is considered to be a success.
3.) Normal gamers.
Mmm...normal gamers...Millions of players, yeah.
You can easily reach the audience of type 1 and 2, but what about type 3? Do you have some awesome pixel art pictures with landscapes and characters to impress those people? Do you have some insane soundtracks? Voice acting? Maybe you have beautiful animation?
You have text. The Player writes some text as an input and the game displays some text as an output. Nothing more.
Probably, you have a good story. Maybe some plot twists. Decent dialogs. But you can't show your compelling story or charming characters. You can tell something interesting about your game, but it's not easy at all to impress people using text only. Especially in the modern world of powerful graphics engines.
Even if your game has a decent storyline, compelling characters and good writing (a perfect example of bad writing is this blog. Joke, this blog is the best.), the probability of success is still low. And if your writing is poorly done, cool landscapes and voice acting will not save you - because you have no graphics and no sound at all.
So, a good story is a must-have for a text-based game. Suppose that we already have it.
What other kinds of problems do we have?
- We have text only, but still text processing component of the game is poor
Usually, it looks like this: the game understands 'go north' but fails to process 'let's go north'. The game understands 'look' but can't process 'look around'. 'Hello' is fine, 'hi' is not.
It's not only poor natural language processing, but the traditional mechanics of such type of games itself - it's a tradition in the IF community to let players say 'go north' but to forget about the processing of other types of this phrase like 'I want to go North'. Just start to play Make it Good or any other interactive fiction game here and you will understand what I am talking about.
Your game has no graphics, no sound - and still, it can't even process input strings that are slightly different from the strings that are direct orders - well, how can we say then that your game is a true text-based game? Who needs that game? Nobody.
- Limitations of frameworks
Almost every framework (Inform/Twine/...) for IF development has a typical and simple understanding of what is a text-based game: such kind of a game must have rooms with a maximum of 4 doors or directions like north, south, west, east; such kind of a game must have 'look' and 'examine' mechanics, or, in case of Twine or Texture, you have just a limited number of phrase choices that are displayed on your screen; if you want to add some roleplay to your game - you better shoot yourself instead of doing this.
These frameworks will not let you create your own game world - because creators of these frameworks surprisingly can't understand that 'text-based' doesn't mean 'has simple mechanics and primitive world model'.
Perfect text-based adventure engine after a couple of your patches
If you want to achieve something complex and unique, you will most likely rewrite these frameworks or will write your own from scratch.
- No characters
99% of text-based games have no characters. I mean, characters that support dialogs. And, if they have, those NPCs are usually worse than the most primitive chatbots. That's right, guys, I reviewed Galatea recently and, actually, this is the best example of NPC in interactive fiction we have right now. Such a shame. It's an old game, but, again, we have nothing better in 2016. You can't say 'Hello, girl. How are you? What is your name?', you need to write ugly stuff like 'Ask X about Y' and repeat it again and again for any kinds of things you want to discuss. That's disturbing.
And it's not only the result of poor functionality of IF development frameworks I must admit.
Summary - main problems I see so far
1.) Poor natural language processing capabilities.
2.) Primitive gameplay.
3.) Primitive characters or even no characters at all.
The modern text-based game must contain not only decent storytelling and writing but also:
1.) Implement game mechanics that are more complex than just 'a man goes through some rooms and examines things' or 'you choose or drag&drop words and phrases'.
2.) Have at least one compelling NPC with opportunities to chat and opportunities to establish relationships.
3.) Offer natural language processing. It's a text-based game so one of the main tasks is to process text, surprisingly for typical IF authors.
A text-based game that understands 'hello' but can't understand 'hello, how are you? Do you like me?' fails one of the main tasks of a text-based game - text processing. It was 'okay' 30 years ago. But now you need something more to impress players.
What about the future of interactive fiction games and the community itself? It seems to me interactive fiction folks are pretty happy creating simple games with tools like Twine or Inform for a small number of players and it seems there are no chances that something is going to change in the nearest future.
For example, recently announced iftechfoundation targets the promotion of Twine (it's not a surprise since Twine creator is a co-founder of this organization). What does it mean? No natural language processing, no interesting game mechanics - just 'choose the phrase' or 'drag your phrase' mechanics. Players don't need such games - they have dozens of top-notch roleplaying games where dialogs with mechanics like that are usual things.
Why is it so sad? One of the reasons is that these folks are more writers, than professional software developers. They have no clue about text processing. They have no clue about tools like Stanford CoreNLP or simple concepts like N-grams. And the creators of interactive fiction games are usually writers too. You simply can't expect something that is more complex than Twine, Texture, or Inform. During my research, I reviewed ten frameworks or so, they are all the same to my surprise.
I hope you will find a bit of useful information in this article. Maybe it will help you create a game that will be unique and that will not follow that obsolete and typical text adventure/interactive fiction pattern.
Do you have experience in interactive fiction games development? Have you ever tried to implement a roleplaying or dialog system in your game? Was that easy? Maybe your opinion about modern interactive fiction development is different from mine? Leave a comment and confront me, if you can.