twine

Stream of Pretentiousness: No sleep between the last 2 updates

Stream of Pretentiousness on itch.io

I'm starting to get antsy with this project. For me it's hard to keep any one creative thing going on a daily basis because my mind bounces around to so many different places (as you might have observed). And I need breaks like anyone else, so I'm planning to take at least a week off after I've completed a month's worth of entries. Maybe that'll be the time to revamp the cover image and other aspects of branding, plus institute private early access to new updates for my Patreon supporters.

Being antsy, I naturally thought "Why don't I just hammer out a bunch of daily twines on one day, and just sit back and release them. That'll buy me a couple days where Stream of Pretentiousness doesn't get in the way of other things."

I decided that was against the spirit of the project. The point is to force myself to use skills like scope control and time management to make daily work on this project sustainable, not to slip into using crunch and major waves of effort, then letting myself burn out.

Still, in the next iteration of this I think it would be healthier to make 5 updates per week, not 7.

Today's entry is probably the sloppiest one so far, because I happened to be awake when the clock passed midnight, and I wanted to get a headstart on my goals for the day. It feels a bit like bending the rules to do 2 of these updates in the same continuous stretch of wakefulness, so I'll try not to do it again.

Stream of Pretentiousness Hits Day 12

Screen Shot 2017-07-09 at 9.55.02 PM.png

I just uploaded today's chapter of Stream of Pretentiousness, bringing the count up to 12 (unless I need to count again)!

This chapter deals with my emotional response to getting so many new Patreon supporters in such a short time after coming out as queer to my family/friends. I'm not sure it does justice to both the positive and negative ways in which the experience was overwhelming. If anything, it emphasizes the positive, which is fine by me because absolutely everyone has been amazing about the whole thing!

P.S. I'm considering making Stream of Pretentiousness available to patrons only, or at least giving patrons early access to new chapters. Basically the game would cost $1/month. (Making money from it might give me a strong enough incentive to keep going longer.) Any followers have an opinion on that?

Stream of Pretentiousness: The Daily Interactive

coverv1.png

Stream of Pretentiousness on itch.io

I'm making a new chapter of an experimental Twine game every day. As of posting, there are 5 chapters and I haven't missed a day. I'd fiddled around in Twine before, but not much, so I'm really learning as I go. My goal with this project is to break down the mental barriers telling me my work needs to be perfect, polished, while also being unoffensive to every conceivable player (because I do value accessibility in my games highly—but that can become a big encumbrance).

So far it's also been a place to express my inner thoughts, process my life, and explore my issues with gender.

I heard about this community forever ago and it's been on the back of my mind. I thought I'd give it a shot and actually share here now that I have a project which is such a good fit.

See you tomorrow!

Healy's picture

Christmas in June-ly: A (failed) Gravity Falls game

gravi_falls_canned story map.png

Happy Soos's birthday, everybody! To celebrate, have this, an unfinished Gravity Falls twine game I started for Yuletide one year. It's about Stan and Mabel and Dipper and their crummy made-up holiday. It's an unfinished piece of junk, but I decided to upload it anyway because, well, because...

Emily Short hosted a game jam recently called Bring Out Your Dead, where you uploaded long-dead WIPs and experiments in the hopes that someone else could learn from them. The concept really interested me, and since this was the most well-formed WIP I had that I'd likely never finish, I figured it wouldn't hurt to try something out with it. I took the old, unfinished game and added some commentary to it, usually to point out its flaws, but sometimes to discuss Gravity Falls for a bit (or point out a line I liked). It's a very short game, and probably would have been even if it were completed; I only completed one ending, and the other two branches cut off suddenly. Still, I hope you get something out of it, even if it's just "Don't do what I did here, kids."

(Sergio, my man: I have gotten your message, and while I haven't worked on my Knytt Swap lately, I'll probably block out some time for it next weekend. For reasons.)

Renaming the game, naming a group of two people who are too busy to work on this, and stuff being finished.

I realized that as I'm not going solo on this, Cyril and I are part of a 'collective,' and I might be looking for an illustrator too. But anyways, yeah, we are. I also have another little side project I think I'm gonna be starting up which would be a lot faster and I'd need his help on too, so, considering we might be working on multiple things together and considering we both agreed, yeah, let's give us a name, one was picked.

The game is now called "Trepan." The collective is "Headache." Dunno if it's gonna be, "... a Headache Games production," or "By Studio Headache," or just Headache but, much better name for the game for a lot of reasons, and I like the name for us as a group.

  • Looked at it on mobile. Weird looking.
  • Got new audio from him, or rather, adjusted/fixed for looping audio. Helps with immersion, so, yay.
  • Got new heartbeat sound, functions musically now. Love it but need to redo the scene it's in now, I think. I want it to last longer.
  • Started to build some assets, namely handwritten stuff. I... hand wrote them
  • Recorded/added in some "outside" noise to add over slightly volume-lowered music to add some immersion to the story. Managed to keep it away from being hacky, I think.
  • Another pass of checking/replaying/note taking. I also end up thinking of problems/solutions while writing here/that first post.
  • Considering a "save" system to encourage people "replaying," and by that, I mean like, just jumping back to see other endings, as that would be really really really really good. Maybe I should just make this less dependent on replay, or more beneficial from replays. No, not maybe. Must.
  • Considering a way for people who choose "give up" or end up with an ending that i WANT there, but that they might not have seen coming, and is early on, to get back before that decision. A "go back to when this was inevitable" button feels weird. Not sure what to do.

First entry? Recapping what's happened so far.

800Screen Shot 2016-03-24 at 3.32.12 PM.png

Let's catch you, mystery reader, up to date on the project. The working title is "Headache," which is shitty, so, I gotta work on something better. But, let's talk about my story/game.

Development started March 3rd. Maybe March 2nd, not sure. Let's talk about how I got there.

But first, I'll summarize a bit, and just say what the game is and where it is. It's extremely visual, and includes a lot of very stylized images. Quite a bit of it has < < timed > > text meant to evoke a feeling or be reminiscent of a feeling (early on example: putting your ear to the door and holding your breath, music cuts out, when "You can hear nothing but your heartbeat," a heartbeat plays (might cut the heartbeat and make it part of the music that plays instead cutting in not sure)).

It's a mystery-solving type deal. There are a TON of things you can investigate if you so choose, and can end up playing this for a WHILE, or finishing it in probably 30 minutes for a "true ending," although really considering it, maybe a bit longer. Before you get there though there are a few other special endings you can end up getting instead, and you can at almost any point in the game decide to "give up and move on" and just end there. You have as much freedom as possible.

It is ultra stylized. The game so far has the first "area" where you can make decisions almost done; rather, I have a bunch of assets to make, now that I've decided to take it in a certain direction, but besides that, some music being changed potentially, and rewriting the actual text to be better. It's currently in like second draft form, the first draft being "THIS HAPPENS HERE SO WRITE IT OUT" basically. I want to complete this before moving to the next stuff, which will get much, much larger in scope. I want to 'complete' it though so I can find the definite visual style of the game, because it's gone through SEVERAL revisions, and having to re-style 90 passages would suck.

Besides visually impactful/symbolic design using images, quite a few little CSS tricks are used. I'm proud of a few things I do with that already, which is rare for me!

A musician is attached to the project, Cyril the Wolf, and has been doing great work. The music is ambience really, not "songs," which loop properly and switches to versions that add or remove elements when impactful moments occur in the story, or functionally to represent what a sound effect would be. Also, some actual defined small bits of music, when dealing with some timed text, so looping music is not needed (as I can tell him, it's 60 seconds precisely that the player has no control and you have free reign music wise, syncing up with text/image), if it's an impactful enough scene. That hasn't been decided or implemented yet, I think some will be done for the current section I'm working on soon.
There won't be like, "sound effects," if you open a door or some shit, every time, I've been a foley artist weirdly, for just few moments in the game that feel appropriate.

This is not a 'visual novel', or close to being one. It is much closer to a game. If replayed, your experience will be much different and technically is needed to "fully" find the answer/all details regarding solving the mystery. It will be free, with a donate button, as a lot of time is going into this. Part of me has the pipe dream of, when finishing it, trying to see if we could get it on Steam, as a few people have done that now, if I get a polished, perfect product at the end. When looking at those games, this will be similar in scale and quality visually and music wise. Like, I will not stop making this until it is visually perfect for the vision I have.

Even when I try to talk about it briefly, I write a ton. This IS me writing about 3 weeks of development and explaining what it is, so it's gonna be a bit long, but damn that's a lot of text.

Now, about the game in depth. A lot of depth I guess.

No one is gonna read all this shit unless this game turns out really fuckin' well, and is like, a THING, and people go back and read the dev log. I'm not counting on that happening, but like, Christ, why did I write so much?

So, I played Firewatch. Life changing game. Learned what Twine was while watching some interviews with some peeps from Camp Santo. It stuck in my head a bit. Skip ahead. I'm a fan of Telltale's games, and I had bought the new TWD: Michonne miniseries. Didn't play it for like, a while, finally did, and 10 minutes or so in, I closed it and suddenly was frantically downloading Twine and learning how to use it. Luckily, it's very simple!

I made a story that night, not styled at all, using Harlowe. It's a game about wether or not you decide to make a Twine game or not, just a dumb little thing. Finished it that night, which I believe would be March 2nd.

Took me to the next day to start the next one. Second game, there are like, 9 different "Stories" for on my Twine home screen, as I kept trying it with different Story Formats.

I knew my basic opener: you wake up, in a house you don't recognize, with no idea how you got there, in extreme pain. Also, someone performed trepanning on you. Is that the way you use that word? I gotta figure that out.

That's all I knew. I didn't know why it happened, or where the story was gonna go. I figured I'd keep this project small as it was my second story. A Spotify playlist of the intro songs to "Tales of the Borderlands" was my inspiration. Also, I couldn't get the cult-based part of V/H/S/2 out of my head. I haven't seen it in years, but it was practically drilled into my head hahahaha get it out of nowhere. I came up with a basic, "It was some MKUltra or some cult shit" 5 days later, but had no idea what to do with that.

The more I learned about Twine, and the more I learned about the different Story Formats, I realized that I'd need to use SugarCube, so this is all using SugarCube 2. As a designer, I decided, this is not gonna be a quick foray into this; I'm gonna make this visually impressive. I have solid knowledge of HTML and CSS; the freelance work I've taken on for a while now hasn't had me messing with that much and I've gotten rusty. SugarCube is allowing me to flex those muscles a bit and learn a lot. Granted, a lot of knowledge that has to do with forcing something to happen when using Twine, and specifically SugarCube 2, where on a webpage something would be simple, and here different rules apply, but yeah. I knew I could get it visually beautiful. Still inspired by Firewatch, I wanted something similar to that, with the background, and some kind of music.

I discussed it with my friend Max, and he helped me figure out a basic rule/style of the game; each storyline can be investigated, and you can investigate either one, without consequence (Unless, yknow, you do something which prevents investigating something else). Also because of that conversation, there are a lot of endings. I'm not sure of the total count, but probably 15 or so interesting ones. But you also can decide, "Fuck this, fuck this mystery, fuck this investigation, I'm leaving it be," at nearly any point after finishing an initial area. You have as much freedom as possible. Also, there will not be "red herrings," but there will be ambiguous or confusing bits of evidence, which contradict what you might to find. He also helped me decide, for sure, there is one "true" ending.

So after that conversation, I mapped out the entire story and the different basic decisions/elements for any particular line, although 60% of those will probably have different branches past that. It looks like a lot for me to write; for the player, the game can last as long as maybe 6 minutes if they so choose, I'm not sure how long otherwise. Probably like 30 minutes. I don't know. Longer, if they decide to REALLY investigate the hell out of this mystery. There are definitively 6 absolute-longest endings. That might increase, might not, I'm not sure.

To really "find out the truth," entirely, a replay is required. I'm not sure if someone would replay it, I dunno. There are two "True endings," each with two endings from that, which one inevitably will have to pick, if they investigate everything possible, then theoretically, they could have four to pick from. The two true ones, though. That gives you one of the two "true" endings. There is one that is "more true" but here's an example of an end game ending.

You decide, "I think the culprit was CULPRIT1." You have to go to a certain location, which determines the ending you see: before going, you can choose to bring something or not.

If you do not bring it, the ending gives the player scrambled and confusing language, seen very quickly, which, while confirming the culprit, doesn't confirm what they did. There is info about what they did, but without knowing on a base level what its about, it's confusing. Details without any definition of what you're reading. Without confirmation of what the information is about, you kind of get a shadow of an idea, mainly, "this is some spooky shit that deals with ____" and it's a semi satisfying ending. You can definitely kind of glean an idea of the true thing but you don't fully know.

If you do decide to bring that something to that part of the game, you get some basic information, flat out, "this is who, this is what, this is why," but you don't know the specifics. You don't know any specifics which makes it still shady and unclear, to a point.

I hope some people will replay it, and be curious about that because if you do both, you now 100% know the culprit, what, why, when, how, and more about the basic mystery. The other 2 possible endings, if deciding it was CULPRIT2, don't explain as much, but have definitive, "And in the end, this happened." Hopefully satisfying.

The other two possible final endings? Very definitive clear ENDINGS, without finding out who the culprit was, but finding out what the fuck the player character is gonna go do next and what this entire story has resulted in, even if they didn't find out the truth behind everything.

Hopefully people replay it, though. I just got the idea to have the end screen include a "Go back to Chapter(or whatever) ______" option, empty out any variables that were set after that point, and allow you to get back to the other ending in that area, or choose the other culprit, in only a few minutes.

I also knew, before this I wanted items/choices to impact the game significantly. One decision, if not made, gives the player 3 more chances to make a similar choice. If they agree on the first chance, the game progresses as usual, if the agree on the second, special ending, if they agree on the third, special ending. If they refuse completely, the game flips over to a different line, which is relatively linear, and ends much quicker than if they were to say "yes" any of the four times they're offered that choice.

All language is gender neutral regarding the player, and their best friend/partner in investigation, aka $bff. That was one of the first things I put in after finding out it was a thing, the choice to name them, which I have done semi-elegantly. Oh, one thing, I've given the game to maybe 4-5 people to try out, and I've noticed interesting differences between the way men and women make their decisions in that area, actually. In the start, you can barrel out of the house, and run away, or, you can quietly check if anyone is there, and investigate. Women universally ran the fuck out, only one guy chose that option, the rest investigated.

I wrote so much shit. I went back and wrote a shorter little write up of what this is. Now I like had that flow of writing broken, so, I dunno what else to say. Oh, the music is fucking great and will really add to the experience, I'm really happy with that! Cyril the Wolf has made some awesome shit. And they're just like, 3 "sketches" for the first area. But they sound perfect.

I have a bunch of assets to go build now, so... I'm gonna go do that.

Healy's picture

Bad Bang Letter: A Letter for Bad Bang

WARNING: The following letter is written in a deliberately inflammatory way! Please do not read if you are pregnant or might become pregnant.

Anyway, I'm doing this thing called Bad Bang, where you have to write the worst fanfic illustrated by the worst drawings. Because this is an exchange type event, you have to write a letter to the person who was assigned to write for you, so they can get a good read on your likes/dislikes? I didn't, though, or at least not for this exchange. Anyway, I figured at least one person would get a kick outta this, so here it is! Made in Twine, natch.

In case this is necessary, here are the fandoms I requested for Bad Bang:

Advance Wars
Any Character

Homestar Runner
Strong Bad, Strong Sad

Regular Show
Benson

Inferno Cop
Inferno Cop, Hellfire Boy, Mecha Cop

Zone of the Enders series
Cage Midwell

Knytt Stories
Green Chomper, Juni

Batman Beyond
Bruce Wayne, Terry McGinnis

Steven Universe
Greg Universe

Chrono Trigger
Magus, Frog, Robo

Rockman|Mega Man
Any Character

Aaand my vetoes, the all important stuff that the writer can't write for me.

VETOS: noncon/dubcon, underage, explicit sex scenes, incest for Steven Universe.

Healy's picture

Tiny Cave: a Twine game by me

tiny cave story map.png

Tiny Cave was originally started for a short Twine jam, in both senses of that phrase. You couldn't use more than 1,000 words, which is why everything's so laconic. Anyway, I didn't even get started on this before the jam-thing ended, so this is mostly for my own benefit than anything else. I hope folks enjoy this!

Twine: either(), a random picker function

Update: This script is now built into Twine 1.4! It is no longer necessary to install it.

This is a very short script that allows you to use a function called "either" in Twine's <<set>>, <<print>> and <<if>> macros. Give it several string or number values, separated by commas, and it will pick one of them randomly to use in the macro.

Obsolete script removed: use Twine 1.4

This functions largely identically to the Game Maker choose() function. You can use it like this:

<<print either("a dusty glade", "a sinister vale", "a murky gully", "a desolate gulch") >> - Prints one of the strings, chosen randomly.

<<set $value = either(0,1,2,3,4)>> - Sets $value to one of the numbers.

<<if either(true, false)>> - This is true 50% of the time. Equivalent to <<if Math.random() lt 0.5>>

In the first case, you can see it's functionally similar to the <<rnd>> macro - but, as demonstrated, it can also be used inside <<set>> as well as <<print>>.

If you patch the <<display>> macro, you can also use it to display a random passage, serving as a more primitive kind of <<randomp>>:

<<display either("Cellar", "Garden", "Observatory")>>

Feel free to report any bugs to @webbedspace.

Twine: <<if>> and whitespace

Update: This behaviour has been changed in Twine 1.4! It no longer applies.

This is just a summary of how <<if>>, by default, handles whitespace characters (that is, line breaks, spaces, tabs, and such.)

The behaviour

The rule is: the <<if>> macro removes all whitespace contained between the <<if>>, <<endif>> or <<else>> tags and any non-whitespace contained text.

Consider this code sample, in which the line breaks are marked:

The magenta line breaks (those contained between the <<if>> and <<endif>> and the actual text) will be removed by the macro. Thus, this will render as follows:

A slice of marmalade toast on a plate,
a bit of quiet,
and a spot of tea.

A slice of marmalade toast 
on a plate,
a bit of quiet,
and a spot of tea.

Resisting this behaviour

The <<if>> macro was primarily designed for inserting whole paragraphs. This behaviour is, however, less useful for, say, inserting sentence fragments into paragraphs, which often have leading spaces. There are a few ways to get around this. Such as:

  • Empty comment syntax

    If you pad the interiors of <<if>> macros with an empty comment tag "/%%/", then the behaviour will be overridden, because the comment tags will be treated as text despite not appearing in the final story.

    First line. <<if $a gt 0>>/%%/
    Second line.
    /%%/<<endif>>
    This might be the most basic method of all listed here.

  • Using <<print>>
    The <<print>> macro can also be used.

    A complete sentence<<if $a gt 0>>
    <<print " with an extra amendment">>
    <<endif>>.

    However, it isn't obvious how to add line breaks using this method. There is a way, obscure though it is:

    <<if $a gt 0>><<print "First line." + String.fromCharCode(13) + "Second line.">>
    <<endif>>

  • Using a HTML <br>

    If you want to preserve a line break inside <<if>>, you can do so by the forceful method of using inline HTML.

    First line.<<if $a gt 0>>
    <br>Second line.
    <<endif>>
    

    [*]Patching <<if>> to not remove whitespace

    Much like most undesirable Twine behaviour, this can be patched out on a story-by-story basis. The script code for doing so is as follows... however, using this will conflict with my <<else if>> script, so you can't have one and the other.

    version.extensions.ifMacros={major:1,minor:1,revision:0};macros["if"]={handler:function(place,macroName,params,parser){
    var conditions=[],clauses=[],srcOffset=parser.source.indexOf(">>",parser.matchStart)+2,src=parser.source.slice(srcOffset),endPos=-1,currentCond=parser.fullArgs(),currentClause="",t=0,nesting=0;
    for(var i=0;i<src.length;i++){if(src.substr(i,9)=="<<endif>>"){nesting--;if(nesting<0){endPos=srcOffset+i+9;
    conditions.push(currentCond);clauses.push(currentClause);break;}}if((src.substr(i,6)=="<<else")&&nesting==0){conditions.push(currentCond);
    clauses.push(currentClause);currentClause="";t=src.indexOf(">>",i+6);if(src.substr(i+6,4)==" if "){currentCond=Wikifier.parse(src.slice(i+10,t));
    }else{currentCond="true";}i=t+2;}if(src.substr(i,5)=="<<if "){nesting++;}currentClause+=src.charAt(i);
    }try{if(endPos!=-1){parser.nextMatch=endPos;for(i=0;i<clauses.length;i++){if(eval(conditions.shift())){new Wikifier(place,clauses[i ]);
    break;}}}else{throwError(place,"can't find matching endif");}}catch(e){throwError(place,"bad condition: "+e.message);
    }}};

    The future
    The next version of Twine 1 may change the behaviour of <<if>> to not remove whitespace. I'm still debating how or whether this should be enabled, and how to enable current story code to continue to function correctly.

  • Syndicate content