Polish Everything

 By: Matthew Steinhardt

The Problem

As it came down to the wire, there was so much left to do. It seemed overwhelming, however I decided to take it one task at a time. The list of things to do was vast and we continued to find bugs during our final build process. It soon became apparent that we were not going to address everything that needed to be fixed before submitting the archive build of our game.

The Solution

The first thing I did was try and mentally categorize the importance of different problems. I made three categories for things that needed addressing: Critical, Annoyances, and Feel-Goods. 

Critical problems were for those that needed to be fixed. One critical issue we ran into was a bug where the player would seemingly randomly be unable to move indefinitely. Chris made an amazing discovery and noticed that the bug only seemed to happen when the player jumped before sprinting. This immediately led us to determine what exactly about jumping and sprinting could cause this issue. We spent a lot of time trying to figure it out before I came up with a "quick and dirty" solution that essentially runs the sprint/stop-sprinting code on begin play. This sets up the player's movement speed before they have a chance to jump (which sets the movement speed to 0). It wasn't pretty, but due to time constraints it ws the best we could do. 

These nodes connected sequentially to BeginPlay


Annoyances were reserved for issues that made the play experience noticeably less fun. We ran into a lot of these issues. Some examples were noticeable performance drops after the first boss wave and when too many flame thrower towers were placed down. We ended up taking some time to troubleshoot these problems before coming up with more quick solutions. We removed some unused shader code for our toon shader and for shader. This greatly improved performance. In addition, I made some optimizations to the Niagara system used in the flame thrower which also modestly helped things.

Feel-Goods were for things that would make the play experience better if we could polish up. The difference between Feel-Goods and Annoyances mainly came down to whether or not a player would notice if said feature was missing or incomplete. For example, the crouching animations on the player character looked very... off. Yash spent a decent amount of time trying to come up with a solution, however we determined that the player wouldn't miss the ability to crouch as the game is very fast-paced and there isn't a real need to crouch down. 


Overall, we were able to get a lot more done in the last 48 hours than I could imagine. I was super impressed with what the team pulled off.





Comments

Popular posts from this blog

UI Polish

AI Navigation Problems - Yashwant Patel

Round End Cutscene Implementation