dclark brought up a good subject in the outline feedback forum, that I'd like to see discussed at little. When your game code detects an error, do you attempt to recover from the error and continue running OR do you fail out as elegantly as possible?
Recovering might be good for something simple like a missing sound effect - it doesn't affect the game, right? But if the game recovers and moves on it might be tough for QA to notice a problem occurred.
Failing out is not a horrible idea either - since most of these failures will happen in QA where they'll be noticed, recorded, and hopefully fixed.
Also - should there be different strategies used for DEBUG and RELEASE builds?
Generally, the solution I tend to like is recover if you can in RELEASE, fail in DEBUG. The only time I recover and continue is when I know the problem will likely allow the player to get to a save game point. If it's something catastrophic like running out of memory, I bail at all costs.
What's everyone else doing?
Recovering might be good for something simple like a missing sound effect - it doesn't affect the game, right? But if the game recovers and moves on it might be tough for QA to notice a problem occurred.
Failing out is not a horrible idea either - since most of these failures will happen in QA where they'll be noticed, recorded, and hopefully fixed.
Also - should there be different strategies used for DEBUG and RELEASE builds?
Generally, the solution I tend to like is recover if you can in RELEASE, fail in DEBUG. The only time I recover and continue is when I know the problem will likely allow the player to get to a save game point. If it's something catastrophic like running out of memory, I bail at all costs.
What's everyone else doing?
Mr.Mike
Author, Programmer, Brewer, Patriot
Author, Programmer, Brewer, Patriot