May, 31
Development news

I always try to make bigger code changes right after releasing a new version, so they get tested as much as possible before seeing the light of the day. This time the first task was to factor out creature body simulation out of other creature logic (like movement and other interactions). It was partly to have cleaner code, and partly to introduce new features. In essence, all the code to simulate the body, like keeping track of body parts, health and attributes like size, weight, applying damage, etc. is now self contained and independent of other calculations.

This breaks ground for more detailed features, like new body materials, different damage models or attack types. Before, they had to be implemented as special cases, so it’s a nice step forward.

After working on bodies, I dove in to decrease memory consumption of the game. Alpha18 typically uses a bit over 1gb of RAM for the maximum campaign settings, but there is also a rapid increase during saving the game (up to 500mb). Most of the memory is used for storing the terrain, as there are about half a million squares altogether in all of the maps. I used some tricks to have much of the terrain objects share the same memory, so for example, if there are a thousand trees on a map, they are all actually represented by the same object. If you make any change to a square, for example burn a tree or drop an item, the game creates a separate copy of that square to be to modify it. Memory usage was this way reduced by half. I have further plans for another 50% decrease, which will give some room to increase map numbers in campaign.

Lastly, I started to port KeeperRL to SDL, which is the standard library in the game industry used for graphics, sound and other things. It should let me get rid of a few annoying bugs, and add some minor features, like a custom mouse cursor and more detailed minimap.

Last time I promised another hotfix update to Alpha18, but I decided to rush with releasing Alpha19 instead, as it’s not a huge update, and have most of the (known) bugs fixed there. I hope that 2-3 weeks will be enough to wrap it up.

COMMENTS

Home Forums Development news

  • 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