Tumgik
#i wrote this whole thing and then tumblr deleted it so <3 hrng
northern-passage · 2 years
Note
hi! you're one of my favourite if authors n i love when you share stuff about the process, but i guess i wanted to ask how you got over the daunting challenge of coding? i have an IF idea i love very much and have spent a couple years creating content for (from productive writing to indulgent artbreeder portraits) but i find the idea of coding all the variation i have in mind rly intimidating, i guess i just wonder if you have any advice on managing the sprawling code and keeping it manageable,, or just not freaking out when it continues to grow,, im excited to share but i think this aspect of it might kick my ass though im dedicated to the IF medium,,, anyways love u
coding can be intimidating and overwhelming and it takes a lot of trial and error. when i started in choicescript i made a lot of stupid mistakes and didn't even know how to run the bug test, and when i posted the original demo it was a broken game lmao. i still made coding errors in the most recent update over a year later. and now i'm changing gears and learning twine and it's still a process. thankfully (?) i’m a stubborn ass so i refuse to let the code beat me. it’s difficult, but it's definitely something that gets easier as you go and as you get more familiar with the code itself and what you can do with it.
imo, it sounds like you already did the hardest part - you have a story you want to tell, and you’re familiar with the characters and you’ve already got some writing under your belt. so you know how the story goes and what you want to accomplish with the interactivity of the medium... like you’re already halfway there, honestly. the next step is to just start testing out some code!!!
so before i even open twine or choicescript or anything, first thing is i have my story organized with folders. so many folders.
i actually write in scrivener, and i really like scrivener because it lets me make a billion subfolders and organize them exactly how i want. i code as i write, too, which is very helpful for future me when i have to import everything into twine.
Tumblr media
while there is coding & smaller variations/flavor text going on within each scene, i can also physically break the variations up easier and have two separate files for one scene, like with Lea Wakes You Up, and i can still keep them all under the same folder. obviously you don't need scrivener to do this you can do it in google docs or word, etc as well. the folders are my preferred way to keep track of bigger variations, like whether or not the player has chosen to stay in blackwater or if they’re leaving for highfell. you can see i already have some scenes for the highfell branch written there.
also some authors use spreadsheets to keep track of variables & stats and all the branching, and to ensure things are balanced. i don't do that myself but... i should.... lmao. i actually just have a passage in twine that lists all of the variables i’ve made and what they do, and i’ll reference that if needed. in choicescript, you put all your variables in startup.txt & there i would use the *comment command to leave notes for myself for each variable.
now, for the actual coding/importing part... my process relies entirely on code skeletons. the passages in twine are very annoying for writing but very good for building a path and keeping track of where things are going.
you can see here i have two separate paths that reconvene and i also have it color coded at the moment:
Tumblr media
when it comes to variations within these passages, i cannot stress enough that code skeletons are your friend. i'll make a passage and leave in notes like “this is what goes here” and then do something like this:
Tumblr media
so i note down all the variations i need within the scene first in the code, and then from there i'll go back in and slowly fill them in. i use WIP so then i can easily search "WIP" and twine will highlight which passages still have unfinished variations.
when i start writing a scene i always ask myself: what variables matter here, and do i need to create different variations for these variables? are there previous choices that should be influencing the characters and their attitudes here that i need to take into account? where do i want these branches to reconvene and how do i get these scenes there? once you figure those things out, you can make your passages and build a skeleton.
once i do that i then write the “spine” of the scene, which is the scene at its most basic, and once that’s done i go back in and add/flesh out choices, elaborate on the variations, etc as the last step. this does mean that sometimes i have to edit the spine later, too, and it’s just something you have to keep in mind. it will be difficult at times and sometimes scenes will not go the way you want them to, but that’s what makes it fun, too.
basically with coding and branching the only way you're going to figure it out is to just do it!! expect to make errors and to get frustrated (my friends can tell you i got very angry at twine in the early days lmfao and i still do) but it's a skill you'll improve over time as you keep practicing. the branching can get overwhelming at times but that’s when i’ll just sit down and do a good old fashioned bulleted list and just take some time to write it all out and slowly work my way through each point. there’s no rush and don’t feel pressured to get it all right the first time - there’s always the option to go back and change things if you want to. it’s all part of the process, babey
when i wrote the first version of TNP’s prologue it had barely any branching - the hunter Had to let clementine come with them, the hunter Had to agree to go to blackwater (there was no argument at all), there were literally no choices in the wraith fight and the hunter always got scratched in the back and passed out on the road. it wasn’t until later that i went back in and rewrote it with more choices and variables once i had gotten comfortable with choicescript.
and like i said, you really have already done most of the hard work. having a story to tell is over half the battle. with time and practice you’ll be able to get the code to do what you want.
55 notes · View notes