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

Dec, 19

KeeperRL 1.1.9 – Christmas Update

Hi everyone,I wanted to leave you all with a little Christmas gift before the holidays. This year KeeperRL finally went 1.0 and you’ve all shown such incredible support for... more

Nov, 08

Patch notes for versions 1.1.1-1.1.6

1.1.1 Golden prayer bench training limit is increased to 99.Added missing church tech descriptions.Fixed courtesan and gigolo minions not appearing in the minions... more

Oct, 22

KeeperRL 1.1 “Black Mass” update is here!

The KeeperRL team wishes to entertain you this Halloween by releasing a new playable faction called the "Corrupted Church". Playing either as a Bishop or a Mother Superior,... more

Jun, 26

Announcing my collaboration with Elda Entertainment on KeeperRL

A few months ago, I was contacted by a company called Elda Entertainment about a possible collaboration on KeeperRL. Elda is a small publisher based in Sweden, comprised of... more

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

 

 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