Twine is an open-source tool for telling interactive, nonlinear stories
twinery.org
twinery.org
Tweego comes with the same three default story formats that Twine comes with: Harlowe[3], the basic default; Sugarcube[4], designed to provide a smooth upgrade from Twine v1; and Snowman[5], designed to be extended with JavaScript and CSS. I've dabbled a bit with Harlowe, and while it's flexible and powerful, I found it a bit underwhelming as an actual markup language, especially after growing used to Markdown.
If I ever write another Twine story, I'm going to try Chapbook[5], which is actually based on Markdown, or maybe event try writing my own engine.
[1]: https://www.motoslave.net/tweego/
[2]: https://github.com/iftechfoundation/twine-specs/blob/master/...
[3]: https://twine2.neocities.org/
My project, Unfold Studio [3], makes use of the affordances of Inkle's Ink language for teaching CS in the context of students' existing identities and concerns. Here, the limitations of the format are again useful. Students can create small playable worlds in a way that's still manageable and which makes CS concepts rhetorically powerful--they are immediately useful for creating particular experiences for the user. Here's an accessible piece [4] on how this approach could support marginalized youth in developing criticality: understanding and challenging unfair techno-social conditions.
I'm always looking for collaborators!
[1] https://www.theatlantic.com/technology/archive/2017/04/video... [2] https://ncase.me/cos/ [3] https://unfold.studio [4] https://chrisproctor.net/publications/proctor_2019_voice.htm...
Roger Ebert made a similar argument[1] a while back.
While I agree that interactivity and narrative are in tension, I don't agree that they are incompatible. There was plenty of exploration in Planetfall, but also a very emotional scene. While many have argued that that scene should be discounted because it's in a non-interactive portion of the game (e.g. [2]), the impact of the scene exists because of the relationship that was built-up with Floyd mostly through interactive moments and exploration.
In the realm of non-computer games, there are all sorts of highly interactive story-telling games and RPGs, and while I think Ebert would claim that those don't count because the narrative is accidental rather than intentional, I find that to be a somewhat arbitrary distinction.
1: https://www.rogerebert.com/rogers-journal/video-games-can-ne...
2: https://web.archive.org/web/20081109044017/http://www.raphko...
As a result we created a new interactive fiction format:
https://github.com/gladimdim/GladStoriesEngine#human-readabl...
It is already used by the https://locadeserta.com/index_en.html
And it has a Dart implementation: https://pub.dev/packages/gladstoriesengine. It can be used with Flutter apps in web and native!
So, if I understand correctly, there is no way to have side-effects (such as health loss) in GSE?
Last I'd checked, this was complicated by the state-feature (health/features etc) in Twine. But for simple adventures, this should be doable.
[0]: https://twitter.com/CORNYASSBITCH/status/1142591156884127744
I PR'd to fix the official docs a while ago and got rejected which is frustrating when the official docs are so damned terrible.
Does it have a way to export to JSON or another structured format? My game's built by building a website from Twine exported to JSON with Twison and it's not ideal.
Yarn Spinner predates the Yarn package manager by about 1 year!
I always find them underwhelming, though.
I can see how these might be of interest to a very young audience, in analogy to the CYOA books of yore. But the appeal to a more mature audience, like the appeal of parser games or really video games generally, escapes me. It's always struck me as odd that these games are compared with traditional IF parser games, because parser games (which have their own problems) seem to me to be in another galaxy in terms of gameplay, scope, and complexity.
This is an example of how it's hard for me to even see the potential of the platform. Does this ever get beyond clicking on words, with branching storylines? Are there any examples of Twine games that get beyond simple hypertext storytelling?
Kids like simple CYOA type books and are a natural fit, where games like Blue Lacuna are a bit much. Likewise, some adults just want a simple a fun game with no backtracking and complex puzzles. I played one of these for a few hours on my phone once and it was indeed entertaining.
It is a slow-burn science-fiction horror story with light elements of simulation and random chance which liven up the CYOA formula.
I was pretty happy with what they did because there was a really wide range of topics that aren't usually seen in gaming (one was making dinner, another was going to the mall, another was a text based football game. There were a number of games about more-traditional topics too).
> BEL/S is an Elemental Firewall: a fire elemental bound with C++ code to protect a network of people and places. She can learn things, develop relationships, and even gain sapience. Or she can burn everything with fire. It's up to you.
The essential gameplay centers around a loop where you choose places to scan. You have a variety of choices to make for each threat, from annihilating them to passing off the issue to your creators to making friends with the viruses that attack the systems you were tasked with defending. (You do make choices by clicking)
The choices you make affect your options in the final fight, which even triggers actions based on a real-time countdown clock and not just clicks (by default, you can toggle in settings).
It gave me a hilarious and enjoyable few hours of gameplay. You can play the initial bit online, and the preview is representative of the whole game's appeal.
http://abigailcorfman.com/OpenSorcery.html
$4 on steam, with an extra $4 Christmas-themed DLC recently released.
https://store.steampowered.com/app/585180/Open_Sorcery/
Note: BEL/S does not appear in-game or out-of-game to be open source, in case that's going to piss someone off. I still found the pun cute.
> I also think that if you stick with Twine long enough, you’ll eventually bump up against its limitations. Maybe someday, you’ll want to have the player put an apple inside a knapsack and then place that in a refrigerator the player can push around. Games have been created from stranger mechanics.
> Twine doesn’t have a world model. It has variables and flags, but those are tough tools to work with if you are trying to build a simulated world that can be toyed with in any real way.
> So eventually, after futzing helplessly around with $appleInKnapsack, $knapsackInFridge and not $knapsackOnTopOfFridge, and $fridgeDoorClosed, you might think to look for something better to realize your dream of objects containing objects containing objects. You might try Inform or TADS (or maybe even ADRIFT or Hugo, if you are well-read). You hopefully have heard of them in your short interactive fiction career. Ideally, you regard them as neighbors three doors down; you haven’t had a chance, or a really a reason to visit, but you wave to each other on the way to work. They’ve always seemed like friendly, good-natured people. Talking with them is a natural next step.
Soon after, I usually come to the point where I close the tab and never come back. For all but the shortest Twines, this is well before I've come to an ending.
I want to like them too. But they just resist me getting into them. I've pretty much given up.
https://aguaviva.github.io/SEMap/SEMap.html
It was used to create this bot that asks you Socratic questions:
https://aguaviva.github.io/SEMap/BeliefExplorer.html
I hope this interests somebody one day!
It was about XIMPEL which had a lot in common with SMIL (a former W3C standard), mostly because they were developed by people who were a bit rivals of each other. Here is a showcase of XIMPEL [3].
[1] https://melvinroest.github.io/ximpel/documentation/theses/ma...
[2] An introduction with some background context is here: https://melvinroest.github.io/ximpel/
[3] https://www.ximpel.net/category/showcase/
[4]
What happens when you introduce applications in non-linear storytelling? Answer: you can recreate CodeCademy.com.
What happens when you allow for media to be played in parallel: you're opening a can of worms that has a lot of implications on user experience and architecture of non-linear stories. You'll see some of the implications later on.
Is ReactJS suitable as a framework for non-linear storytelling compared to vanillaJS? Answer: yes, because ReactJS is component-based, so the components will be based on media items for which you can tell a story. I also think it's possible to make story/content components.
How do you measure frustration in a non-linear story framework? Answer: you could do it via the webcam if the user consents. Since mouse clicks and watch time is not enough. Non-linear stories are not applications, but they can be (in XIMPEL at least), when media is passively consumed, you need facial expressions (and user consent).
Now that we have parallel media playing how to do time scrubbing? Answer: in my thesis I outlined multiple options. The biggest question is: do you want to have a time line or a time graph?
Now that we have parallel media playing does that mean that a subject point in the story should be able to survive subject point in the story that comes after it? If it makes sense, content-wise, then yes. If you wouldn't have parallel media playback, this would not make sense. (ok, I'm butchering this answer, can't summarize it well, you can always read my thesis ;-) [1])
Is XIMPEL Turing Complete? Answer: almost! If we allow for the user to disambiguate certain issues, then yes. What helps a lot with this is that XIMPEL allows the use of integer variables. And you can get very far with 2 integer variables, since you can represent 2 integer variables as 2 stacks, and 2 stacks makes a tape. Where it fails with XIMPEL though is knowing which story/subject point to jump to.
[1] https://packaging.python.org/tutorials/packaging-projects/#u...