Some more updates:
- Double shotgun is now more powerful, it will shoot 3 times more bullets than before (before it was just useless, now compared to shotgun it uses 2 times more ammos, reloads 2 times slower, has higher spreading, but shoots 3 times more bullets)
- Homing fireballs from fatman will now follow player earlier (was way too late before, making them act like normal fireballs most of the time)
- Missile turret can now fire fragmentation missile at high level (they can be distinguished as they go a lot slower than normal missile)
- I got ride of around 60-80% of the garbage collection I think, a lot less objects are instantiated now.
The game is still not playable on Android, somehow it crashes earlier than before just after moving a few in a level, I think there might an out of memory exception, but there’s no trace in the logs, so I’m not really sure. There could also be a problem with video memory, as I use it a bit more than before.
Maybe the solution will be to do direct rendering, currently Snorms is rendered in two steps:
- A background thread that generates cache image for all tiles (with lights)
- The main render thread that displays cache, and then draws sprites and particles on top
Switching to direct rendering will remove the first step, it will save video memory but I will have to render tiles quicker. I still don’t know if Android devices will be capable of doing direct rendering, I will have to optimize my code, or maybe I will have to remove textures from the game (rendering flat color instead of texture is a lot quicker). I don’t think removing texture for the android game would be such an issue, it could even be somehow more “artistic” 🙂
We will see, currently I still have to get ride of the remaining garbage collectors, and then I will investigate this. I hope I can get a working version by the end of next week, not sure though.