Using the Unity profiler, I noticed that the massive frame spikes we were experiencing seemed to be caused by garbage collection. I researched how I could reduce the amount of garbage our code was generating. We were already caching much of our data so most of the garbage was generated by creating new strings, concatenating strings and using yield return 1 instead of yield return null in coroutines. After spending time in many of the game’s scripts I was able to minimize the frame spikes caused by garbage generation.
Another performance boost came from using Unity’s occlusion culling. I set up my level to support occlusion culling by using mountains and other assets to break up the level. The resulted in a not insignificant performance boost. A variety of fixes were made to the grappling this week. The grapple indicator was improved with new assets to make it easier to read. The indicator handles onscreen in-range, onscreen out-of-range, off-screen in-range, and off-screen out-of-range. The way that pushing and pulling when the player is too close or too far from the grapple point works has been changed. This improves the smoothness of the motion while preventing players from getting pushed through walls. Additionally, Klepto’s mechanical arm has been improved to be more stable. The tutorial signs got more character by giving the sign the ability to face Klepto when he is in range. I also attempted to make the text feel more like it is coming from the sign by making it the same colour and making it move in the same way. Finally, I also improved Dylan’s respawn loading screen by using a UI mask and portal image.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
November 2017
Categories
All
|