I don’t know if this will be helpful or even really relevant … but … a few years ago I used to teach classes where I got writers of so-called “static fiction” – a term such writers tend to hate, by the way – and it was interesting to note what challenges they had. My classes tended to be made up of fiction writers and a few screenwriters. The biggest challenge they had, in pretty much all cases, was “How do I separate the player from the player character enough to keep the story interesting and the interactivity engaging?”
They had no trouble coming up with plot ideas, any more than they would for their regular work. They had no trouble coming up with dialogue or interesting characters. What they had trouble with was the idea of having the player get into the character a bit, such that the character drove them on to explore the story world more.
I’m simplifying a bit there but the idea was that the authors wanted to be able to explore the protagonist (player character) just as much as the world itself. They wanted to create the same kind of emotional experience that they could provide for readers of novels (or film) while still allowing the player the chance to explore the world on their own terms and not always be railroaded onto some purely linear path. So it was that ability to create a meaningful experience that was the biggest challenge, at least as it was stated to me.
I know one thing that helped – and Jim indicated this – was planning out the narrative arc that you wanted to follow. This really helped everyone. It wasn’t that every little detail had to be decided, but the broad strokes of the acts had to be situated in each author’s mind or they found themselves flailing a little bit. Being proficient in the language of choice (Inform, TADS, whatever) certainly helped to avoid slowing down the process too much but “proficient” really just meant that they felt comfortable with how to implement the basics of something they wanted, content to leave the finer details until later. Perhaps interestingly, you would think Inform 7 would be more up their alley given that it purports to be a system for writers or at least people who want to write more than program. In fact, TADS tended to “work better” for my classes, largely because the authors had “programmer mode” and “writer mode” and they liked keeping the two separate. (They likened it to the difference between “writer mode” and “editor mode” – although, again, I’m simplifying a bit.) Inform was felt to conflate the two a bit much – although, that said, most of the more established authors felt that if Inform truly was trying to appeal to writers, and better structured its DSL to how writers thought, it would be more successful. It was just their opinion; take it for what it’s worth.
As far as the story being broken into small bits, that’s where having the broad arcs of the story laid out ahead of time really helped. But the authors also wanted to make sure the system being used was flexible enough to accommodate change easily. Here, again, TADS helped for a reason many might not think of – but it was because multiple source files could be used and that helped to segment material better, at least for the groups I worked with. Further, those separate files could be broken down by “objects” rather than, say, “rules” and that tended to match how people thought a bit better. Many authors tended to run into situations where the “mass of rules” would be hard to keep in mind, forcing them to constantly shift gears to think what “cascade specificity” – to use a CSS development term – was causing their problems. This was not bad early on in development, but became progressively more of a problem, particularly when complex NPC interactions were attempted.
In terms of accommodating change, their largest concern was being able to carry out the thematic purpose of the arc while still allowing the player a certain amount of freedom. So again it went to planning: where are the points where the player can go off the main path for a bit but still come back to the main story?
Bit of a side topic but in the interim I had been playing “Star Wars: The Old Republic.” It’s an MMO but you can largely play it as a single player game. And the interesting component is that you do have a main story quest that you follow with your character. But along the way, you pick up lots of side quests. Those side quests are sometimes related to your main story but often they are entirely peripheral and often seem quite dubious in terms of how they are tacked on. When playing the game I realized it was very easy to get entirely side tracked exploring some large planet, picking up more quests – and entirely forgetting what the heck your main story was about! Plus the pacing seemed off, right? I mean, here I am trying to save (or destroy) the galaxy — but I take hours and hours roaming around doing other stuff so that I (as player) can “level up.” Mind, none of that would have mattered as much if the personal story missions were not in place. But since they were, you started to become conscious of how much else you were doing beyond the story.
I bring all that up because the pacing was a big thing for my class members that would frustrate them. They felt like they wanted to pace out how the story revealed certain things. But that sometimes came right up against the idea of not allowing the player enough freedom to not feel railroaded, as if they were solely reading a book. So the challenge there was how to keep the pacing going while still allowing that exploration. Here, again, a facility with the language of choice helped because they wanted to be able to add elements to the game that would goad the player along if they seemed to be pausing a bit much. (Again, side topic but I recently played “Batman: Arkham Asylum” and it does a fairly good job of letting you roam a bit, but still keeping you on track in an “in game” sort of way – rather than just putting boundaries around your actions.)
All of that, of course, leads to the coding and this is where my authors – to get around slow development and writing time – would like when they could put just enough implementation in place to keep them going through the mean beats of the act they were writing. For example, they wanted to be able to put a “token” NPC in place. That NPC would eventually become a central character, but what they needed at the outset was just for the NPC to be there and to be able to easily have a dialogue system put in place to cover the main things they needed that NPC to do or say. They rarely focused on pure mechanical puzzles, saving those for later. The main things they wanted to start writing immediately were the gating events that took the player through the narrative. Even if only very simple in terms of implementation, what everyone wanted was a way to see how the story as a whole was shaping up as quickly as possible. Only after that seemed to be working, would they go back and start implementing more roadblocks for the player along the way. They also felt this helped them avoid putting “puzzles” in place just for the sake of having something for the player to solve.
So, yeah. Not sure if any of that was useful. But there it is.