Black Friday: A HUD UI Project
Black Friday is a HUD project I made for my Game Feel class. I initially pitched for the project to have the same theme and tone as the Menu UI project, but I decided to pivot to a much lighter tone after receiving feedback. The project consists of a player that can move and look around, the weapon they are holding, a health bar, an inventory select menu, an ammo counter, and a weapon wheel.
For this project I decided to programmatically animate objects rather than use Unity’s animator. I made this decision because I wanted greater control over the starting value of the animations. I did the animations by calling for the creation of Actions, which update in an Action Manager and take care of tasks over time and after a specified delay. The tasks included translations, scaling, rotating, color changes, etc. This approach allowed for extremely reusable logic which made the code logic of the UI elements much cleaner.
My goal with the weapon wheel was to make it very clear which element of the weapon wheel was about to be selected. I achieved this by splitting the weapon wheel into three different images that could be individually scaled up. I also change the color of that section of the weapon wheel to a much brighter version of that color.
One challenge I faced with the project was finding a good 3rd party asset for the Egg Carton weapon. The best 3D model I found was a 4x4 carton with the eggs included as the same object. I split the eggs from the carton using Maya, and I considered editing the shape of the carton. However, I found that I could save time by hiding half of the egg carton from the camera so that it looked like a 4x2 carton.
Most of the tasks for the UI are completed using an S-curve interpolation, but the inventory select actions are done using an ease-out interpolation. I made this change after I received feedback to make the inventory select feel more quick and snappy.
In order to prevent the audio from feeling too repetitive or annoying, I play each sound with a randomized pitch. The pitch varies between 0.75 and 1.25. This is a range that is large enough to hear noticeable differences, but not large enough to sound very odd.