Expeditions: Conquistador Blog Update, First Screenshots
-
Category: News ArchiveHits: 1708
Making a role-playing game entails one major disadvantage: you need to generate a lot of content. Some game genres thrive on a small amount of content that can be combined in lots and lots of ways, sometimes with algorithms, to give the player hours upon hours of gameplay. Think about how few elements Go has compared to the absolute aeons of time people have poured into it over the centuries. Multiplayer games tend to be good that way.
Roleplaying games do not.
The genre we operate within is heavily narrative-driven even if the narrative is structured in a very open and free-form way, rather than being tightly scripted into a linear plotline, you still have to generate the individual pieces of narrative that the player can explore and experience. And because we're not a big team (10 people is a lot for an indie start-up, but it's at best about a quarter of what you'd need to build a modern RPG), the only way we could make this work was to make it easier for ourselves to create all that content we need.
We've put a lot of time and effort into setting up our own tools. Our design workflow is centred on our event editor. It was supposed to be called Fabula, after a term from Russian Formalism, but we never got around to renaming it, so it's just called the Event Visualizer. However, for the sake of brevity, I shall refer to it as Fabula henceforth.
Fabula uses a tree structure to visualise the flow and structure of a branching narrative it's half conversation writing tool and half visual scripting tool. The program reads from an XML file which contains a tree consisting of the following node types: Codex, Choice, ChoiceFollower, Condition, Combat, Destination, Dialog, Event, FollowerAdd, FollowerChange, Goal, Image, Jump, Morale, PlayerChange, Probability, RandomFollower, Sound, SetInteger, Text, Trading, Trigger. Each of them has a different colour in the tree, so it's quite a cheery sight to open any of our events in Fabula.
I'm not going to explain what all of these do in detail, but in summary, they're all used to present information to the player, determine what course is taken through the branches of the dialogue tree, store information for later, and affect changes in the various game systems. The most important node types are Text and Dialog, which show different types of text on the screen; Choice, which presents you with a decision to make; Condition, which branches the event based on the state of the game; Combat, which begins a battle; and Trigger, which activates a script in the game that can do whatever we program it to do.