Mar, 31
Bugs, crashes, and other joys

Retiring in campaign mode proved very tricky. We need to save only a slice of the game – the relevant site that contains the player’s base, and discard everything else. The saved site is then downloaded by other players, and loaded somewhere onto the map grid in their campaign.

The problem is that various game entities keep references to each other, for example a creature remembers the enemy that it was chasing, or a shopkeeper keeps a list of his items. The saving algorithm traverses this graph in a recursive manner and writes to disk whatever it stumbles upon. If it follows a reference that crosses to another site (for example if you stole an item from a shop, and traveled somewhere else), it ends up saving the other site too.

We definitely don’t want that to happen, as the save files would possibly grow very big, and contain a lot of useless information. So the game just crashes when it’s about to do that. 🙂 I spent a big portion of the last two weeks examining these crashes and modifying the troublesome references such that they don’t point to other sites.

Speaking of crashes, I recently made another dive into the crash reports that piled up since Alpha17 was released. I use an open source library to print out stack traces of crashes, and a simple batch file to send them to my email. The reports provide hints at what caused the crash, but finding the actual bug is a detective’s work. In the last four months I received 669 crash reports (compare it to 17700 runs that ended with a highscore, which means that about 3-4% of all games ended with a crash). I managed to figure out a few of the most common ones, and I’m planning a “hot” fix to Alpha 17 in a couple of days.

Screenshot_2016-03-31_20-40-43

Nevertheless, the crash situation should improve very soon, as I’ve made good progress in porting KeeperRL to Microsoft’s Visual Studio. Among other things, it will provide much richer crash reports that are also automatically gathered and processed by Steam. This will definitely help keep the game much more stable!

COMMENTS

Home Forums Bugs, crashes, and other joys

  • You must be logged in to reply to this topic.

 LATEST NEWS

Feb, 29

KeeperRL v1.0 is released!

I'm very proud to announce that KeeperRL v1.0 is out! In addition to being the most important milestone for the game, this is also a huge update with major gameplay additions.... more

Feb, 08

More news on the upcoming v1.0 patch

KeeperRL will leave Early Access in exactly three weeks. The last major patch was released one year ago, so you can imagine that this will be a pretty huge update. In the August... more

Feb, 05

KeeperRL 1.0 will be officially released on February 29th 2024

I have important news for you today. KeeperRL version 1.0 will be officially released on February 29th! More details about the patch will follow, and for now let's celebrate this... more

Aug, 24

Upcoming features in KeeperRL 1.0

In the last news update I revealed that KeeperRL will leave Early Access in the next (major) patch, and that it will bring some big gameplay changes. It's finally time to share... more

Jun, 29

KeeperRL will leave Early Access with the next update

When I launched the Indiegogo campaign to fund KeeperRL nine years ago, I promised a 1.0 release by the end of 2014. This kinda didn't happen, but I've always been committed to... more

 

 PLAYERS SAID

There are no other games out there like KeeperRL. The game is a unique mixture of management, levelling, crafting, constructing, exploring, adventure etc. […] The possibility of interacting with other’s players monumental dungeons turn KeeperRL into one of the most promising games I’ve found.

dbvel

This game is amazing! It’s challenging, fun, unique, and exactly what you might expect it to be. For an early access game it’s incredible. And the thought that there’s more to come thrills me! I can’t wait to see how this awesome game will develop even more.

Avarti

Any time I touch another race, I get bent over like a cheap, overworked sex worker. I love sucking at this game so much.

DaavPuke