Lines, Trees, and Clusters

Some of the concepts presented here are partly based on Justin Alexander’s node-based scenario approach to writing Pen & Paper RPG adventures.

Though the industry talks much about interactive storytelling and non-linearity in games, most games available to this day actually still follow pretty linear approaches to leading the player through the game’s environments. And though one might argue that open world games offer freedom of choice, these choices appear to be choices of different linear paths to follow rather than open interconnections. The reasons for this linearity can be manifold, but the most-quoted of them is probably the manageability of linear content. When there is a predefined route for the player to follow there is little doubt that the player will encounter all content placed there for him or her to find. The argument goes that each larger piece of content that will not be encountered during playthrough is lost development time.

What I am suggesting here is that there are two conventional ways to address this problem:

  • Following the linear approach
  • Branching the story into a tree-like structure

And then there is another solution that I clearly prefer above the others:

  • Keeping the story open in a cluster-like environment

Line

A linear story path

A linear story path

In the shown example, each of the squares might stand for a point in a dialog, a place the PC is to visit or an in-game interaction during a quest. For example’s sake, let’s imagine we are talking about a single quest in a fantasy RPG where the player has to find and retrieve an abducted king. The developers prepare six interactions (talking to court members, catching a member of the kidnapper gang, interrogating him, finding the gang’s hideout a.s.o.), and the player will encounter any of these steps, one after the other. The story will appear well prepared, but the replayability is comparatively low due to the lack of diversions the player can take. This makes for 6 interactions (6 per playthrough), 0 choices, 1 way and 1 possible outcome.

Tree

A branching story tree

A branching story tree

To offer players greater freedom, branching decisions are often implemented into games. This results in a tree-like structure that allows for the player to decide at certain points to follow a different path. Players feel more empowered with this non-linear approach, especially when comparing to other players, and replayability is kindled as well. On the downside we have the enormous development cost – the example requires the developers to implement 22 different interactions, but upon each playthrough the player will encounter but four of them. In the said example this could mean that the player can decide between interrogating court members, searching for clues in the king’s bedroom, visiting a seer and so on, with another two critical decisions later on, based on the taken path, but no backtracking. All in all, this makes for 22 interactions (4 per playthrough), 3 choices, 11 ways and 11 possible outcomes.

Cluster

An open story cluster

An open story cluster

Following Justin Alexander’s insights on Pen & Paper RPGs, the next logical step is to open the system up for an almost indefinite number of player choices. Such a clustered approach keeps up the impression of freedom of choice for the player, while having this freedom emerge from the system itself rather than from predefined content. The cluster allows players to freely move between the nodes of the cluster, going back and forth and backtracking as he or she pleases until a defined outcome is reached or it is interrupted by the player. In the fantasy RPG example, this could mean that the player might wander around the court, talk to different people, search for clues and so on. From the gathered information can then be concluded where the hideout of the kidnappers is. This could happen through cutting the hideout-related information up into different parts (like the surroundings – forrest, desert, mountains, – the cardinal direction, and the secret keyphrase to enter) and then have the player uncover only parts of these from each interaction until the information is complete (doubling the pieces and hiding them in different nodes is therefore necessary). The player will maintain full control as to where he or she goes and how the investigations proceed, finally uncovering the truth using his or her very own way of doing so. To sum this up, the Cluster approach will require the designers to come up with 9 interactions (any number of them per playthrough) and an almost indefinite number of choices, ways and outcomes, as all these depend on the player’s decisions throughout the quest.

Conclusion

This post argues that using a cluster-based approach, development cost can be held comparatively low while still providing the player with an interactive and replayable experience depending on his or her playstyle with almost no lost content. Any of these techniques can also be used during a conversation with an NPC – with the Line approach equaling a cutscene, the Tree approach corresponding to usual dialog trees and the Cluster approach providing a technique where (using only a few generic interconnections), topics could be addressed in a freer and more natural way, without endangering the player to have missed a critical branch of the dialog.

Please note that other than in a tree-based approach, the cluster does not withhold any node from the player – he or she can access any node at any given time, provided the correct interconnections are taken. This way, no content is lost to the system, and the better part of the story emerges from the interactivity itself.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s