Author Topic:  About the 1.91 update  (Read 6110 times)

0 Members and 1 Guest are viewing this topic.

Craig

  • Developer
  • Extreme Member
  • ******
  • Posts: 6497
  • Dig Deep
  • Awards Developer 4 years on site+1000 posts 3 years on site+600 posts 2 years on site+300 posts Was in the top 10 of the forum stats page as of 4/12/15 Members who have unlocked the robotic avatar 1 year on site+100 posts Day 1 w/25+ posts (4/12/13)
    • View Profile
    • Twitter
    • Awards
About the 1.91 update
« on: May 21, 2013, 04:56:11 AM »
I would consider the 1.91 update the worst in TM history, because the main crash bug (bluescreen) happens when using the shops, which is one of the most frequently used objects in the game. The same bug manifests in the block selection screen, used for selecting keys etc, making it even worse.

But there is a good side to 1.91.

Total Miner has a built in error reporter which sends errors to my error server. It sends blue screen errors when they happen, and sends other 'handled' errors when you quit to the main menu.

The error reporter has not been working properly since the 1.6 update. I had no idea why it wasn't working. It worked fine in my system link network and with our testers over xbox live, but when running in the wild (retail) something was causing it to lock up. There was no way for me to debug why, because I cannot debug the retail version of the game.

Since 1.65, all my 'guesswork fixes' had failed.

But in 1.91 my changes worked, now the error reporter is not freezing, and I'm now receiving all errors generated by the game from all around the world.

Because it wasn't working properly in 1.8 and 1.9, I was unable to make accurate guesses of how many errors there 'really' are in the game code since the big 1.8 update.

I have just run the error reporter for 24 hours straight, and this has given me an accurate report of all the errors in the game.

The report is very encouraging. There are 11 different blue screen errors on the report. But the good news is that they are caused by only 3 bugs. 2 of those bugs are now fixed in 1.92. The final bug is a memory leak, causing the game to crash with an out of memory bluescreen.

But don't worry, it's not because the game can't handle big worlds or because the new memory system design is not up to the job. The memory leak is caused by an obscure bug which I'm getting close to tracking down. Once I do, it will fix the last blue screen.

That's not the end of the story.

A computer program has 2 types of errors. Handled errors and Unhandled errors (programmers know them as caught exceptions and uncaught exceptions).

The blue screens are caused by unhandled errors. Basically an error occurs, and the program does not handle it either because it's unaware an error could happen in that part of the code, or because there is no reasonable way for it to handle the error, so the program aborts.

Handled errors are errors that the game is aware of and when they happen, it deals with them and continues. The game continues and the players are unaware the error even occurred.

The error report reported about 70 different handled errors. About 20 of those errors are legitimate errors caused by circumstances outside the games control, and are not bugs in the code. The other 50 or so are caused by bugs in the code. That might seem like a lot, but honestly, for a program as large and complex as Total Miner, it's not that many. And in most cases the bugs are handled without problem. (one of those 50, i'm not sure which yet, is the memory leak)

Now that I know all the errors in the game, I can work through them one at a time and really get this game into a stable state.

I apologize for the terrible shop bug in 1.91. All I can say is please don't lose hope. The number or real errors in the game is actually quite small, less than ever before, and now armed with the error report, with a bit more time we can really make this game close to error free.