CAGD 377 - Slippin Away Sprint #6

    During kickoff, two main objectives were assigned for this sprint. The first was to finalize the final feature required for the final puzzle to work, and the other was to improve the game's performance. A problem presented in the level design from the last sprint was that many of the levels needed to be optimized, with multiple extra colliders and game objects.


I started tackling the most significant problem, the unoptimized levels. After reviewing them, I needed to identify the core problems with them, which were the following:

  • Unstandardized measurements

  • Too many game objects

  • Unnecessary colliders.

So, there were many inconsistencies in the measurements of the level, which meant some overlapping, which made the level inconsistent. I also noticed that we were using about 1800 game objects for a single level, which is not the most optimized for a single short level. Finally, most of the 1800 objects had colliders in them, and this caused a little lag spike in the game's play.


With all the problems Identified, I started researching how to solve each problem. The first thing first was fixing the excessive colliders. Because the game simulated 2D in a 3D environment, we don’t need extra colliders in places Guppy will never be. This a diagram that shows places that Guppy will never touch:



Keeping this in mind, I kept researching possible tools that would allow Slippin Away’s level designer to build levels consistently. 


Finally, I had a breakthrough with Unity Built-in tools that allowed easy level design and building. The Unity Grid system allows you to paint tiles with different sprites, but you can also add prefabs to each tile, meaning that each tile can have a different prefab, depending on the need. So, with this in mind, the 2D Tiling system also came with Tile Rules, which allowed for different sprites to be displayed depending on the surroundings for that tile, meaning that you could design connecting tiles effortlessly.


So, to start prototyping with this, I began by making a simple tiling texture and implemented that into the grid system. After spending some time polishing the prototype, I had it working to start testing the physics and implementation of the game.



This new system would allow for quick level making and prototyping. I presented it to the team, and they were quick to understand this upgrade and incorporate it into their workflow. With this addition, I was always able to make the middle tile not have a collider, which means that the levels will be more optimized, and areas that Guppy will not go over will not have a collider.


Finally, the last feature implemented was the modular button, which presented several problems. First off, the button needs to be pressed to trigger an action. My first instinct was to use OnTriggerEnter and OnTriggerExit, which sounded like the most straightforward implementation. However, this was not the case because the exit would be too fast, and sometimes the buttons would not detect this, meaning the button would stay pressed. I decided to do a simple workaround, which would use OnTriggerStay, and this was the perfect fix that gave more consistent results.



Overall, this sprint went very well. Although this revamped the level of design, the team was very good and responsive. The overall game is looking brighter than ever, and this almost-to-last sprint served as a preparation for the polishing phase. I’m happy with the progress that was made, although I would have liked to do a little less research and more implementation and polishing. However, I’m excited about the future of the game.


Comments

Popular posts from this blog

CAGD 373 - Pirate Game Assets Final

CAGD 470 - Locked in Sprint #1

CAGD 495 - Stumble Sprint #3