A game to save the ocean DevLog#2

Welcome to the devlog of november. This month I had a lot of time and thanks to my last black Friday’s purchase, Alexa, setting up a good mood while programming has never been this easy.

This month I worked on.

  • Fish mutation
  • Website
  • Physically-based particles
  • Portal Metroidvania like behavior
  • Huge performance boost
    • Physic optimization
    • Rendering Optimizations
    • Garbage Collection optimizations
  • Minor(particle generation, better in-game text visualization)
  • Level Editor(layering)
  • Stalactites

Fish Mutation


I’ve changed the algorithm of the fish generation to make it even more random and sometimes

a fish will have inverted or missing bodyparts that will create monstrosity like this:


Schermata 2019 11 29 alle 12 13


Physically-based particles


The player will now get affected by every particle inside

the game and this will create cool game mechanics


Huge performance boost

After several nights of profiling the game, I was surprised

that the biggest bottleneck inside the game were: physics calculations, and the frustum culling performed by unity.


To fix those problems I wrote some custom systems and did some smart optimizations:

  • Enable/disable rigid bodied based on the distance from the player
  • Automatically group objects inside quads and only shows the quads that are visible(using the good old bounding box) by the camera
  • Located and fixed every garbage allocation(most of them were inside the AI system), inside the code to avoid the garbage collection and ugly lag spikes.
  • replaced every Coutourine with tasks when I could since Coroutine allocates garbage every time they are called.
  • used Sprite Atlas to batch multiple sprites inside a single draw call
  • Removed every unnecessary polygon collider with basic geometry shapes
  • Optimized physic layers, by removing unnecessary casts between layers.

Particle generation and better in-game texts

I improved the algorithm that generated the bubbles of a current to increase/decrease

his size and particle count based on the volume of the shape that they are spawned in


I also changed the way texts are displayed inside the game:




Stalactites are cool and will improve the overall mood of the game


Layering system:


The level editor got a huge boost in the user experience and also

a big feature that everyone(only me) was waiting for:

the layer system to create cool graphic effects.

I will make an article on the level editor because it’s really complex and deserves his own post

to explain in detail everything that you can do with it!



Join us!

How about writing your own piece for IndieWatch?

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button

Adblocker Detected

Please, consider turning off your Adblocker so you can enjoy IndieWatch and contribute to our site's existence. We need to display ads so we can keep our gears smooth and running. Thanks for you cooperation!