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.