With our team passing Greenlight and approaching our Alpha milestone in a few weeks, we have begun to work on implementing several important systems into Guilded before we reach feature-lock. My main task in the past and coming weeks is to finish work on the game's tutorial and NPC dialogue system. Currently, testers have a difficult time navigating Guilded's mechanics (such as those relating to characters' personalities or the quest embark system), so we hope that by implementing a proper tutorial, we can mitigate this confusion and promote more enjoyable, efficient test sessions.
Developing the Tutorial:
During our team's weekly work meeting on Saturday, February 15, I met with our team's narrative designers to discuss the intended flow of information we wanted to get across during the tutorial. We agreed that we should primarily explain the following features:
Adventurers' personalities and relationships with one another
Receiving quests from villagers and going to the embark screen
Sending adventurers on quests from the embark screen
Passing days until adventurers to return from their current quest(s)
Quest results and earning gold
We also agreed to display the tutorial using a combination of two basic systems: first, we would highlight relevant buttons to draw players' attention; and second, we would use dialogue to explain Guilded's elements in greater detail. With that in mind, I began working on the highlighting portion not too long afterward. The final result can be seen in the image below:
I created this effect using a four-piece "box" of UI images. To determine the box's position, users can put in coordinates for each image, along with a width for the top and bottom ones. This ensures that, in cases where we want to highlight a specific button, such as when we want players to open their roster of adventurers, we can use these images to let them click it while still "disabling" the other interactable UI objects. You can see the beginnings of this system in action via the video below, which I took using my phone's camera:
After I set this part of the system up, I then began implementing dialogue. Getting this in was simple enough; I set up a script that takes in a list of String variables, along with information on whether the dialogue box disappears after displaying the last String. Theoretically, any script in the game should be able to pass dialogue to it. This should keep the dialogue system fairly adaptable, so we can use it in the future (such as if we want non-tutorial NPCs to speak), if need be.
With this implemented, I then set up a mock run-through of how interactions in the tutorial might look when I finish working on it. Note that the dialogue system currently flows into the highlights, but there is no way for the highlights to flow back into the dialogue as of now. As such, I made these "interactions" using a Unity Coroutine, which waits a set amount of time after displaying the highlights to then show the corresponding dialogue. In the future, I will fix this to ensure that they both mesh with one another, which will allow for a cleaner tutorial that designers can easily edit if need be.
This ends my current work on Guilded's tutorial system. While there is not much in it as of right now, this base work is still very important, and I plan to use it to build the remaining parts of the tutorial before next Thursday rolls around. This will ensure that we have it available before Alpha, and thus, before we have to lock down our other features.