Title screen in High Noon Level in High Noon Gameplay in High Noon Enemies in High Noon

High Noon

Time frame: September 2022 to October 2022

Role: Gameplay Developer, Animator, Designer, UI and Audio

Tools: Unity and Visual Studio

Languages: C#

Team: Katherine Stein


Description:

Big trouble comes riding in when a rival gang tries to take over what is left of a small Western town. Once a thriving settlement, the gang has scared everyone off of the streets. You are the only one brave enough to come out of hiding and challenge them. Take your stand at the center of the town and defend it against the onslaught of invaders such as the tank-like Coffin or the trigger-happy Cactus. Survive the wild west and be the last one standing. Can the people count on you to bring order and peace back to their quaint town?


Development:

Development for High Noon began in a class that is designed to teach Unity. Having used Unity before I wanted to try to branch out and expand on the scope for this game. From the beginning, I wanted to work on having a fully animated character, the UI, and the variation of enemies. As soon as I got the player movement working perfectly, I used the animation system in Unity to put together sprites for all of the enemies and the player. In the end, I put together animations for all eight directions the player can go in, and the firing for each direction. Afterwards, I promptly went to work on the menus. I started out by making a main menu that lets you play, exit, or go to options. From there I used a similar menu system to create the pause menu and a death screen. I knew I needed a place to showcase the credits for the assets I got. I did not want to just include them on the main menu and wanted to try something new for me, causing me to create a credits page. This page has new music, prints out the links to the assets, and has a scrolling camera to give the appearance of movement.


Challenges:

In addition to having more of a focus on the animation, music, and UI, this class also had us not relying on Unity's Rigidbody system. We had to create our own physics and collision system from scratch. This was one of the most fun and interesting challenges I had while working on this. I had a lot of fun trying to figure out how a physics system really works and implementing it. One of the biggest challenges came from the player's bullets. For the life of me I could not figure out how to get the bullet to shoot in the direction the player was facing. I was eventually able to get the angle of the player when they were moving but when they stopped, the angle went back to zero. I added a return statement before that that only changed the angle if the direction vector of the player was not a zero vector. After that the issue became getting the bullet's position to be updated and unchanged after spawning. After much testing, I realized I did not need to update the x and y position, I just needed to create it using the angle of the player and updating the position based on the speed and direction. This is far different than when I first started working on this, since the I was originally using a Vector3 and updating it that way.


What went well:

I think that this is one of my best games. I was able to keep to the school schedule, the assignment requirements, and even was able to expand in some areas. Given my current level of experiences, I think that this is a good, finished product that could be easily expanded upon in the future. One of the best things to come out this experience was being able to get better using systems that I never felt all that comfortable around. These include Unity's canvas and animation systems as well as Unity's brand new input system. I was also able to get practice in designing the level, all of the menus, and a credits page.