This blog post will be devoted to a number of changes that I made to mining, minerals, and map generation.
The main theme is that the geology tech will be removed, and all minerals are going to be placed on the map during its generation. Their locations will be uncovered immediately, which is how things used to be in earlier versions of KeeperRL.
The geology tech was originally implemented to slow down the player’s growth, but it wasn’t a great solution, and some players suggested replacing it with exploration and other challenges. Working towards that, I added a few enemies that are generated next to patches of minerals and will attack if you try to mine them. This does the job of slowing down growth and adding challenge, although for future updates, I’ll keep on researching ways to make maps more interesting and varied.
Another change that the screenshots reveal is that the steel resource will be renamed to adamantium, and will be mined instead of produced in furnaces. I felt that the extra production step was unnecessary and wasn’t adding much in terms of gameplay. Placing the adamantium ores on the map also gives me the possibility to have them guarded by adamantine golems, which are of late-game difficulty level.
With the upcoming changes to the prisoner system, players have the option to supplement their imps with a large number of prisoners. To make capturing them worthwhile, I added a new type of rock that takes longer to mine. The harder rock starts about 20 tiles into the mountain, and will stand in your way to the ores and to building a bigger dungeon. There are more possibilities for different rock types, such as one that’s completely undiggable, and that will also be part of my research on more interesting maps that I mentioned earlier.
Finally, after implementing the above changes, it became very obvious that imp AI needs improvement, as the little creatures get in eachother’s way a lot when mining. One of the problems was that multiple imps would try to occupy the same tile in order to mine the minerals around it. As a principle KeeperRL doesn’t allow many creatures on a single tile, so the imps would either switch their positions at a very fast rate, or one imp would stand and wait needlessly, even though other mineral tiles were freely accessible nearby.
The solution was to assign an empty, neighboring tile to each mineral tile. An imp is then ordered to occupy the matched tile before it starts mining. Of course no empty tile can be assigned to two different mineral tiles, which makes this task identical to the maximum matching problem. The assignment needs to be updated dynamically, as mining tasks get created and are finished continuously. Luckily, a reasonably fast algorithm is easy to implement, and from now on the imps will use it when trying to mine. There are still some nuances that need to be solved, but a nice improvement in imp intelligence should be noticable.
In the following animation you can observe how the empty tile assignment changes when a new mining task is created.
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
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
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
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
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
Home › Forums › Changes to mining