Game
Shroudfell

5 years ago

Dialogue System for Shroudfell - Devblog 2

An in-depth look at the design decisions behind the dialogue system used for Shroudfell.


Why Bolt?

There were two main questions I needed to answer before I know how I'm going to implement the dialogue system.

1. Do we need a node-based solution?

2. Will we use a plugin or have it custom-made?

One of the game design goals is that the world is very malleable. This means that the player should be able to impact the world a lot depending on the decisions he has made.

For our designer, this means he needs to be able to have a good overview of effects and be able to maintain it easily. To me, this screams a node-based solution.

Whether we use a plug-in or not was quite simple. We have a short deadline and we were already using a node-editor as a plugin; Bolt.

The beauty of using Bolt is that you are able to create game logic and the designer can easily change what logic is run by the player's decision.

How?

Bolt is a visual scripting plugin, this means that most logic in C# you can do in Bolt as well.

Because of this, there are 3 ways we can implement our nodes for the dialogue system:

-Super Units

A super unit is essentially a node with nested logic in it. You can define inputs and outputs on how you want to interact with it. This is great for applying the DRY principle.

-Reflected Units

Bolt can generate nodes by using reflection for the C# scripts it finds in your project.

Because they are generated they usually lack a lot of flexibility that you might have with super units or custom units.

-Custom Units

Custom units have to be created manually using the Bolt API. This is one of the more difficult ways to create units as it requires knowledge about the internals of Bolt. This is made even more difficult due to the fact that there is no official documentation and what the community provides is sparse. However, custom units have the greatest flexibility.

A great table demonstrating the pros and cons of these different units:

chrome_2019-11-01_09-43-30.png

I wanted something that can give you an overview at a single glance like so:

chrome_2019-11-01_12-07-49.png

This is not doable with super units and reflected units as the node’s layout is too far from what it is designed for. This is why I went for custom nodes.

After fiddling a bit with Bolt’s API this is what I managed to get:

ezgif-1-47dd18db8092.gif

It still isn't completely done but it's functional. Ideally, I would like to embed the choice text into the branch node but that's a little bit more difficult to do well with Bolt.

That's all, thanks for following the development of Shroudfell!



0 comments

Loading...

Next up

Introducing Shroudfell - Devblog 1

A Devblog about how we got to work on Shroudfell.

This is Sol the main character of Shroudfell. The script above the name is the written language of the people living around the Abyss.

This is the second main character of Shroudfell, Lia. She will be joining you on your journey into the depths of the Abyss.

This is one of the very first areas of Shroudfell. You can see it went through various iterations since we started development.

We are Game Tokoro and this is our first Project called Shroudfell. You can find our Twitter and Instagram through our linktree: linktr.ee/GameTokoro

We will soon start posting on our Devblog, detailing the development of Shroudfell.

Just as Pecaminosa's musicians #improvise this rendition of #LittleSunflower 🌻, so do we improvise with this post you're reading. 😂

What's coming out of your own improvs? 🤔

#Pecaminosa | #IndieDev | #OST | #Jazz

We are under attack!

We made a lot of improvements on the Freezing Plains visual. Things like pine trees, tiny bushes, some rocks, and others game props!

#IndieGame | #IndieDev | #GameDev | #PixelArt | #WaifuQuest | #WifeQuest | #screenshotsaturday

🍒Did you like the game? A demo is available for free on Steam.

✌️ Thanks for playing IndieGameiacs!

⚙️ Free Demo: http://bit.ly/UniDuni

📺 Full Video: https://youtu.be/5qEbVXg7GaQ

#steam #uniduni #clops #screenshotsaturday

Heya there! I really wanted to show you all a little gameplay preview of the first boss fight i'm currently working on i hope you like it ^^