There is a very random bug that causes the game to crash sometimes on PC, I can’t find why it happens, so until I find the cause I won’t release the next Android version (as it is random it might maybe also happen on Android).
This is a very strange bug, the game just suddenly stops, no exception, no dump, nothing, I’ve tried a few things:
- I made sure System.exit is not called by adding it to a SecurityManager (override the checkExit function)
- I made sure all exceptions are logged
- I made sure OutOfMemory exceptions are trapped somehow (-XX:+HeapDumpOnOutOfMemoryError)
- All possible missing exceptions are catched using Thread.setDefaultUncaughtExceptionHandler
Only thing I have figured so far:
- It’s not an audio issue (only error message is related to audio, but this message also appear when exiting the game normally, I just removed audio to be sure and bug happened anyway)
- It’s not linked to a LibGdx version, bug appear on 1.4.1 & 1.5.2 also (and game was working fine when I was using these versions)
- It doesn’t seem to appear on mobile version running on PC (but as it’s random I can’t be sure, I was just maybe lucky during these tests)
It is either linked to a change on my Linux system or something in the code (but there was nothing big added recently).
Next tests will focus on Windows (to see if it’s a problem on the Linux version) & on the nVidia card (to see if it’s related to the Intel one). I suspect something bad happening with OpenGL (would explain the lack of traces as it’s not pure java code).
Problem is each test takes around 1 hour as bug is random. I basically launch the game, make some automatic stuffs (auto fire, wake all monsters,…) and wait 1 minute, check if game exited prematurely, if not launch the test again. The bug seems to appear every 10 games on average, usually it will appear in the first minute or so after start, if it does not the game will apparently be running fine afterward (I’ve let it work for 2 hours fine)
On another note I updated the way life bars are displayed above player & monsters, they look a lot nicer now. And I have also added an option to show numerical values for life / armor & ammos.
Some progress have been made on Crazy Minecart, I have some performance issues even without shadow mapping (40fps, it’s not a big deal but I don’t like that). So I removed some trees and simplified a few things, but I’ll have to pinpoint the issue.
I also need to change colors, problem is colors after exporting are not the ones I defined in Blender, it makes it a bit hard to do something nice.
I’ve stopped working on part 5 (Multiple Render Targets) of shadow mapping tutorial for now, I’m just waiting for some commits to be included in LibGdx to support Cubemap, it will allow me to clean up the code and maybe add the MRT frame buffer more easily.
I saw this pull request recently, as I was about to make my own for the same purpose, good thing I checked up first 🙂