October 20, 2022
This week I started to move lots of elements from the test “SampleScene” to my main “Game” scene. I have also been refactoring the quickly-put-together code for the demo functionality into more robust and modular classes. This is currently a work-in-progress, and there isn’t much to share in terms of images for this, but that took up some of my time this week.
A big thing I added this week was adding actual health values for players and enemies, having them change and be reflected in the UI, and have GameObjects destroyed on death. For the health bar UI, I have implemented a “health bar drain” functionality where there is a second health bar graphic that is underneath the main health bar that slowly “drains” towards the target value. This effect is very frequently used in games and helps give a better sense of big hits occuring, since a big chunk of the health bar doesn’t instantly disappear.

As also shown in the above gif, I have implemented a basic enemy attack: shooting fireballs. These are simply a particle system with a sphere trigger collider that will do damage to the player on hit. This skull with the fireball is the basic enemy I had implemented for the “First Playable” project milestone.
For the first playable demo, I have simply implemented periodic infinite enemy spawning off-screen so there is a decent amount of enemies to fight. This milestone is really just a combat demo for me, as well as to showcase the technical aspects of the project such as the dynamic split screen. As such, the current state of the project is not representative of how enemies will actually spawn during the game— enemies will likely spawn in groups in pre-determined “fighting” areas.
I have also upgraded my project to use Unity’s new Input System with Input Actions and control schemes. This is more appropriate and flexible for a local multiplayer game such as mine.

Something else I added this week was a debug text element on-screen that console messages would be sent to. This was useful for trying to debug built versions of the game where I do not have access to the console.

Before Monday’s lab, I also held a number of playtesting sessions on the weekend for the first project milestone. You can see all the playtesting details in my report submitted for the first milestone, but overall, I’m happy with the results: players found combat enjoyable for the most part and had a small number of critiques that I should be able to address.