New Tutorial and Bug Fixes


Jamari Williams - May 4th, 2023

This week, I focused on making a more in-depth tutorial and a few bug fixes and changes. 

I started by creating a TutorialTriggerBase, which is responsible for actually telling the player what to do, like dashing, for example. It has a reference to a text box on the screen so I can display any message to the player I need to. The base also has a CheckAction base event that’s meant to be overridden by its children. 


Unique from the first version of the tutorial, I wanted this one to have separate rooms for the player to go through. Before, it was just a hallway with tooltips telling the player the controls. Initially, I tried using the same framework I used for the bonus rooms, but since this is the tutorial, there are different conditions to progress than just defeating all of the enemies. I created a TutorialRoomManager that derives from the BonusRoomManager, as the functions are similar, just with different implementations. This room manager has a list of TutorialTriggers that it will spawn. Once it goes through all of the tutorials, the room will open. 


I played with different ways of implementing this foundation, but this is the one I found to be the most modular. It allows me to create different tutorials with whatever conditions I want and I can have as many or as few tutorials per room. 


One of the tutorials that I’m especially proud of is the possession tutorial. After the player gets the ghoul down to possession health, the world slows down waiting for the player to possess, which creates a cool effect. I do this by changing the Global Time Dilation using the output of a timeline. 


Outside of the tutorial, I also changed how the possession works. Before, you had to get the enemy down to about 1% health, but I changed it to a 30% threshold. I also made the health bar turn purple when an enemy is ready to be possessed. This is a better visual indicator to the player than the PossessBlip and it makes possessing enemies much easier. 

I also fixed a bug where the ghoul doesn’t always hurt the player. This bug has been in our game for a while, but I finally got to the bottom of it. It was the most puzzling bug because it would attack fine in my test level, but not work in the actual dungeon. On the doors, there were these enormous sphere collisions that generate overlap events. These were here to detect when the player is in range so that the door’s torches would light up. When the ghoul would attack, it would only collide with these spheres and ignore everything else. I changed how the doors detect the player by doing the distance formula instead and the ghoul's attacks work now. It was working in my test level because I didn’t have any doors. 

I am proud of my work this week. Yesterday, we had a bunch of people playtest our game and we found some new bugs and some things that weren’t very clear to the player in the tutorial. I plan on taking this feedback and fixing bugs next week.

Leave a comment

Log in with itch.io to leave a comment.