Hello Hunters! In today's devlog we're talking about event system in Alder's Blood. Enjoy!

Posted by Shockwork_Games on Dec 14th, 2018

Wishlist Alder's Blood on Steam: Store.steampowered.com



Thank you for your support during the IndieDB contest!

First of all, we want to thank you for your great support! Thanks to you guys, we've made it to the top100 on IndieDB!

Now you can vote for Alder's Blood to make it an Indie of the Year: Indiedb.com. We're in the 'Turn Based Tactics' category. :)

Event system in Alder's Blood





I will tell you a story about our story. There was a creative Spirit, a good soul that wanted to create great things. The Spirit wanted to tell a story, an extensive one, with many characters and events. It needed a way to do it, so it turned to the dwarfs from the great Halls of Code. The brave dwarfs toiled night and day, and after some time they had crafted a tool for the Spirit to use for its story. But the Spirit was restless in its creativity, it wanted to create even more amazing stories, it wanted to have branching events, so that whomever would experience this story would have choices that transformed the story itself. So again the Spirit asked the dwarfs for help. The dwarfs liked the challenge, after some searching they found a schematic, created by a great dwarf Thor, on which they could greatly expand the tool for the Spirit. Finally the Spirit was pleased, its thirst for creativity sated, but the story isn't over yet.

Hello, I’m Kamil Wójcik, and that is as much fun and adventure I could put into this devlog :) What will follow, is more or less a technical description of the tools we use to create the story that will be in the game. :)

We have the events system, which handles all the situations such as NPC meetings, ambushes, and other random occurrences that we’d like to have in the game. It's pretty straightforward, we just need to set some data and everything should work perfectly (just like it always does in computer programming). The system itself was relatively easy to use at first, but it became more difficult with more events and all the connections between them.





We soon found that we needed a visual tool to easily connect different events and to handle the branching and looping conversations. After some testing we found the xNode framework to be most suiting to our needs - many thanks to the creator of xNode Thor Brigsted. Some work later, and now we have a visual editor for our events system.

Setting up an event is pretty simple, we create a new event of a particular type on the story graph and we fill in the required data. Things like where it should show up, what reward the player should get for completing it, what should be written in it and what choices the player has for it and so on. Then there’s the matter of connecting the event with the other events to create a chain. An event has connection points, on the left side are incoming connections and on the right side are the outgoing connections. To unlock an event, all connected events need to be completed, or any completed event can restart an event (useful for conversation loops) and we can disable an event (and in effect all subsequent ones depending on it), making player choices matter more.





As you might have noticed, we also use translation keys. Instead of putting the actual text into an event, we use stuff like Event_Blackwells_1_0_8 and later translate it in the game based on the selected language. It’s a system we've used before, but with all the texts for different events we might need to improve it a bit. But that would be a story for another time, if there’s anyone that would want to hear it.

I hope you liked this short story or at least you didn't hate it, because we have more to come.

Farewell!

If you like what we do, don't forget to visit our social media! :)

Facebook.com

Twitter.com

Store.steampowered.com