Hey - I was wondering - in TWINE - it's possible to create rooms, and have a description of every room, but things change depending on who you talk to and what you do. But...
My question - Is it more efficient to set up rooms - like for my TWINE, it is set in a gay bar that caters to multiple species out of Fantasy, and is a Modern Day type of game. I was just wondering - would it be more efficient to create rooms that you need for the bar, and then fill each room with situations depending on who you talk to, etc etc.
Versus having Story Paths - where you do Passages that branch off, like a CYOA - I know it is possible for branches to return to a main thread, but so far, I haven't done it in my game.
Thoughts? Opinions?
Comments
If your location-- your bar, in this case-- and its structure are important to the story, or if location-based puzzles or exploration feature prominently in your story, then using rooms can be a good way to make sure that each sub-location is memorable, and promotes a sense of space. Rooms are also great because you can use passages with datamaps containing information about the room (which rooms connect to this one, can you use X ability or tool here, etc.) to store information that you can then run through a single interpreter-and-displayer passage. This makes writing new content really easy.
On the other hand, using rooms makes maintaining the chronology of your story harder-- you need lots of variable checks and conditionals to make sure that the room passages accurately reflect the progress of the story as the player encounters them multiple times. Rooms also might not make sense for every kind of situation-- namely anything primarily temporal rather than spatial.
One of the great parts of Twine, though, is that we can switch back and forth really easily. In the Twine game I'm working on at the moment, the player explores this 15th-century fantasy Florence. Exploring the city is done using rooms, but it switches to more traditional branching CYOA whenever the player talks to/fights with other characters, and in more linear sections, like the opening.
As it is, I only have a very basic inventory - consisting of a wallet containing a cash variable that's randomized on initial startup from around 15 to 60 bucks that varies depending on what you do (like buy a soda or whatnot, or spend it on a dinner with someone you want to ask out.) and an ID, and your Phone. Although the last one might not be so necessary given I have a bio script I'm still working with. It includes a phone number 'string', and a boolean value to let TWINE check whether you've 'gotten' the man's number, or not. And other 'facts' about each character. Etc etc.
So I doubt I will make a puzzle-based game or turn it into a RPG. It just doesn't make sense to do that in this kind of scenario, which is mainly "Getting lucky, getting a date, etc"
That's what I was afraid of - Making sure I keep all of the conditionals/variables/facts correct - although making one room would reduce several copies of Passage describing the same room on different character paths. The downside is I would have to have a lot of 'if' conditions to change the Passage, depending on who you're talking to at the moment. As my TWINE game goes at the moment - it's purely a web of Character Paths. No one path intersects with another. I'm just wondering if there's a way to do a little of both effectively, but... so far I am veering on keeping mine in the traditional CYOA branching.
If you haven't already run across it, you might find this article an interesting read; the author talks about some standard narrative/gameplay patterns in CYOA works. Also here, where Emily Short talks about some of the smaller structures in choice-based games-- her article also has links at the top to the analyses of a couple of other IF writers on the subject.
This seems like a good idea regardless of surrounding structure; if you have a common passage in all of the routes where you buy your date a drink, it'd make sense to have that all in one passage. I don't think you'd need very many variables to keep track of it, either-- you could probably get away with just one, indicating which character's scene and link-choices should be displayed. All that would require would be a really simple sequence of if-else-if-else checks.