Author: Matthew Chadwick
Date: 1/12/2024
(Note: The widgets mentioned in this post are not fully integrated into the quest system since they were created over break. As a result, the videos will only show a demo of their behaviors and not their actual functionality when used in a quest, such as the tutorial)
Over the winter break, I decided to improve upon the questing system I had implemented for the tutorial in CyberSiege. I began to think of the weak points in the system and what additions could improve the experience. The first thing that came to mind were the steps themselves. Currently, the steps simply display the entire dialogue on the screen while completing them. This causes a lot of clutter on the screen, which can distract the player from the actual game. To solve this problem, I created two new widget: a dialogue text box that pops up, and a list that will keep track of the steps. These will remove the large wall of text at the top of the screen and bring the quest experience in line with the current system in most games.
The easiest part of this task was the dialogue text widget that pops up to explain the step in detail. I put together a very simple widget that will display text for a short period of time before disappearing from the screen. This widget consists of a picture that will represent the NPC that is talking, and a text field that contains the actual dialogue of the text. The data for the text and image will be provided by the Quest Step struct, which has already been created and implemented. Whenever a new step is triggered in the quest manager, this information will be used to create a new instance of this widget, which will type out the text depending on the set speed it was given. The "typed" portion of the widget gives it the feeling of an actual conversation instead of just a wall of text appearing on the player's screen. Since the dialogue does not stay on the screen permanently, the player still needed a reminder of what step they were on and what they were supposed to be doing.
The second piece of this puzzle was creating a list that keeps track of the steps completed and the current step the player is on. The widget I created for this was not anything particularly unique. In fact, I modeled the quest step list after common lists you'll find in various RPG games. The idea behind the list is that it will be given the list of steps whenever a new quest is started. Then, whenever the quest manager starts a new step, it tells the quest step list to also complete its current step and start a new one. Whenever a step is completed on the list, it is crossed out and new step is added to the list. Then, whenever the quest is completed, the disappears from the screen until a new quest is started. The logic of it is very simple, but it will be very useful for quests that may take multiple rounds of gameplay to complete.
Did you like this post? Tell us
Leave a comment
Log in with your itch.io account to leave a comment.