Apr, 14
Improvements under the hood

Many changes have happened in KeeperRL land in the last few weeks. Most of them were in the game’s internals, so they may not be very interesting to you, but they are important for development. I treat KeeperRL as a very long term project, so I spend a lot of time trying to improve its internal architecture. Badly written code, much like a messy bedroom, decreases your morale, and causes you to trip over things as you’re trying to reach your goal. Not to mention bugs!

In this spirit I spent a whole week switching to a new serialization library, which is the backbone of the saving and loading system. The new one, Cereal is more modern than Boost serialization, and easier to use on multiple platforms. As it turned out, it also decreased saving and loading times about two to three times, and reduced save file size almost twice!

This encouraged me to do some cleaning and remove a few obsolete classes from the code. Traps, torches, and portals are now regular Furniture, much like all other static things on the map. This was an opportunity to rework portals a little bit, to make them more useful. From now on they will be constructed by imps, and will not time out. You will use them actively, just like stairs. I think that in such form they will be a great addition to the dungeon. Unfortunately, teaching the AI to use them for pathfinfing is a much bigger deal, so for now they are there only to the advantage of players. But I will revisit this problem later, because having the AI use portals, and be smart about it, would be really, really fun.

As another gameplay change, I deflated the quantities of all resources in the game, except mana. Everything now costs five times less wood, gold, iron, and so on, and you also receive less of everything. The only real effect is on the size of stockpiles that are generated, because every unit of resource in KeeperRL, except mana, exists in the game as an individual item. This used to inflate save file size quite a bit.

Going back to technical stuff, I noticed that switching off Vertical Sync in the window configuration, which ties the game’s framerate to the refresh rate the monitor, fixes some severe frame dropping that I experience on the development build of the game. I’m not sure if this has much effect in the real world, but I added the option to switch off V-Sync in the game’s settings. I’m also contemplating just switching it off by default. I need to research how other games approach this issue.

Last, but not least, I had some time to work on the tutorial. It’s going to take the form of very small, detailed tasks for the player to perform as they build their dungeon. As KeeperRL is fairly complex, there will be a large number of these steps, so it’s going to take longer to finish than I expected initially. This is what the tutorial will look like. In addition to giving you instructions, the game also highlights the relevant UI elements for the current task.

COMMENTS

Home Forums Improvements under the hood

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #6503

    Andminus
    Participant

    Thoroughly enjoying this game on and off when I don’t feel like I don’t need sleep on a given night. keep up the good work!

    #6877

    thereseblack
    Participant

    Me too, have so much fun with it, I just hope that there is no limitation of furniture style to use in it.

Viewing 2 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.

 LATEST NEWS

Aug, 08

Progress on the endless mode and the introduction of digging enemies

I've been working on the endless mode recently, trying to get some good gameplay out of it. As a reminder, the endless mode is all about defending your dungeon against incoming... more

Jul, 25

Upcoming gameplay changes, part II: combat

The previous blog post about progression has stirred a lot of discussion, and I want to follow up a little bit, before I go into the main topic of this post. If you haven't read... more

Jul, 03

Upcoming gameplay changes, part I

I recently stumbled upon an old Reddit "AMA" by Tynan Sylvester, the author of Rimworld. I hope he doesn't mind if I quote chunk of one of his answers here. "What designers need... more

Jun, 14

KeeperRL Alpha22 is released!

KeeperRL Alpha22 is out! The update features a dedicated tutorial, as well as many technical and gameplay improvements. Check out the changelog below for details. As always,... more

May, 26

Release plan for Alpha22

It's slowly the time to wrap up the release of the twenty-second Alpha. The plans for this version were ambitious, but I had to postpone many of them, otherwise the update would... 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