A small group of board game players have been having regular meets. We like collaborative, deductive, problem-solving, games. I have begun to develop a simple board game based on solving crimes, influenced mainly by 221b Baker Street (aka Sherlock Holmes). But the board itself is very constraining and usually based on locations/rooms.
Then today I came across “Interactive Fiction”. Never heard of it before; never even knew it existed.
So now I’d like to explore the possibility of creating detective (crime solving) games that are interactive and require the participants to think deeply and creatively to solve crimes.
The medium would be essentially text based with instructions/questions plus images to provide clues/richness/immersive.
I have a lot of experience of C++ but that’s really aimed at physics and IoT. Useless (to me) for games because I’d be starting from scratch and spending valuable time coding rather than being creative.
So I’m looking at language-based game development environments.
So far Twine and Inform 7 appear to be a good match to the user case. This is not a question about which is “best” but which might be most appropriate for developing crime-solving collaboarative games given your experience.
There would have to be characters interviewed who sit anywhere on a spectrum between honest/good to totally deceitful/mendacious. Locations would be disparate; nothing to do with East or North.
Inform 7 seems to be room-based with doors and compass directions, so I’m doubtful it’s a good fit. But it’s powerful and mature. Twine seems to have a wider user base.
Coding in either environment would be a challenge and a pleasure. The question I can’t answer right now is about “goodness of fit”. (Apologies for the statistical concept, but the term seems self-explanatory).
All I need is a few insights into pros and cons of various IDEs given the stated user-case. Many thanks in advance.
Choosing a program does depends on what you are trying to do and how you want the player to interact.
What the player to input commands? then you would want to look for parsers like Inform.
Do you prefer the player to click on links/buttons? then choice-based games like Twine would fit it better.
There have been detective games done in both genres, so it’s all a matter of how you want things to appear on the page
You have commands like Ask [person] about [topic].
Parsers are not just about rooms and compasses, some have created linear stories with it
EDIT: some programs, like INK, have integrations with other software (Unity/Godot) btw
Interactive fiction nowadays tends to be roughly divided into two categories: “parser-based” and “choice-based”. Parser-based games involve typing in commands and having the computer interpret them; traditionally, they have elaborate world models that you can interact with following predictable rules (if something is portable, you can pick it up, regardless of what it is). Choice-based games involve choosing from a list of options presented to you at each step; traditionally, they only model the parts of the world that the author cares about, with more special cases.
So out of the two you mention, Inform 7 is a very popular tool for parser-based IF, and Twine is a very popular tool for choice-based IF. Both of them can be (and have been!) used to write great mystery games, but they tend to do it in different ways.
Parser-based games tend to be great at presenting a system and requiring you to figure out how that system works in order to make use of it. This lends itself well to being a detective and investigating things to find clues. But talking to people is something they’re famously bad at; usually it’ll either be linked to objects in the model world (ASK BARTHOLOMEW ABOUT THE REVOLVER), or switch to a choice-based interface for conversation.
Choice-based games, on the other hand, excel at conversation. Since the options presented are custom-designed for each situation, it’s much easier to make a believable scene of questioning a witness or confronting a suspect. There tends to be less of a rigorous system to explore and experiment with—in fact, including one can easily become boring for the player if you do it wrong, by encouraging lawnmowering!—so this lends itself well to focusing on the people involved rather than the search for clues.
Or, you can combine them and try for the best of both worlds…or you can do a conversation-based game in Inform or a searching-based game in Twine, even if it’s a bit trickier to get right than the other way around. They’re very versatile tools!
Speaking personally, I wrote a detective game in Inform 7 last year, and am currently working on a detective game in Ink (another choice-based system), and this is the experience I’ve had with them. (Playing Stormrider is a bit of a hassle at the moment, but it’ll become easier when I release the updated version in a week or two—the full version of Loose Ends comes out in March. So it’s a bit painful for me to recommend them when I’m currently working on improving them both. But it means everyone can see how my personal tendencies and skills impact the advice I’m giving.)
There are at least 4 ways people commonly do mysteries in IF. I wrote this a while ago so I’m copying and pasting:
1-Have a standard puzzle game that happens to be about murder mystery, with solving the puzzles leading to solving the mystery. This is like Ballyhoo.
2-Modelling evidence and clues in-game, which have to be combined to form a solution. This is how Erstwhile works, and most of my mysteries.
3-Collecting evidence through puzzles and conversation and then having a quiz at the end (where you have to accuse the right person). This is how Toby’s Nose works.
4-Collecting physical evidence and showing it to someone, being able to make an arrest when you have enough evidence. This is like Deadline.
All the games mentioned can be found on IFBD. The advantage of parser is that it gives a sense of physicality to the game, actual exploration, etc. while the advantage of choice based gameplay is that you have much more control over the story and don’t have to implement scenery details.
IFDB links to the games Brian mentioned (edit: Erstwhile is Twine, the others are parser-based, like what Inform does, though Ballyhoo and Deadline are from before Inform existed):
I can’t speak much to parser-based games systems, but I can speak to Twine et al.
Twine is pretty easy to use and you can go a long way with it. But I think a key question is whether you’re building narrative-first or game-first?
To build what you are suggesting may require building quite a lot of stuff on top of Twine. Twine provides a useful framework for creating a narrative structure with interlinking passages. But you’ll need to assemble systems for actors & relationships, plots & clues, stats, items & inventories, etc… etc… and then figure out how they interrelate with the narrative.
All of that is quite doable, depending on how much Javascript code you want to write. I suspect it’s doable in Ink as well although @Draconis will know a lot more about how much support you get for extending the box.
I started with Twine but ultimately got frustrated and ended up building my own choice-based system Rez. Rez is focused on creating IF games and probably will feel more accommodating to authors with a programmers “mindset”. Rez is based around a ‘world model’ and includes support for things like actors & relationships, plots, items & inventories, and so on.
There are a couple of other systems you could useful consider like Ren’Py and Choicescript.
I’ll also pass on a recommendation: “So you want to be a Game Master” by Justin Alexander. It has some great material on building mysteries for TTRPG’s that is perfectly applicable to IF games.
Be aware that most interactive fiction is a solitary endeavor - usually one player at a computer exploring a scene and solving a crime. The Ur-example is Infocom’s Deadline.
However you said “participants” so I get the impression you’re looking to make a game that is multiplayer and perhaps run by computer - kind of how Jackbox Games allow a room of people to play a board or word game, or the video-editions of Clue that involved a board-game and video clues, or timers run by the video.
This might be possible and would likely be easier in a choice-narrative system like Twine which displays screens of text that can have instructions and links to click based on decisions made.
This type of “party game” mystery would likely need to be QBN (Quality-Based Narrative) more like a board game with randomization elements akin to Clue - if it’s a defined mystery the author cannot also play and a single mystery is used up after played once.
For an example of how multiplayer IF can be structured following a computer-assisted party-boardgame format, check out these examples:
Fhtagn! - a multiplayer game about completing a Lovecraftian cult ritual. This game in the past did allow paid users to create their own game content; not sure if that still works.
Monster Prom - a hilarious and bawdy game about securing a prom date at a school of monsters (note adult language and humor) There is a free demo on Steam.
(Without creating your own game, these might also be fun choices on their own for your gaming group!)
I am overwhelmed. I can wait weeks (if at all) on C++ forums for help on technical issues but here, in the space of minutes, are so many quality responses.
I will respond to all. But first i have to do much reading and research based on your individual responses.
Immediately you have variously highlighted the distinction between parser-based and choice-based gaming experiences.
Parser-based appeals because it relies on the ability of solvers to ask the right questions without prompting. Equally it relies on the coder to account for many ways of asking questions, idiom, and so on. The game experience is consequent on the developer to account for all the different ways of asking/interrogating/directing.
I can also see that choice-based games offer a more controlled environment using pre-defined scenarios. The success of that approach relies on the choices intelligent, analytical game players might care to choose. But nothing would be more frustrating than the players exercising analysis beyond the choices the developer thought of…
And, now I come to think of it, the same for parser-based games: frustrating if players ask valid questions or give sensible direction but the possible linguistic context hasn’t been anticipated.
It might be some time before I respond again. Much thinking and reading to do.
Ink’s scripting system is very simple (it has no loops, for example, or string operations beyond concatenation), but I’ve found it remarkably versatile. I’m a big fan. You can also write whatever extensions you want in the language that’s running it (JavaScript for web, C# for Unity, C++ for Unreal, etc) if you like.
I haven’t played it myself, but one of the entries in the last IFComp (the big annual competition and showcase of IF) was an adaptation of the Sherlock Holmes: Consulting Detective board game into a two-player IF: The Murder of Marlon Brando. Reviews were mixed (and again I haven’t played it myself) but it might be an interesting case study if you do want to go with a multiplayer mystery! All the other ones mentioned here so far are single-player.
EDIT: Dammit! Beaten to the punch by less than a minute!
I feel like single-player detective games are naturally well suited to having multiple people discuss the clues and collectively decide what to do. But individual players might enjoy the agency of being able to make their own decisions, and that also opens up the possibility of asymmetrical/hidden information which can be very interesting to play with.
Now I have to suspect that Hanon mentioned multiplayer board games specifically as a clue, to see which of us would mention The Murder of Marlon Brando first. Truly devious!
I’m responding early to this because your reply is seminal.
I’m thinking of a group of friends, playing a game, round a single device, tablet or laptop, perhaps cast to a TV for all to see. This much replacing the “board”.
So it’s essentially a single user game with everyone deciding the next course of action and some designated person doing the entry. (Not excluding that task being optionally rotated).
You could certainly “let’s play” collaboratively any standard IF. It requires a lot of reading and works best if your group is game to narrate and do funny voices.
The suggestions I made are designed for screen-cast play. Another good one which is solo but extremely re-playable and might work well with multiple people making suggestions is 80 DAYS where you have to get around the world in a balloon with limited resources. Again lots of reading.
I suggest this mainly because despite all the multimedia flash, this is at heart an example of a re-playable stats-based (QBN) choice narrative created in INK which is a branching choice/stats system available for anyone to use. Ink handles the text, but Ink can be then imported into another game system for graphics as Inkle has done here and do with most of their games.
Two people couch-co-op 80 Days:
See also Inkle’s Overboard! which is a mystery that would be similarly group-playable if screencast - it’s not a “whodunnit” it’s a “howwillIgetawaywithit?” with multiple endings.
Funnily enough, someone over at the CoG forum writer support thread was asking about mutiplayer tag team games, and I brought up Antony and Cleopatra. Coincidence? I think not!
So it’s Cluedo, but only the leader gets to make the decisions and has the final say?
As previously mentioned, parser (like Inform 7, the most popular) is good at world-modelling, and all the action bits: examine, take, move in (direction). Choice (like Twine, the most popular) is good at dialogue and cutscenes. Murder mysteries have been done in both formats. Still hoping for one that can combine the best of both worlds.
The final verdict: choose a system that is tailor-made to your strengths.
I hate it when OPs ask questions and never respond.
I want to respond to your various suggestions but first I’m going to try some of the games that have been flagged. Learn from those that have gone before…
Aside: to date programming has always been solving physical problens or getting devices to communicate. Whoever thought programming could be fun?
R
For both choice and parser games it is of the essence to have it thoroughly playtested by people other than yourself (or any collaborators who may be involved in the project).
These people (who can be quite easily found on this forum), will prove invaluable for identifying precisely the problems you foresee in your reply, and in helping find ways to solve or avoid them. Their fresh eyes and lack of expectations about the game will show a number of things you will not have thought of in the area of errors that should be corrected, or new avenues of thought, or alternate solutions that seem intuitive to an uninvolved player.