Hey guys! Merry Christmas!
I am working on a CYOA visual novel project. My buddy wrote a framework in C# / Unity and I’m currently writing the story in OneNote / Scrivener with articy:draft doing a lot of the node-work / structural organization. I used SimpleMind to do some high-level mapping for the sandbox but it’s been very clunky. I reverted to using Excel so I could bring direct mathematical tests into my work for planning and it’s been really tough to combine the cell-based organizational structure with blocks of text.
I’m in a bit of a predicament. Creatively - I don’t write well in little bubbles…at all. I prefer writing in a Word / WordPerfect / Scrivener / Notepad setting. It’s easiest for me to see all the text, re-read what I need to, edit, etc. I’m at a point where the story is getting difficult to test / debug / and translate into Unity. At the end of the day - whatever tools I use - I have to be able to hand my work over to the developer and make sure he understands everything in as neat / concise a manner a possible.
Here’s an example of some of my code:
\INSTRUCTION((ONCLICK.CELLPHONE)(=)(0)) // sets the variable that counts the number of clicks to zero - variable declaration
\EVENT((CELLPHONE)(ONCLICK))
\INSTRUCTION((ONCLICK.CELLPHONE)(+)(1)) // adds 1 to the counter variable
\CONDITIONTEST((ONCLICK.CELLPHONE)(=)(1)) // tests the counter variable - boolean (true / false)
\TRUE
\ITEMDESCRIPTION((CELLPHONE)(ONCLICK)(This is your cell phone)) // cell phone description on the first click
/TRUE
\FALSE
\CONDITIONTEST((ONCLICK.CELLPHONE)(=)(2)) // cell phone description on the second click
\TRUE
\ITEMDESCRIPTION((CELLPHONE)(ONCLICK)(This is STILL your cell phone))
/TRUE
/CONDITIONTEST((ONCLICK.CELLPHONE)(=)(2))
\CONDITIONTEST((ONCLICK.CELLPHONE)(>)(2)) // cell phone description on every click after second
\TRUE
\ITEMDESCRIPTION((CELLPHONE)(ONCLICK)(Why do you keep checking your cell phone?))
/TRUE
/CONDITIONTEST((ONCLICK.CELLPHONE)(>)(2))
/FALSE
/CONDITIONTEST((ONCLICK.CELLPHONE)(=)(1))
/EVENT((CELLPHONE)(ONCLICK))
So I hope folks are still following along. This was just a brief example. The bottom line: Some of what I do is creative writing - storytelling, dialogue, and narration / item / entity descriptions, etc. And the other part of what I do is basically writing the instructions to the developer so he knows when to call which functions and how the visual novel is basically supposed to operate. Does that make sense? It’s super time-consuming because I have to partition portions of my mind to work on the tasks separately. My biggest hurdle to overcome is finding a medium in which to do this. I can’t write everything in Unity because I don’t know the C# code and that’s really what my buddy is there for. I’d write everything in Scrivener but I need the math functionality.
Here’s an issue I just came to that I’m still unsure how to properly detail:
Because of decisions the PC has made in the past dialogue options change for NPC reactions and PC responses. I need to be able to test those conditions / variables within the dialogue event to determine how the NPC will respond OR what new options open up for the PC. For example he / she can now intimidate the NPC or charm / impress - or maybe the NPC knows that the PC slept with her girlfriend and refuses to even respond, etc. So using the syntax that I posted above the conditional dialogue gets BOGGED DOWN.
Does anyone have any experience with this? Does anyone have any recommendations or suggestions?
My biggest concern right now is PLAYTESTING / AUDITING / DEBUGGING the game. I’m trying to follow my map and getting very confused with seeing variable counters. Hey - at this point in the game what is this variable? With the decisions that were made in the sandbox - how are we tracking affection across different NPCs - okay I want a numerical value that I can condition test at each potential branch / etc. Right now it’s almost impossible to track all the variables and know where they are at whichever point in the story you’re testing. My biggest issue with articy:draft is that the play-through / play-back doesn’t really work the way I expect it to and it’s NOT Excel - so I am having a difficult time using it to AUDIT though it’s decent for setting up the dialogue branches - even the conditional branches.
Lastly - I humbly apologize. I realize my thoughts must be all over the place. Could definitely use a little direction if folks out there have done this sort of thing before - any advice is appreciated.
Cheers!
TL;DR: Difficulty being creative and writing dialog / story inside articy with the fragments - very disjointed / interrupted continuity. Writing in MS Word / Scrivener much easier. Need variable tracking over the course of play-through / play-testing for internal auditing. Need condition testing for conditional dialog / conditional location availability in sandbox. Need formula / functions to change variables
Brent