Post news RSS The Cabin - Creating Dynamic Storylines

Here's a sneak peak into the "Event Editor" The Cabin's designer uses to create custom dynamic storylines.

Posted by on

Well, these have been an interesting few weeks in the development of The Cabin.
There haven’t been many new graphical additions to the game, other than a few creepy animations that made me think perhaps all is not well in this little head of mine. Oh, I also added a few pieces of paper to an old building’s floors!
But the Prologue of this horrifying adventure is almost complete, and that is thanks to the “Event Editor” we’ve developed here at Rat Cliff Games.

As you may know, one of The Cabin’s greatest features is the fact that it has a dynamic storyline. This means the story will have to continually adapt to the player’s actions. What is the player looking at? What is the player NOT looking at? Where is the player? What has the player done?

For example, let’s say after some time being pursued by strange violent men through the forest, the player spots a shed and decides to enter.

IF the player has been playing for quite some time, perhaps she’ll find a weapon inside the shed, that will allow her to finally turn the tables on her enemies and fight back!
But IF the player has lost track of her boyfriend throughout the story, maybe she’ll find him, tied up and badly injured. He asks for her help, but they both hear footsteps and she must hide from a scary man who enters the shed.
But IF the player has already seen her boyfriend’s dead body previously in the story, that can’t happen. So instead maybe she finds something completely different.

And that’s just in this one shed in the middle of a huge forest!
All these branches in a storyline aren’t easy to write, let alone program. But that’s where our “Event Editor” comes to our aid!

Warning: The following may be a bit boring for people who don’t care about the systems used to develop video games.

Ta-Dah!!! Ladies and Gentleman, behold our “Event Editor”.

Ok, so maybe it’s a bit rough around the edges and slightly confusing, but if you look at it for a while it’ll all make sense. Maybe. Let’s look at a simpler example:

Bob and Chuck wait in the room. Bob calls for the player. If she looks away from him, Chuck walks to the door, blocking the exit. If the player decides to leave, Chuck says she isn’t leaving and (…) if she looks back at Bob, he…

First of all, the event begins in a “state 0”, where Bob calls for the player if she looks at him:

If you manage to ignore a couple of buttons like “select”, “delete” or “X”, you’ll clearly see in the green box the “IF Player Can See Bob AND Bob can see Player”. If these things happen in the game, the following things will occur: Bob will look at the player, wait for 1 second, and say “Hey there!”. After that, the event goes from state 0 to state 1:

Here, if the player looks away from Bob (stops looking at Bob), Bob will say something along the lines of “Don’t ignore me!”, walk to the player, and Chuck will walk to the door. And the event goes on to the next State:

This one’s a bit more complex. If the player walks towards the door (which Chuck is blocking) he says “you aren’t leaving” and we go to whatever happens in State 3. If, however, the player decides to look at Bob again, the event will go to State 4.

All of this is done by choosing conditions and actions from a list (which you can see in the first screenshot of the editor), saving the information into a file, and telling the game engine what character is Bob or Chuck, what “Door” should Chuck walk to, and when and where should this whole event take place. The example I’ve provided isn’t complete, however. What if the player walks to Bob when he calls her, instead of ignoring him? What if the player has a weapon, and attacks Bob or Chuck?

However, adding these extra conditions is as simple as pressing a few buttons, making the creation of a huge branching story as easy as clicking and dragging a few boxes around!

I hope someone out there has found any of this interesting! If any of you did, please leave a comment!

Soon I’ll be showing off some new 3d models, scenes or character models, I promise! Until then, how about a quick screenshot?

Screenshot from The Cabin's Prologue

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.