ETA: updated with resources for Inky and Ink (Inkle Studios).
To think about games in Twine, it’s useful to think about the spectrum from CYOA (Choose Your Own Adventure) games/books, IF (interactive fiction)/text adventures, visual novels, and hypertext games. This is not a complete taxonomy, just a starting place.
- CYOA-style gamebook (CYOA = Choose Your Own Adventure, after the series of childrens' books; there were other CYOA-style books and series). The basic concept is that you get a bit of story, then you (and these are almost always written in second person) get a choice as to what you want to do, then you turn to the page or section corresponding to that choice. When you get there, you either reach an ending (a winning ending, or a death/losing ending), or you have more choices. Wash rinse repeat. This is the simplest form and if you're just getting started, writing a tiny gamebook of 20 pages or whatever is a good way to get acquainted with the possibilities limitations of branching narrative. For instance, you'll notice very quickly that the more choices you give, the more stuff you have to write. If you "railroad" the narrative so that the reader is forced through certain checkpoints, it limits replayability. And so on.
- Gamebook with stats and mechanics. Examples of this include the Fighting Fantasy books (big in the UK if I understand correctly), Joe Dever's Lone Wolf (Aon Project internet editions of many of these, available for FREE--read the terms), Sagard the Barbarian, etc. If you want free, shorter gamebooks to try, you could do worse than hit up the Windhammer Prize archives and play the winning entries.
- Computer-based CYOA, sometimes with stats and mechanics. Examples include any number of the games available from Choice of Games. Most of these are pay-to-play beyond a certain point but the first game, Choice of the Dragon, is completely free and gives you some idea of the format. Choice of Games uses ChoiceScript; there are other languages that can create a CYOA-type game (and I believe Inform 7, which normally produces parser-style IF, has extensions that can produce the effect - I have not used it, but Hybrid Choices is one example).
- Twine. I list this rather than a bunch of other languages because I'm familiar with it. Twine's output can range from simple hyperlinked text with maybe a few variables (for instance, my NSFW hexarchate Twine game Turnabout Is Fair Prey uses nothing but hyperlinks and a few boolean flags) to fancy CSS/graphic/multimedia effects.
For examples of the really fancy things you can do with Twine, there's the author Porpentine (among others). I point you at Their Angelical Understanding (NOTE: imagery/content may be disturbing).
What I like about Twine is the fact that it scales: if you only want to deal with very simple structures, it's easy to get up and running. If you want to do fancy multimedia and so on, you can do that too. Twine outputs to a webpage and you play, generally, by clicking on links.
- Parser IF. The big language for writing modern parser IF is Inform 7. (TADS 3 used to be the other one, but has not been supported/developed since 2013.)
Today we also have less parser-y IF languages like Inklewriter, Undum, and Texture. It can be helpful to (a) play some games written in different systems, (b) write simple games/do tutorials using said systems, (c) look at some source code in order to decide which system suits you.
This overview is pretty good at covering the bases and seems to be up to date, modulo marketing talk for a flowchart/organization software program called Arcweave.
- Visual novels, which seem to be more popular for things like dating games and Japanese RPGs? I'm not very familiar with this end of things, although I have experimented with Ren'py. The code for Ren'py is probably a little easier than that for I7 or TADS. The main barrier is that the whole premise of a visual novel is that there will be, uh, visuals. If you look at Speed Dating above, you'll notice that even so simple a graphic element as creating responsive mouseover "buttons" on a menu totally foiled me and came out messily. I take full responsibility! I lucked out in that volunteers provided me character art and photography for backgrounds, but you can see where if you wanted to make a large game, and especially characters with more than a few expressions each (let alone body postures, etc.), this could become a massive endeavor even if you worked with a team of artists. And that's not even getting into voice acting or music or sound effects, none of which I attempted for a coding exercise. Anyway, I understand that visual novels can vary from totally linear, essentially animated storybooks (“kinetic novels”), to full-fledged games with stats and grinding and decision points. Here’s one list of genre terms.
Small gamebooks:
- the aforementioned Windhammer Prize Archive. One of the contest restrictions was that gamebooks can only be 100 sections max and I believe there was a wordcount restriction as well, so these will play pretty quickly.
GETTING STARTED
For gamebooks, to get a sense of structure, I suggest WRITING DOWN YOUR PATH. Get a sheet of scratch paper or whatever. And after you've played it once, then (with a small gamebook--this is a pain with a larger gamebook), get a larger sheet of paper and MAP the gamebook. So, for instance, if section 1 leads to section 3 or 17, draw a 1 and then draw one branch going to 3 and another going to 17. And so on. I recommend doing the complete gamebook for at least one (small) gamebook so you get a feel for how the structure works. And then when you go to look up other people's gamebook maps you will appreciate their hard work. :)
For IF, it can be helpful to make a “fake transcript” of what a typical more-or-less winning movelist/walkthrough would look like.
Twine:
- play any small Twine game for which source code is also available. Anyway, being able to open up and look at the source code will also help you grapple with ways to structure branching narrative.
If you are already familiar with parser IF, then you don't need my recs. If you are new to parser IF, then the following games may be a good starting place:
- Inform 7 standard examples.
- Andrew Plotkin's Shade (online play). This was written in I6.
- Galatea by Emily Short (her other works are also very much worth study, but Galatea happens to be short and sweet). You can get source code (zblorb) at the link, or play in your browser (button at the top right).
A word on mechanics for any of the chosen media. At heart, your mechanics should enshrine what you want the player to care about. If you want the player to care about capturing territory, you make rules that have to do with capturing territory. (Hello, go!) If you want the player to care a lot about beating up monsters and gaining loot but not so much romancing princesses, then you design 2nd ed. AD&D where, as John Wick says (I paraphrase), they have a zillion weapons and a zillion monsters and a fight can last hours of real time but it only takes a single die roll to romance the tavern girl. In the Fighting Fantasy gamebooks, your major stats include Skill (usually representing fighting skill) and Stamina (health), and you spend a lot of time on fights. But there was also Steve Jackson's House of Hell, which had a mechanic where you had to test against fear (a sanity-check of sorts; I don't have a copy of the book at present so I can't look it up) and you could mechanically be "scared to death." There is no inherent reason why your game should enshrine "fighting skill" as a stat if your game is mostly about "social maneuvering" or "hacking into computers" or "genetically engineering cute monsters."
General resources
- Emily Short's Interactive Storytelling - Emily Short blogs regularly on IF, games, narrative, etc. Her blog is well worth following if you're interested in any of this stuff.
- Standard Patterns in Choice-Based Games by Sam Kabo Ashwell. Extremely helpful diagrams. I haven't said much about structure in this post because Sam is much more concise and his analysis is better than anything I could put together.
- A Bestiary of Player Agency by Sam Kabo Ashwell.
- Death of the Player by Mattie Brice.
Gamebooks
Note: we've actually been in something of a renaissance of old school/traditional gamebooks funded via Kickstarter or self-published, etc.; they probably outnumber gamebooks from traditional publishers or game publishers at this point, so seeing a self-published gamebook is not a red flag (although quality varies, so check reviews of the author or the book!); some very experienced old-school gamebook authors are now self-publishing.
- Demian's Gamebook Web Page - a staggering list of known gamebooks and user reviews of same. You can also find solutions for gamebooks here (this is how I found out that Siege of Sardath had a typo in a reference number, grr...). You can learn a lot about what gamebook players like and hate from reading the commenatires.
- How to write a gamebook by Lloyd of Gamebooks. A basic introduction.
- Project Aon: Lone Wolf. The Lone Wolf books by the late Joe Dever, available for free (see terms). Remarkable in that these are an epic continued saga.
- Sersa Victory's Choice Design in Solo Gamebooks is a $35 (USD) course that expresses a more modern/player-friendly design aesthetic; her gamebook Tomb of the Everstar Sisterhood is a good example thereof. I've just downloaded her gamebook The Coiled Crown, which is available as a free PDF, but have not yet played it.
Twine
- Twine. Where to get it, plus links to some basic tutorials, handbooks, code examples, wiki, forums, etc. The current version as of this writing is 2.6.0, although you can get the archived 1.x version. Available for Windows, Mac, and Linux (with caveats for 32-bit Linux).
The biggest nuisance if you’re looking to get started with Twine for the first time is choosing between which of SEVERAL available versions to write your code in. Some guidance; personally, if you are a first-time user and not a coder, I would go with either Harlowe or Chapbook, whichever you find more comfortable.
- Twine resources compiled by My First Game Jam; mostly focuses on Harlowe (Twine 2).
Ink (from Inkle Studios)
This is a narrative scripting language from the folks behind 80 Days, the video game port of Steve Jackson's Sorcery!, and more.
- Ink - some information. The downloads of Inky (text editor + interpreter/compiler) are available for Windows, Mac, and Linux. Ink and Inky are open source (MIT license) and freely available - you can make commercial projects if you like.
- The "lite" version for IF is Inklewriter, which runs in your web browser! I haven't used this because I suffer occasional internet outages.
- Web tutorial for Ink - written for people with zero coding/web app experience.
Narrative RPGs
- Narrat - have not had a chance to play with it beyond installing it, but it's free and apparently inspired by a developer who wanted to make it easier for folks to make games in the vein of Disco Elysium.
Visual Novels (some resources, definitely not comprehensive)
- Ren'py is a popular visual novel engine, open-source, free for commercial use.
- Pixelberry Studios: Choices does mobile-based VNs, for one example. I think you can apply to write for them but if you want to DIY, see Storyloom, below.
- Pixelberry Studios: Storyloom is web-based VN platform that lets you make your own (you can use their graphics or provide your own IIRC) and includes some tutorials on design and so on. Read the T&C - beyond licensing/IP terms (so, for example, doing a fanfic VN of an IP under copyright/etc. would be out), they have significant content restrictions (obscenities, sex, graphic violence, hard drug use, etc.).
To think about games in Twine, it’s useful to think about the spectrum from CYOA (Choose Your Own Adventure) games/books, IF (interactive fiction)/text adventures, visual novels, and hypertext games. This is not a complete taxonomy, just a starting place.
- CYOA-style gamebook (CYOA = Choose Your Own Adventure, after the series of childrens' books; there were other CYOA-style books and series). The basic concept is that you get a bit of story, then you (and these are almost always written in second person) get a choice as to what you want to do, then you turn to the page or section corresponding to that choice. When you get there, you either reach an ending (a winning ending, or a death/losing ending), or you have more choices. Wash rinse repeat. This is the simplest form and if you're just getting started, writing a tiny gamebook of 20 pages or whatever is a good way to get acquainted with the possibilities limitations of branching narrative. For instance, you'll notice very quickly that the more choices you give, the more stuff you have to write. If you "railroad" the narrative so that the reader is forced through certain checkpoints, it limits replayability. And so on.
- Gamebook with stats and mechanics. Examples of this include the Fighting Fantasy books (big in the UK if I understand correctly), Joe Dever's Lone Wolf (Aon Project internet editions of many of these, available for FREE--read the terms), Sagard the Barbarian, etc. If you want free, shorter gamebooks to try, you could do worse than hit up the Windhammer Prize archives and play the winning entries.
- Computer-based CYOA, sometimes with stats and mechanics. Examples include any number of the games available from Choice of Games. Most of these are pay-to-play beyond a certain point but the first game, Choice of the Dragon, is completely free and gives you some idea of the format. Choice of Games uses ChoiceScript; there are other languages that can create a CYOA-type game (and I believe Inform 7, which normally produces parser-style IF, has extensions that can produce the effect - I have not used it, but Hybrid Choices is one example).
- Twine. I list this rather than a bunch of other languages because I'm familiar with it. Twine's output can range from simple hyperlinked text with maybe a few variables (for instance, my NSFW hexarchate Twine game Turnabout Is Fair Prey uses nothing but hyperlinks and a few boolean flags) to fancy CSS/graphic/multimedia effects.
For examples of the really fancy things you can do with Twine, there's the author Porpentine (among others). I point you at Their Angelical Understanding (NOTE: imagery/content may be disturbing).
What I like about Twine is the fact that it scales: if you only want to deal with very simple structures, it's easy to get up and running. If you want to do fancy multimedia and so on, you can do that too. Twine outputs to a webpage and you play, generally, by clicking on links.
- Parser IF. The big language for writing modern parser IF is Inform 7. (TADS 3 used to be the other one, but has not been supported/developed since 2013.)
Today we also have less parser-y IF languages like Inklewriter, Undum, and Texture. It can be helpful to (a) play some games written in different systems, (b) write simple games/do tutorials using said systems, (c) look at some source code in order to decide which system suits you.
This overview is pretty good at covering the bases and seems to be up to date, modulo marketing talk for a flowchart/organization software program called Arcweave.
- Visual novels, which seem to be more popular for things like dating games and Japanese RPGs? I'm not very familiar with this end of things, although I have experimented with Ren'py. The code for Ren'py is probably a little easier than that for I7 or TADS. The main barrier is that the whole premise of a visual novel is that there will be, uh, visuals. If you look at Speed Dating above, you'll notice that even so simple a graphic element as creating responsive mouseover "buttons" on a menu totally foiled me and came out messily. I take full responsibility! I lucked out in that volunteers provided me character art and photography for backgrounds, but you can see where if you wanted to make a large game, and especially characters with more than a few expressions each (let alone body postures, etc.), this could become a massive endeavor even if you worked with a team of artists. And that's not even getting into voice acting or music or sound effects, none of which I attempted for a coding exercise. Anyway, I understand that visual novels can vary from totally linear, essentially animated storybooks (“kinetic novels”), to full-fledged games with stats and grinding and decision points. Here’s one list of genre terms.
Small gamebooks:
- the aforementioned Windhammer Prize Archive. One of the contest restrictions was that gamebooks can only be 100 sections max and I believe there was a wordcount restriction as well, so these will play pretty quickly.
GETTING STARTED
For gamebooks, to get a sense of structure, I suggest WRITING DOWN YOUR PATH. Get a sheet of scratch paper or whatever. And after you've played it once, then (with a small gamebook--this is a pain with a larger gamebook), get a larger sheet of paper and MAP the gamebook. So, for instance, if section 1 leads to section 3 or 17, draw a 1 and then draw one branch going to 3 and another going to 17. And so on. I recommend doing the complete gamebook for at least one (small) gamebook so you get a feel for how the structure works. And then when you go to look up other people's gamebook maps you will appreciate their hard work. :)
For IF, it can be helpful to make a “fake transcript” of what a typical more-or-less winning movelist/walkthrough would look like.
Twine:
- play any small Twine game for which source code is also available. Anyway, being able to open up and look at the source code will also help you grapple with ways to structure branching narrative.
If you are already familiar with parser IF, then you don't need my recs. If you are new to parser IF, then the following games may be a good starting place:
- Inform 7 standard examples.
- Andrew Plotkin's Shade (online play). This was written in I6.
- Galatea by Emily Short (her other works are also very much worth study, but Galatea happens to be short and sweet). You can get source code (zblorb) at the link, or play in your browser (button at the top right).
A word on mechanics for any of the chosen media. At heart, your mechanics should enshrine what you want the player to care about. If you want the player to care about capturing territory, you make rules that have to do with capturing territory. (Hello, go!) If you want the player to care a lot about beating up monsters and gaining loot but not so much romancing princesses, then you design 2nd ed. AD&D where, as John Wick says (I paraphrase), they have a zillion weapons and a zillion monsters and a fight can last hours of real time but it only takes a single die roll to romance the tavern girl. In the Fighting Fantasy gamebooks, your major stats include Skill (usually representing fighting skill) and Stamina (health), and you spend a lot of time on fights. But there was also Steve Jackson's House of Hell, which had a mechanic where you had to test against fear (a sanity-check of sorts; I don't have a copy of the book at present so I can't look it up) and you could mechanically be "scared to death." There is no inherent reason why your game should enshrine "fighting skill" as a stat if your game is mostly about "social maneuvering" or "hacking into computers" or "genetically engineering cute monsters."
General resources
- Emily Short's Interactive Storytelling - Emily Short blogs regularly on IF, games, narrative, etc. Her blog is well worth following if you're interested in any of this stuff.
- Standard Patterns in Choice-Based Games by Sam Kabo Ashwell. Extremely helpful diagrams. I haven't said much about structure in this post because Sam is much more concise and his analysis is better than anything I could put together.
- A Bestiary of Player Agency by Sam Kabo Ashwell.
- Death of the Player by Mattie Brice.
Gamebooks
Note: we've actually been in something of a renaissance of old school/traditional gamebooks funded via Kickstarter or self-published, etc.; they probably outnumber gamebooks from traditional publishers or game publishers at this point, so seeing a self-published gamebook is not a red flag (although quality varies, so check reviews of the author or the book!); some very experienced old-school gamebook authors are now self-publishing.
- Demian's Gamebook Web Page - a staggering list of known gamebooks and user reviews of same. You can also find solutions for gamebooks here (this is how I found out that Siege of Sardath had a typo in a reference number, grr...). You can learn a lot about what gamebook players like and hate from reading the commenatires.
- How to write a gamebook by Lloyd of Gamebooks. A basic introduction.
- Project Aon: Lone Wolf. The Lone Wolf books by the late Joe Dever, available for free (see terms). Remarkable in that these are an epic continued saga.
- Sersa Victory's Choice Design in Solo Gamebooks is a $35 (USD) course that expresses a more modern/player-friendly design aesthetic; her gamebook Tomb of the Everstar Sisterhood is a good example thereof. I've just downloaded her gamebook The Coiled Crown, which is available as a free PDF, but have not yet played it.
Twine
- Twine. Where to get it, plus links to some basic tutorials, handbooks, code examples, wiki, forums, etc. The current version as of this writing is 2.6.0, although you can get the archived 1.x version. Available for Windows, Mac, and Linux (with caveats for 32-bit Linux).
The biggest nuisance if you’re looking to get started with Twine for the first time is choosing between which of SEVERAL available versions to write your code in. Some guidance; personally, if you are a first-time user and not a coder, I would go with either Harlowe or Chapbook, whichever you find more comfortable.
- Twine resources compiled by My First Game Jam; mostly focuses on Harlowe (Twine 2).
Ink (from Inkle Studios)
This is a narrative scripting language from the folks behind 80 Days, the video game port of Steve Jackson's Sorcery!, and more.
- Ink - some information. The downloads of Inky (text editor + interpreter/compiler) are available for Windows, Mac, and Linux. Ink and Inky are open source (MIT license) and freely available - you can make commercial projects if you like.
- The "lite" version for IF is Inklewriter, which runs in your web browser! I haven't used this because I suffer occasional internet outages.
- Web tutorial for Ink - written for people with zero coding/web app experience.
Narrative RPGs
- Narrat - have not had a chance to play with it beyond installing it, but it's free and apparently inspired by a developer who wanted to make it easier for folks to make games in the vein of Disco Elysium.
Visual Novels (some resources, definitely not comprehensive)
- Ren'py is a popular visual novel engine, open-source, free for commercial use.
- Pixelberry Studios: Choices does mobile-based VNs, for one example. I think you can apply to write for them but if you want to DIY, see Storyloom, below.
- Pixelberry Studios: Storyloom is web-based VN platform that lets you make your own (you can use their graphics or provide your own IIRC) and includes some tutorials on design and so on. Read the T&C - beyond licensing/IP terms (so, for example, doing a fanfic VN of an IP under copyright/etc. would be out), they have significant content restrictions (obscenities, sex, graphic violence, hard drug use, etc.).