Brimstone Devlog 4 (Alden)


Hey everyone! I'm Alden Chappell, and I'm a part of the Midnight group for this year's capstone presentation for Simulation and Game Development. My group and I are developing our game, The Brimstone, in Unity using C#. 

At this point in the development cycle, we've gotten down most of our core features, and additionally some features that were tacked on after our initial planning phase.  However, this week, I have the chance to show you all a glimpse into the coding aspect of The Brimstone!

There are two videos that I made to showcase the actual code I wrote, and the things I did inside of the Unity engine. You can find these videos above their respective part of the devlog.

In the first part of the video, I show how I fixed objects that have been picked up, as well as making it so when an object is very close to the player, and they are looking at the object, that object does not show on the compass until it is further away. This was part of the polish that I added to the compass this week.

Next, I explain how i made it so the objects that are close to the player and being looked at by the player, that they disappear from the compass. Furthermore, I go into detail explaining that I used scriptable objects to hold the data for each compass marker. At the end of the section in the video, I show that the desired outcome has been met.

Following the compass work, I spent a little bit of time optimizing some of our code for when hider doors are interacted with by the player. To do this, I removed the two arrays of UI elements that I was keeping track of, and looping through and disabling their respective UI elements. Instead, in order to optimize this code a bit, I made it so only one game object is set to active and inactive upon interacting and finishing an interaction with hider doors.

Next up on this week's tasks, I implemented a toggle into the pause menu that allows the player to control whether or not the compass is shown in the UI. The reasoning for this is that there will inevitably be some player(s) that wish to give themselves an even bigger challenge with our game, and disabling the compass will surely do that.

After finishing up the compass toggle, I was tasked with fixing an interaction bug we had with the NPCs in each level. The bug was, when the player walks away from an ongoing interaction with an NPC, the dialogue box would remain active. I show in the video how I solved it, and that it is solved.

If not the biggest, this task was one of the biggest. Prior to working on this task, I was under the assumption that it would be an at most 10 minute implementation. However, I was very mistaken. This task was making it so when you return to the lobby back from the floors, it spawns you in the elevator. But, if the player comes from the main menu, they should spawn just in front of the revolving glass doors at the entrance of the hotel lobby. As mentioned in the video, it certainly did not work the first try, however the fix was simply switching one line of code from the Awake() method into the OnEnable() method.

Up next was a bit more optimization. Before starting this task, we had several scripts that each had one use: handle a specific toggle for a specific setting. However, in order to optimize this, I utilized the InGameSettingsManager() script that I made to handle all settings in the game. In addition, I only required one extra class to handle all toggle settings in the game's functionality. 


The second part of this devlog showcases the start of implementing the Skull Companion's dialogue system into the game loop. So, the first thing I did was make an interface to handle playing the audio clips that the Skull Companion's dialogue consists of. I show an example of where I will use this interface in the video below.

The next thing I did was write code to make it so when a level is first started, it plays an introductory message from the Skull Companion's dialogue, but it will only fire off once per playthrough. For instance, if the player were to complete the lobby floor, then they beat floor one then return back to the lobby, the lobby intro message will not play again.

Next, I plugged in all of the audio clips that I made for the Skull Companion's dialogue into the dialogue line holder, which I made previously, This object will hold all of the required dialogue lines, and has the singleton pattern, so it is accessible to each object that needs a reference to it.

Following plugging in the audio clips to the dialogue line holder, I made a short video showing how I personally turn an AI generated voice clip into a game ready audio clip using Audacity.

The fifth thing I setup this week was logic that I implemented into Owen's (a fellow programmer on this project) Fuse script, which makes it so when the player completes the lobby level one time, the following times they go back to the lobby, they do not have to turn the power back on. This was a big feature to add, because I'm sure no player wants to complete the same puzzle four times in the same game.

The last two things I did this week is make animations as well as implement sound effects for a couple of the props in our lobby scene. The first object I created animations for was the bell. I made it so, when you interact with the bell, it plays a "ding" sound, and plays an animation signifying that the little bell dinger goes down then back up. After the bell, it was time for the telephone. This was a very similar process to the bell, the only differences being the animations themselves and the audio clips that play, but pretty much the exact same functionality.

Thank you all so much for taking the time to read through and watch what I've been working on this week. Until next time!

Get The Brimstone Final Project 2024

Leave a comment

Log in with itch.io to leave a comment.