DEVLOG 6: twine #content


adrienne (@insertdisc5) asks:

if you want some stuff to talk about next time, I would love your musings on twine. I keep hearing about it and I'm like heck well why is everyone using it???? Is it fun is it ergonomic. What's your process etc... but only if you want and need Content…

THANK U ADRIENNE LET’S TALK TWINE.

So the main reason I use Twine is because it’s the first way of coding I ever learned. If you’re, like me, a non-programmer looking to learn how to program, I highly recommend Twine as a good baby’s first program. The code is simple and easy to learn and a lot of the basics - variables, flags, etc - are applicable to other programs, especially if you’re writing something pretty text-heavy. My first VN ever was actually just me converting a Twine story to Ren’py, because I wanted to teach myself how to use Ren’py!

Here’s the second big reason I use Twine: I think it’s REALLY good for visualizing branches. I’m a really visual person, and one of the big issues I have with just typing my stories into a document (or other text systems like ink* - which is still a good program, I’ll get into that in a second) is that it’s really hard for me to remember how I got where I am, what path the player is on right now, etc. I think that ink, or a Word doc, or a notes app, etc, is perfect if you’re writing something like the Persona games’ social links, which are fairly linear and only divert SLIGHTLY in regards to player choices. (This is also not a critique of Persona’s social links! I think they’re perfectly serviceable for what they are, and Persona games are So Fucking Huge that I don’t know how much branching they could reasonably sustain.) 

The “write everything linearly in one doc” is actually how I handle some of the smaller branches - for instance, exploring Assistance’s bedroom is all just written in one block like:

BED: 

[what happens when you click on the bed]

BOOKCASE:

[what happens when you click on the bookcase]

etc etc.

BUT, for the bigger branches & point and clicks, it’s a lot easier, for me at least, to see the paths visualized.

Again, I’m a visual person, so let’s do this with an example. Spoilers for the Video Star demo below!

So here’s the map for Assistance’s conversation with you at the end of the first act of the game (+ the end of the demo).

So the way this conversation works is that you talk to Assistance, get a menu option with two answers, and the conversation branches accordingly until you get to the final choice, which is the same for everyone, branches once, and then reconvenes at the end. While I was writing this segment, it was REALLY nice to just be able to click to the block directly above the block I was looking on so I could remind myself what the player would’ve seen directly before the segment of the conversation I was currently working on. The player only sees three or four of these blocks in one playthrough, so I had to make sure all of them made sense and felt satisfying as a conversation.

As an alternative, here’s how a segment of this looks in Ren’py (Look away if you don’t want to see VARIABLES!!!! and DIALOGUE!!!!!!):

Which, in my brain at least, is a really hard system to track! I don’t remember which choice leads to label nobelieve, so it takes more sleuthing on my part to remember how this conversation looks from the player’s perspective. So writing in Twine first makes the visualization a lot easier for me, and makes it easier for me to write branches.

I’ll also do a brief shoutout to the way I use it for exploration segments, which you can see a little of above. Here’s the full way I write those out:

Like I said earlier, these are a bit easier to do in one doc than the big branching conversations are, but I still find it really helpful in terms of being able to tell what isn’t finished yet or how many different clickable things I need to account for. It’s also helpful if I want a certain clickable point to lead to something else - for instance, if you’ve met the requirements, going to the attic automatically progresses you to the next section.

The third reason I use Twine is because if you want something to be text in Ren’py you have to do it within quotation marks, and no matter what font I used, for some reason Google Docs’ quotation marks just… don’t read as quotation marks to Ren’py??? They’re just symbols??? Wild shit.

So that’s why I use Twine! If you have any other questions, please feel free to ask!

*I’ve also HEARD that ink has the ability to visualize branches like Twine does, but I haven’t actually seen this in action? I’ve dug around their documentation and have not found a way to do this but I would LOVE to be wrong.

CURRENT PROGRESS: I updated Worthy’s sprites to layeredimages, and actually layeredimages are so cool???? I’m kicking myself for not using them earlier, I think I was very intimidated. I’m currently torn between being hype about the potential of layeredimages and being preemptively exhausted about the fact that I’m going to have to redo a lot of artwork. A few of the sprites (including Worthy’s) will be (have been, re: Worthy) completely redone, but I’m hoping most of them can get by with relatively minor edits.

In terms of writing, I’m officially on the last act! 3/4ths of the way done! As of this wordcount, we are at 52,282 words! That’s a lot!!!!!! (or well, it feels like it to me). 

Anyways, that’s about everything right now? Special shoutout to Adrienne for choosing this month’s theme, everyone go play Start Again(x3) right now and In Stars and Time when it drops. As always, hope you have a good month and see you next time!

Get the Death of the Video Star

Buy Now$10.00 USD or more

Leave a comment

Log in with itch.io to leave a comment.