This is an intriguing topic. I’ve done bits of work for several CS games (none completed, though I’m focusing on just one now with that goal in mind) and my process has been different for each of them.
I’ll start out with stats. That’s probably easiest to answer. I decide on stats before I start writing. They are, to me, like the rules around which the game must revolve. It wouldn’t do very well, for example, to try to create a Magic:TG card without knowing the rules for Magic. So the stats come first- which goes in tandem with what the game is going to be about. Stats, including stat -checks-, can create exponential situations. If a hypothetical game only has one stat- ‘alignment’ let’s say, with only two possible ‘checks’… alignment > 50, and alignment < 51… that’s easy. The more you break it down, though- like, alignment < 25, alignment > 24 and alignment < 50, alignment > 49 and alignment < 75, and alignment > 74… well, the more instances of where the stat could check at, the more times the stat needs to be able to rise or fall, and the more instances where visible writing is changed because of stats. If you have fifteen different stats… even if all of them are only checked once, and only if they’re higher or lower than a certain number, that’s still 30 instances of separate writing needing to be done… and most of the time just checking a stat once is too bare-bones to have the stat there, and can instead be represented by choice. So make that 60 or more instances of separate writing. Monsters, incidentally, has fifteen stats- plus a number of flags (on or off variables). The number of times they’re used, though… is quite high, and faaaar more than just four possibilities. Having more stats would, before long, be simply too much. I might be able to take one or two more without going mad, but the workload just keeps going up vastly with each that’s added, because each requires a multitude of branching text dependant upon it.
In tandem with the stats is ‘the overall general idea of the story’. Like, prince/princess raising sim, realistic fiction psychological survival horror, high fantasy adventure, ect. Often this comes first thing, an idea inspired from who knows where. Like ‘Oooh! This seems like it would be an awesome idea for a game!’
Then, at least for me, main points for the story coalesce in my head. But not on paper. Like, ‘okay’, I want Monsters to be a story that shows the best and worst parts of humanity at the same time and really mixes up the two. It’ll be realistic- at least somewhat realistic, and true to life. How would actual people like the characters act in these situations? Sometimes it stretches reality a bit, but it also provides a fairly reasonable explanation in doing so. So, I’m going to set it on a road-trip around the US. How long will it be? Uhh… after putting some work in, it seems like ten chapters is a great aiming point. I knew what was going to happen in chapter 2 when I was working on chapter 1, though only in a ‘general sense’. I have in mind what’s going to happen in chapter 3, and most of chapter 4, while still working on chapter 2 as I am. Beyond that, I just have… ‘floating anchor points’. Things I know I want to have happen, though I’m not really sure ‘when’. Mostly, really important parts to the story.
None of it is written down, though. I force myself to write sequentially. The CScomp story I wrote for this year was a lot harder in this regard because there’s no clear cut sequential order- it’s more… roam-y. I was experimenting with *rand and it only partially worked how I hoped- it’s … not nearly as finished or fleshed out as I wanted to make it. Parts are, while other parts feel skeletal. So sticking with sequential writing probably helps me stay organized. With Reignmaker, I scripted out all the essential coding to make the game work- the skeleton around which the game can be built. A totally different approach. But still basically starting with the ‘rules around which the game is based’. Because it’s organized differently, that the -type- of game it’s meant to be is different, I believe that setting the foundation works for it, as a highly methodical and organized machine with many working parts.
Monsters, by comparison, which started as my first attempt at coding/scripting ever, is by comparison, a mess. Like some sort of outliner’s nightmare, choices within choices within choices, ifs and branches diverging and converging, huge chunks of script copied and pasted rather than creating a new label, simply by not knowing ahead of time when one would be prudent. And yet, somehow… other than the nightmare that is editing, the Frankenstein’s monster of a patchwork process somehow -works-.
And, the process itself. The beginning of a CS story is a lot easier than the rest. Stats haven’t really become a vastly divergent spectrum yet, and so the process of writing is less interrupted by divergent story. But with Monsters, I’ve simply as a natural process combined writing the scripting with the creative writing. Someone says something, and if your character has, say, Wrath > 55 they say one thing, while a Wrath < 56 results in a different response- well, I write this as I go, and both then have their own thread I fill in. One might end up in a choice selection and the other doesn’t. Okay, more division- fill in the various choices, any diversions within those… sometimes a portion somewhere is left hanging for a bit, like a choice without a thread under it, but I get around to it before pushing ahead with the next section of story. In long conversation threads, though, it can be very tedious and time consuming- and may well be entirely like writing twenty pages of ordinary novel to produce one page of visible conversation that can go any number of ways.
Which is suppose starts to get into the regard on branches. … I don’t plan out how this will go ahead of time. Doing so, I find, is like trying to force a story that doesn’t always go the way you expect it to go. I do have several endings in mind for Monsters- heh, actually, I have a LOT of possible endings for Monsters. But not regarding bad endings, I want to have somewhere around about 21 or more different good endings. Seems like a lot of work to me, too. But there it is. But as far as the game itself goes… it’s a little harder to explain branches. Well, some are normal. Make a choice on who you want to stay with, and this section will happen, or that section will happen, but you won’t get both… and then later the story will converge again. Then there’s the smaller stuff. In this section, things can go a number of ways, which affect your stats, which affect everything in a butterfly-effect like way. You’ll end up with the same story if you make the exact same choices with the exact same character, BUT, if you change the order of choices in some cases, or do something differently, it could have a spill-on effect that affects more stat changes and leads to more divergent story content. So I have to be conscious of stats. At least in the ‘what they mean at the different points they can be’ level. Admittedly, I ended up changing around the whole meaning of what one stat essentially is, between chapter 1 and 2, and had to go back and retrofit changes… but editing is a never-ending process. Because I don’t plan things out precisely, there’s a lot of room for the story to grow and adapt, and to add in new branches where need-be. And there are many cases where differences are cosmetic- no ‘story-altering’ decision being made- although, in some instances, there are. Choosing your character from the very start, for example, or your character’s orientation… And a number of minor little things that often don’t seem important, but the game remembers and brings back later. Sometimes cosmetically, sometimes game-changingly. I just got done not long ago with an update that was almost entirely a side-branch most people playing the game won’t ever even reach unless they’re lucky or actively exploring the game. It just ballooned into this sprawl that kept going and going- and I let it, because it made sense within context for it to do what it does. But I was still thoroughly surprised that it took as long and ended up as long as it did. Like, oi. - It wasn’t developed ahead of time, I just had the idea for what was going to happen in my head.
Writing… when I’m actually writing, I don’t know what the next sentence I’m going to write is going to be until I’m writing it. I may know what I want to have happen… this character gets mad, or talks about something specific… but how it comes down isn’t set until I actually type each word. Heck, I don’t even really have the end of a sentence down, necessarily, when I begin writing one. It just forms as it goes, as I think it.
I think for Monsters, at least, it would be impossible- and I mean -impossible-, to strictly code first, or strictly write first. Reignmaker is a completely different approach, in which I’m attempting to set up -almost- all of the coding first, save choices and story-related stat changes. IE, the framework is being set before any story, and story can be written in nice little sections which are already ready for it, without needing to get bogged down by coding. That -can- sometimes get tedious on Monsters- having the writing interrupted by coding; ending up being more draining and feeling like what’s in the tank for creative juices gets used up faster, but it’s still a process I find works best for the type of story that it is. Where things can be altered on the fly and the story itself can surprise me. Where I can add all sorts of fun easter egg bits to reward players.
One thing, though- the story I’ve written doesn’t branch individually, into separate stories. I mean like… Choice of Robots, as an example, has different stories altogether depending on your vision of the future in the beginning, on what kind of ending you envision. That’s a cool game style, but I still can only manage one central trunk to the story. Even if that central trunk could play out in even more ways than four trunks combined, the story would follow the same plot and still converge in the same ways each time, being essentially ‘the same story’, just told different ways. I’d like to do a game sometime where that’s not the case- where the story splits completely… but I haven’t done so yet. I do have some things which cause the story to change in major ways, but parts are still going to be the same. In essence, I just bury shittons of content in *if statements. XD And more in choices, especially in conversations- in those ‘minor’ ways, well, a conversation may split into separate conversations. But the story isn’t really being changed by way of plot. Usually.
The process of writing both the story and the code as I go is what I think helps the most in weaving the interactivity into the story. It’s like… writing a regular novel, except with alternate realities. And no certainty which is the real reality. So in a sense, they all are. Continuity is -very- important. If someone for some reason apparently did something important at one point earlier in the story, except the version you played through this didn’t happen… that’s a real issue. Continuity errors happen, and can sometimes go unnoticed for a while- the more branching the story, the harder it can be to find 'em. Thank goodness for keen-eyed proofreaders and ravenous playtester story-fans. XD
So, I know that I mentioned starting with stats… that’s true… but flags… which are a little different, emerge from the story. Those are essentially true/false variables. Sometimes 1, 2, 3… but aren’t things that require a vast range of tracking. Did ‘this’ event happen? Yes? Okay, flag activated. Now, later in the story, the story can know if the event happened or not and react accordingly. I personally code my flags as *create blahname 0 - which has it set as off, and then *set blahname 1 if it needs to be true. Sometimes, *set blahname 2, like if it needs another state beyond true and false. Like ‘well, true, but -this- -also- happened, so that changes things’. Anywhoo… I’ve gone on a long ramble here, probably more than most people have an interest in reading. Thank you for your patience slogging through all this, but it’s also been fun for me to talk about my writing process. I hope maaaybe some of it helps… or that at least it’s been entertaining and insightful. Thanks.