Vagrus - The Riven Realms is a game rich in storylines and quests, and most of these appear in the form of what we call Events: text based interactions where your choices guide the story. There are a lot (and I mean a LOT) of these Events and due to their nature, writing for the game involves quite complex scripting and a non-linear narrative design angle. But what does this mean in practice and what does it involve?
So if you've ever come across a choose-your-own-adventure type of gamebook or any game with interactive dialogs or text events, you know the basics of how they work. There are several choices with each step of the Event (sometimes only one, other times a ton) and most of the problems presented in these steps can be resolved in a variety of ways. Do you fight or try to talk your way out of a tricky situation? Will you use your sword, one of your skills, or a magical item from your backpack against the monster? Will you turn left or right at the junction?
The challenge of writing for these choice-based, branching stories becomes not only from the fact that you have to come up with a variety of ways to give players for solving encounters but also from realizing them in a game as complex as Vagrus is. To put it plainly, we needed a writing environment that meshes well with Unity, handles well for writing purposes, and all the game mechanics can be wired into it, including all the types of Events that can occur: location-based, randomly popping up encounters on the map, camp events, and so on. The randomness also adds more challenge: where, when, how often, for what reason do these Events appear, what are the conditions that trigger their appearance? We have to be able to set this all up. Part of it is a question of narrative design, that is, planning Events and storylines ahead from a top level, then the given Event itself, writing outlines, setting up dependencies, steps, and choices so that the stories are interesting, varied, and interactive, then test them. The other part is the tool.
With all the above in mind, we knew we needed a tool to be able to handle all those requirements, compatibility, and features. So we ended up creating our own tool we simply call the Event Editor, though by now it has become way more than that. It uses an opensource plugin for the flowchart view (see above) but other than that it was developed in-house from scratch. You can see how an Event looks in the Editor on the image below.
Events are also closely tied to the Journal of course. Dependencies are set up for Journal entries in the Editor so that the game can navigate the player through quests and stories properly while also giving info on what to do. The Journal entries themselves are also built in the Editor, as well as Codex entries that help flesh out the world.
There's so much more that goes into this that by now we could write a book on the Event Editor alone. We might return to this topic in the future, if you are interested in reading about it.