Whenever I have some time left at the moment, I spend it on SONAR+, die Unity powered version of SONAR still under development. When I began to work on that project, I thought porting the old version of SONAR to a new engine would not a big deal. Man, I was wrong...
It's not only the different design philosophies the guys of Unity chose that made many workarounds necessary, but the really quirky memory system of that engine that nearly totally frustrated me. When I started my compiled test version of the game, the memory usage just became bigger and bigger and the game wouldn't quit properly. Today I finally got my head around that bug and found the memory leak in a few lines of code that changed the textures of the destructable walls (those dots on the wall you probably remember). All I had to do was to copy these lines into the Start-method of the MonoBehavior and the bug basically was fixed.
So, what is the status of the project? There are quite a few things that work so far (more or less stable) :
- loading of the first level
- moving around the player
- the whole sound particle system
- the basic enemy type
- throwing rocks at walls to destroy them
- the different ground elements (except water)
- the ambient sound system
Of course there is still much work to do. The monsters chase you but you don't die if they get you, f.e. Also the questionsmarks don't display text boxes, yet. There is no oxygen bar (what some people may like ;) ) and lots of other stuff that has to be done.
Nevertheless I thought it was time to show some progress, so here are two screenshots of the current work.
You may notice the pretty low framerate of 29.93 fps in the second image. There are some pretty hard frame drops from 60 to around 30 frames and less when sound particles are rendered and computed. Unity doesn't like it when you throw 360 transparent particles with collision detection in the room on a key press ;) So, yes, I definitely have to refactor that whole stuff to make it less hardware consuming.