TUXDB - LINUX GAMING AGGREGATE
by NuSuey
NEWSFEED
▪️ GAMES
▪️ STEAM DECK ▪️ DEALS ▪️ CROWDFUNDING ▪️ COMMUNITY
tuxdb.com logo
Support tuxDB on Patreon
Currently supported by 9 awesome people!

🌟 Special thanks to our amazing supporters:


✨ $10 Tier: [Geeks Love Detail]
🌈 $5 Tier: [Arch Toasty][Benedikt][David Martínez Martí]

Steam ImageSteam ImageSteam ImageSteam ImageSteam ImageSteam Image
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 youve all shown such incredible support for me and the game. Theres more in store for KeeperRL next year but for now I hope youll enjoy this Holiday update.

  • New furniture for all crafting stations to buff your crafting abilities.
  • New floor options, giving you more ways to furnish your dungeons.
  • Added gruesome corpse displays, giving your minions some extra luxury in their quarters.
  • Enchanted pools and magma no longer prevent you from placing regular crafting stations next to them.
  • Some Keepers and minions are now feeling the Christmas spirit over the Holidays.
Please note that some of the changes will only be visible in newly started games. Happy Holidays and a Happy New Year everyone. Michal and the KeeperRL team


[ 2024-12-19 13:44:18 CET ] [ Original post ]

KeeperRL 1.1.8 is out

  • Fixed a crash in the keeper selection menu in Bonus Mod.


[ 2024-12-02 13:00:18 CET ] [ Original post ]

KeeperRL 1.1.7 is out

  • Added torture table and gallows to the church faction.
  • Fixed application of bleeding and other effects to steeds, which were previously incorrectly applied to the rider.
  • Fixed tracking of who killed creatures that bled to death (or died from other debuffs).
  • Games will be saved to a temporary file first to avoid corrupting existing save files if a crash occurs during saving.
  • Permanent stackable buffs (for example from items) will stack correctly.
  • Fixed obstacle destruction in pathfinding when the target location contains an obstacle.


[ 2024-11-28 11:55:27 CET ] [ Original post ]

A small cleaning in Steam Workshop mod versions

I know that a lot of players have been confused by the newest mods being tagged as Alpha37, which was actually an unfortunately named tag used by the 1.0 builds. Since I don't intend to break mod compatibility from now on, I've marked all pre-1.0 mods as incompatible in the Workshop, and I've removed the tag category altogether. This means that all mods you see in the Workshop should be compatible with the most recent versions of the game. If you run into any compatibility problems, please reach out to the mod author or myself.


[ 2024-11-20 13:11:28 CET ] [ Original post ]

KeeperRL 1.1.6 is out

It looks like I'm in an unlucky streak of urgent bug fixes, this time it's to stop crashing in mods that use the previously removed InferniteEffect() macro.


[ 2024-11-09 07:15:30 CET ] [ Original post ]

KeeperRL 1.1.5 is out

This fixes another two other issues found in 1.1.3. If you find that any other enemies are too hard or too easy to kill with recent changes, please let me know.

  • Made it possible again to cut off hydra's heads.
  • Only up to 20 body parts will count towards Necromancer's abominations health to avoid them being near invincible.


[ 2024-11-08 20:18:27 CET ] [ Original post ]

KeeperRL 1.1.4 is out

The previous patch caused excessive limb injuries required to kill living creatures, which this should fix. Thanks to Tooca for bringing up the issue.


[ 2024-11-08 10:40:01 CET ] [ Original post ]

KeeperRL 1.1.3 is out

Some more bug fixes and gameplay improvements incoming. Please note that some of them will only take effect after starting a new game.

  • Coffins will now heal body parts of sleeping undead creatures.
  • Scoring critical hits against undead will require that the target has less than 40% of health (which for undead is calculated by counting intact body parts).
  • Infernite equipment will damage creatures without fire resistance by using a visible debuff to make the negative effect more visible.
  • Added acid damage attribute to Leyak and made it fly.
  • Prevented prisoner rebellion from happening in non-player factions.
  • Fixed a crash caused by trying to load an incompatible save file.


[ 2024-11-07 11:15:15 CET ] [ Original post ]

KeeperRL 1.1.2 is out

This patch contains a few minor gameplay improvements and fixes.

  • Ghoul will receive temporary, stackable damage and defense bonuses for eating corpses, instead of permanent stat increases.
  • Added special handling of a scenario where Black Mass is held after Adoxie he has already been killed.
  • Church pews will appear continuous when placed next to each other.
Happy Halloween!


[ 2024-10-31 12:51:49 CET ] [ Original post ]

KeeperRL 1.1.1 is out

This small update fixes a few bugs and balance issues.

  • Golden prayer bench training limit is increased to 99.
  • Added missing church tech descriptions.
  • Fixed courtesan and gigolo minions not appearing in the minions menu.
  • Improved level generation error descriptions in mods.
  • Fixed bogus mod data errors.
  • Added missing intro.


[ 2024-10-28 11:18:37 CET ] [ Original post ]

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, you will build a church for yourself and your congregation, hold Masses, pray, and craft devotional items. However, the KeeperRL world won't allow you to stay holy. Soon enough you will start to give in to temptations, such as luxury, alcohol, courtesans, and dark crafts. Before you know it, you will perform Black Masses in the name of the Evil God Adoxie, summon his minions, and do other, terrible deeds.
Here are the main gameplay features of the new faction:

  • Build and finish a church in order to hold Masses for your minions.
  • Write liturgical books to use during Mass to gain protection, faster digging or summoning help.
  • Train your minions' divinity attribute at prayer benches in order to unlock new prayers and increase their combat ability.
  • Tempt your minions with alcohol and courtesans in order for them to gain experience by confessing their sins.
  • Research unholy ideas in order to perform a Black Mass and use the power of the Evil God Adoxie to summon up to nine new demons with unique abilities.
This update maintains save and mod compatibility, so you can finish your game or keep using your favorite mods without worry.


[ 2024-10-22 15:17:04 CET ] [ Original post ]

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 industry veterans who have worked on games such as Cities: Skylines, Surviving Mars, and Magicka. After a bit of back and forth to understand each other's needs, we have agreed to start working together. Of course, KeeperRL v1.0 has just recently come out, so this isn't going to be a traditional developer-publisher relationship. Still, there is a lot of opportunity for them to help me with things such as marketing, community management, product strategy, and all the other things that publishers do. Personally, I'm excited about this arrangement, as the folks at Elda Entertainment are going to pick up parts of my work where I've always fallen short. Because of this, I'll be able to focus more on the game itself. I'm still going to be involved in the community, but they are also going to pop in on Steam forums and Discord, perhaps helping me stay a bit more in touch with important things going on among the players. I'm also very happy to have them on the team. For the past eleven years, I've had to make all the important decisions by myself, so getting advice from someone with so much experience is going to be a big relief for me. Hopefully, you will also notice the results of our cooperation in the game itself and everything around it.


[ 2024-06-26 08:28:31 CET ] [ Original post ]

KeeperRL v1.0 hotfix 20 is out

  • Improved autosave speed.
  • Prevented copulation with some minions that should never copulate.
  • Fixed showing proper progress on loading and game initialization progress bars.
  • Made gargoyles drop less stone when killed.


[ 2024-06-14 15:55:54 CET ] [ Original post ]

KeeperRL v1.0 hotfix 19 is out

  • Added more UI zoom levels for players with high-DPI screens.
  • Fixed bogus "conquered villain" messages and tech advances when killing hostile fighters after a duel was won.
  • Fixed duplicate Structure group in the Castle building menu.
  • Fixed fire respawning glitch caused by player claiming a tile with fire in it (such as after a fire trap was set off).


[ 2024-05-24 13:11:52 CET ] [ Original post ]

KeeperRL v1.0 hotfix 18 is out

  • Fixed an issue with stairs being unavailable in dwarves and necromancer keepers. If you have started a new game under hotfix 17, you'll have to restart to be able to build stairs. Sorry for that.


[ 2024-05-22 19:02:43 CET ] [ Original post ]

KeeperRL v1.0 hotfix 17 is out

  • Mods are now sorted by the number of up votes.
  • Added two alternative stair types, custom modded stairs are now also supported.
  • Added scrollbars to the building menu pop-up, if the items won't fit on the screen.
  • Added ClaimTile effect for better support of custom starting structures in mods.
  • Fixed particle effects in the ascii mode.
  • Updated game credits.


[ 2024-05-22 11:00:17 CET ] [ Original post ]

KeeperRL v1.0 hotfix 16 is out

  • Fixed crash caused by minion being killed while dismounting steed (such as falling into water while blind).
  • Fixed crash caused by a bad main villain number read from game settings.
  • Fixed crash caused by removing a creature's companion during site retirement.
  • Further fixed furniture tick frequencies.
  • Improved error message during a level generation crash to help modders debug their enemy definitions.


[ 2024-05-17 11:17:20 CET ] [ Original post ]

KeeperRL v1.0 hotfix 15 is out

  • Fixed a furniture update frequency bug introduced in the previous patch.


[ 2024-04-25 08:50:00 CET ] [ Original post ]

KeeperRL v1.0 hotfix 14 is out

  • Added back the unlockable Adoxie adventurer, who was temporarily removed before the 1.0 launch.
  • Fixed issue with some villains being forever hidden behind fog of war on the world map. (This fix fix will apply to existing games after any, even a minor villain is conquered)
  • Fixed issue with bogus map selections when selection is interrupted by enemy attacking dialog.
  • Fixed crash when creating a retired dungeon from a conquered keeper.
  • Made it impossible to capture enemy during a duel.
  • Optimized memory usage and save file size for games with lots of items present.
  • Optimized rendering of building UI.
  • Optimized updating melted rock and magma tiles, which caused lag in dungeons with lots of Z-levels.
  • Optimized game loop when hundreds of minions are present.
  • Disallowed day-time travel with undead even if destination contains indoor tiles on the edge of the map.
  • Removed owl and bird sounds from cacti and other objects that aren't trees.
  • Fixed warning when walking into sunlight on a non-vulnerable steed.
  • Fixed warning when walking into fire on a vulnerable steed.


[ 2024-04-24 15:50:40 CET ] [ Original post ]

KeeperRL v1.0 hotfix 13 is out

  • The game won't show the upgrade button for workshop items that can't be upgraded.
  • General rendering and gameplay optimization thanks to Robin/Rob2309.
  • Fixed prison and pigsty rendering lag that was accidentally introduced during previous hot fixes.
  • Added support for Delete, Slash, Backslash, Semicolon, Page up and Page down keys in keybinding configuration, thanks to gnneo.


[ 2024-03-22 14:06:20 CET ] [ Original post ]

KeeperRL v1.0 hotfix 12 is out

  • Fixed a crash in the demons enemy introduced in the previous hotfix.
  • Fixed a crash in construction debt calculation caused by a giant spider minion building webs over the player's traps.
  • Fixed laggy messages history list.
  • Increased chance of starting a fire when throwing a torch at trees or other flammable objects.


[ 2024-03-19 09:30:10 CET ] [ Original post ]

KeeperRL v1.0 hotfix 11 is out

  • Fixed an issue with the demons enemy being unbeatable if their throne was destroyed. If this happened to you, you can beat this enemy if you return and kill the remaining demons in the throne room.
  • Fixed issue with AI not using same level portal connections after saving and loading the game.
  • Optimized AI pathfinding across z-levels.
  • Optimized updating collective line of sight of minions.
  • Fixed portal animation not displaying when teleporting to a different level.


[ 2024-03-18 17:37:34 CET ] [ Original post ]

KeeperRL v1.0 hotfix 10 is out

  • Fix message boards contents not persisting after saving or retiring the game.


[ 2024-03-14 16:32:33 CET ] [ Original post ]

KeeperRL v1.0 hotfix 9 is out

  • Fixed crash when generating upper z-levels caused by too little space available to place resource patches.
  • Riders on blind steeds won't enter deep water and other dangerous tiles without a warning.
  • Fixed gargoyle traps not being hostile to endless wave enemies.
  • Optimized the workshops window in a case where the player has hundreds of upgrade items stashed.
  • Made iron ore more visible on the minimap.


[ 2024-03-13 10:23:27 CET ] [ Original post ]

KeeperRL v1.0 hotfix 8 is out

  • Furniture working efficiency multiplier (based on lighting and luxury) is shown in the map hint.
  • Fixed issue with some enemy team members getting stuck at the edge of the map after retreating from an attack.
  • Made the solo keeper achievement possible with the cyclops keeper. Existing cyclops games should trigger the achievement as well after returning to the home map.
  • Fixed floating point errors in quarters luxury calculation.
  • Added better diagnostics to some crash scenarios in order to gather more information on the bugs.
  • A crash in level generation will instead cause the game to retry generation.


[ 2024-03-11 16:51:57 CET ] [ Original post ]

KeeperRL v1.0 hotfix 7 is out

  • Reduced game start-up time.


[ 2024-03-09 10:51:28 CET ] [ Original post ]

KeeperRL v1.0 hotfix 6 is out

  • Squires will retain their special traits after getting promoted to a knight.
  • Luxury will affect minion training and workshop efficiency.
  • Retired dungeons will be saved to temporary files and copied after saving is successful to avoid the game crashing on corrupted files.
  • Luxury of reinforced walls is shown correctly.
  • Removed irrelevant damage modifier from mushrooms.
  • Added a tool-tip explaining locked keepers in the keeper menu.
  • Fixed the [x] button in the keeper choice menu.


[ 2024-03-08 13:42:09 CET ] [ Original post ]

KeeperRL v1.0 hotfix 5 is out

Again, big thanks to everyone for submitting bug reports! If you run into any trouble playing the game, please get in touch via the comment section, Discord, emailing me at miki@keeperrl.com or by submitting a bug report using the in-game button in the lower right corner of the window!

  • Fixed an endless equip-unequip loop by minions with more than two weapons, which caused the game to freeze.
  • Fixed a retirement crash due to dangling references to red dragon's fire wall furniture. This bug also caused crashes when the player was killed and the game tried to retire the villain dwelling in the player's base.
  • Made the workshop menu item upgrade button always visible and added an explanation that upgrades must be placed in storage before being added.
  • Changed task ordering so that priority tasks don't prevent minions from following the team leader in control mode.
  • Made walking into fire, water or other dangerous tiles possible when riding a steed (after accepting a warning).
  • Claiming a broken throne no longer increases population.
  • Fixed goblin artificer not being visible in the minion menu in the tutorial.


[ 2024-03-06 13:28:33 CET ] [ Original post ]

KeeperRL v1.0 hotfix 4 is out

  • All undead get the swimming skill.
  • Fixed a crash when a summoned spirit is killed and in the same turn the team returns to base.
  • Fixed a crash in the creature choice menu when using keys.
  • Fixed a crash in the polymorph spell.
  • Fixed a UI crash.
  • Fixed a crash in retiring a villain.
  • Fixed a modded spell crash.
  • Improved crash reporting in cases when dungeon retirement fails.


[ 2024-03-05 13:21:45 CET ] [ Original post ]

KeeperRL v1.0 hotfix 3 is out

  • Fixed a rare crash when capturing prisoners or freeing captured minions.


[ 2024-03-04 19:45:18 CET ] [ Original post ]

KeeperRL v1.0 hotfix 2 is out

  • Temporarily disabled loading retired conquered dungeons, which was causing startup crashes if a corrupted dungeon file was present. The feature will be turned on again once I implement a proper fix.
  • Fixed a bug that caused farm animals to spawn hostile.
  • FIxed the lesser and main villain achievement being ticked off in some situations where the villain conquered the player, as well as when another tribe conquered the villain.
  • Fixed lag caused by processing new prisoners in the immigration UI.
  • Fixed lag caused by rendering farm animal enclosures (more optimization may still be needed).
  • Fixed a bug that disallowed travel due to a conflict between team members.
  • Fixed a few typos.
I'd like to thank everyone for submitting bug reports as well as your patience. I'll be releasing fixes every day now until the most common issues are fixed.


[ 2024-03-04 12:50:44 CET ] [ Original post ]

KeeperRL v1.0 hotfix 1 is out

  • Fixed rendering of some of the trap sprites.
  • Fixed issue with some creature not equipping bows.
  • Fixed crash caused by an inconsistency in construction debt following an invasion (?)
  • Fixed lag when a lot of prisoners are available for capture.


[ 2024-03-02 12:28:09 CET ] [ Original post ]

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. These include a much larger and more interesting world map, a longer difficulty curve and player progression, more content, and achievements. You can read more about these changes here here and here. [previewyoutube=-HNtEdsPw7U;full][/previewyoutube] I'd like to thank all community members who have been involved in this project over the years. Without your support I wouldn't have been able to make KeeperRL in its current state. Therefore it's also your game and I congratulate you for reaching this milestone. We did it! :) Even though KeeperRL is an eleven year project, the last year saw very rapid development and big changes. I've done my best to test as much as possible before the launch (and so have you), but it's very possible that there are some bugs and balance issues present. I'm committed to fixing them as soon as they are reported, so that you can have a flawless playing experience. This is a huge moment, but it's not the end of our journey together. I'm planning to work on a 1.1 version of KeeperRL and release it later this year. It will contain more content and gameplay that didn't make it to the 1.0, including another playable keeper faction. I'll write more about it soon. I'll skip the patch notes this time, because they would be way too long for this patch. Have fun and don't burn all the elves!


[ 2024-02-29 17:58:12 CET ] [ Original post ]

KeeperRL v1.0 is available for testing

An unofficial v1.0 build is out on the BETA branch. Check it out if you're an experienced player and want an early glimpse of all the new stuff! Please post your feedback in the comments below. If you are new to KeeperRL, it is strongly recommended that you stick to the official Alpha 36 patch until February 29th, as this build is very unstable, and I'm still making last minute changes and adding fixes. Please also note that until the patch is officially released, the save file format may change at any moment, and you saves may be lost. (although I'll do my best to avoid this). To opt into the build, please go into the game's properties, BETA tab, and choose the "dev" branch.


[ 2024-02-10 18:44:50 CET ] [ Original post ]

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 blog post I revealed the major features that will be introduced. Since then, my work was more focused on testing, balance, and adding content.

Minor villains



One of the many advantages of the new world map is that it adds lots of space for low-key content. You'll stumble upon shops, stables, forges, cottages, and various mystery locations. Some of them can boost your game in a major way, some are there just for flavor, and others will get you killed. Overall they add a lot of excitement when you extend your influence and explore new areas.

New workshop tiers



There will be four new workshops available in the game: magma forge, magma jeweler, enchanted workshop and enchanted laboratory. Building them will be restricted to certain locations: the magma variants will have to be built next to a magma tile, and the enchanted variants next an enchanted pool. They are not intended as major upgrades, but rather add a small variety of things you can craft, and a bit of excitement when exploring deeper Z-levels. The magma forge and enchanted workshop will produce moderately improved equipment compared to their regular counterparts. In the magma jeweler you will be able to create basic glyphs to improve your weapons and armor. The enchanted lab offers potions of mutation that can be used to add an edge to your armys power. In addition to its new tier, the regular forge will continue to offer items made from the rare materials: adamantium, adoxium and infernite. Their stat bonuses will be greatly increased compared to Alpha 36, so finding the ores and craftsmen with appropriate skill will be one of the major quests on your way to world domination.

New items, and item scaling


As the difficulty and power curve got much longer, the game needed to scale all the loot that you can find in high level areas. After all, finding a +5 armor is no longer exciting after defeating a dragon with +150 attack. Therefore Ive added automatic adjustment of item power to the difficulty of the location. This includes shops, mentioned in the previous paragraph, to ensure that youll keep finding nice stuff even towards the end of the game. Things that you will be able to find will include equipment made from all the available materials in the game, a new tier of longer-lasting potions, new rings and amulets, and a few new, powerful artifacts.

More sound effects


The last time I worked on sound in KeeperRL was almost eight years ago, so it was time for a bit of update. Ive added UI sounds, ambient sounds made by various animals, as well as water and magma, workshop sounds, the sound of torture, and more. Im very happy with these additions and hoping to add some more in the coming weeks.

A small adventurer overhaul



Ive merged the adventurer and keeper modes together, so the adventurers are actually just keepers that start with a small house as their base. This lets them use more of the games features, such as buying horses at stables, and the auto-pillaging feature. They also have a place to come back to and heal, restock their gear, etc. The old adventurer class was removed, and now you can play as an evil wizard, dark knight or white knight, known from the classic keeper bases. To make things clear, the adventurer will continue to be a small part of KeeperRL, just an alternative way to experience its universe. Turning it into a fully fledged RPG is beyond the scope of the game, which I know may disappoint some players.

Improved White Knight


Ive tweaked the population control mechanic of the White Knight to rely on horses, instead of farm animals. After steeds were introduced to the game, horses became almost a necessity for the White Knights base, so it made little sense to require two extra animals for every minion. This should reduce clutter and potential lag in highly populated bases. I also added a simple promotion system to obtain knights. The immigration list now offers squire minions, instead of knights, which can be knighted, one per your Keepers level gain.

Duels



Even though I was more focused on balance and content, I couldnt resist adding one fun feature. For extra entertainment of Your Evilness, some villains (namely the Duke) will challenge you to a duel. The stake will be your lives as well as automatic conquest of the losers base. Accepting will spare you having to slaughter all of his knights, at the expense of the risk of losing your Keeper. Choose wisely!


[ 2024-02-08 11:58:35 CET ] [ Original post ]

KeeperRL v1.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 upcoming milestone with this short clip [previewyoutube=Gg0YfLrc0go;full][/previewyoutube]


[ 2024-02-05 16:59:15 CET ] [ Original post ]

Alpha 36 hotfix 17

  • Fixed a crash caused by a blind attacker (such as a black dragon) being spawned on a water tile and immediately drowning.


[ 2023-09-20 12:34:42 CET ] [ Original post ]

Alpha 36 hotfix 16

  • Fixed possible issue with player's minions breaking down locked doors.


[ 2023-09-18 18:27:24 CET ] [ Original post ]

Alpha 36 hotfix 15

  • Fixed a bug that prevented z-level enemies from digging when attacking the player.
  • Swapped the tutorial map so that there is no body of water next to the village.


[ 2023-09-14 11:26:04 CET ] [ Original post ]

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 some with you. I'll only write about features that are already implemented and working.

New world map



Overhauling the world map has been my biggest goal in the past few years. It took a ridiculous amount of effort, especially considering that the end result is so obvious and simple. Here are its main features:
  • Bigger: having 40x the area of the old world map, it adds space for much more content and esthetics. It'll give you an all around better experience when traveling in your conquests.
  • Real biomes: the types of tiles on the world map will correspond to the biomes of the actual locations. You'll find white dragons in snowy areas, lizardmen in the deserts and dwarves in the mountains. Placing your starting position marker will also determine the biome of your home map.
  • Fog of war: initially a small area is revealed, where you are free to choose your starting position. As you conquer tribes, more parts will become visible. This is so that players are not overwhelmed with information and all the possible starting locations right at the start of the game. The feeling of exploration and more visual appeal were also big reasons for it.
  • Minor villains: in order to make the world feel more alive, the map will contain a lot of minor locations that you can visit that will not be relevant to your progress (or will they???).
  • Difficulty increase: since the world will offer way more enemies, their difficulty will scale with the distance from your home map. The most faraway enemies will have their stats increased in the order of +100. This will also require scaling up the player's strength, which brings me to the next part.

Power scaling


In order to conquer the most difficult villains, the player will need to acquire very powerful units. This will be achieved mainly through two new mechanics:

Uncapped combat experience:


  • Minions will become ridiculously powerful as they kill tougher enemies. This is a feature that was once present in KeeperRL, but got removed in the name of balance. Now I say **** balance, as it is immensely fun.
  • Ok some balance is still needed. To realize the gains, you will have to provide more and more luxurious quarters to your superhero troops. It will force you to pause your conquest every now and then, and offer the opportunity for some fun dungeon design work.
  • To counter the potential scenario of losing a few powerful units and the lack of motivation to continue playing, enemies will now attempt to capture your minions instead of killing them. This always leaves you an option of winning them back in the next attack.
  • To keep your regular units from dying in battles of champions, I've added the concept of sharing experience between the team, so even a single beefed up team member will make the whole team useful.

Scaling the quality of crafted equipment:


Another avenue for improving your army will be a new ability of crafting high quality items, with up to +100 bonuses. This will require some work: first you'll have to attract or capture highly skilled craftsmen, and after that provide them with upgraded forges. The highest tier forge will only be possible to build in highly specific, rare and dangerous locations.

Achievements


This is a feature that I've left for the end of development. There are currently 31 achievements implemented, ranging from straightforward goals, to finding hidden content and doing tricky challenges. Hopefully they give you some extra fun!

1.0 Release time frame


There are more big features in the plans, but I'll keep them secret until I have at least working implementations. Besides adding cool stuff, I'm also going to spend a lot of time playtesting and balancing everything. Winning the game now takes dozens of hours, so it's a pretty daunting task. I regularly update development builds, so you can get an early glimpse if you want. Visit the discord server for details. All said, the progress has been very good, so I'm hereby committing to the first quarter of 2024. Wish me luck :).


[ 2023-08-24 12:23:27 CET ] [ Original post ]

Alpha 36 hotfix 14

  • Optimized checking for pillage availability of large retired dungeons.
  • Add game analytics for the usage of full control by player.


[ 2023-07-03 11:38:33 CET ] [ Original post ]

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 hitting that milestone some day. It's just that I never felt it was the right time for it. Well that time is finally coming, and I will explain the reasoning behind my decision. The way I see KeeperRL is, first and foremost, as my job, as it has been my main source of income for the last eight years. Even though there have been swings in the sales, they've mostly been stable over the years, affording me a comfortable life. Looking at things financially, it was just a wise decision to keep working on it instead of moving on to something else. On the other hand working on the same thing for so many years is very tiring, and can hinder your personal growth. I've been yearning to start fresh for a long time, and I envy other creative fields, where projects take months instead of years to finish. As some of you may know, I actually have started quite a few projects on the side, but they've been much smaller in scope and not really intended to make money. The financial and creative components have more or less cancelled each other out, leading me to the deciding reason for KeeperRL's long development time, which is that I've always felt it has a lot of unrealized potential. I've heard similar comments from many people over the years. Because I'm a very stubborn person with big dreams, I've kept going back to the drawing board looking for ways to improve the game and make it more enticing and replayable, aspiring to make it as good as some popular games in the genre, such as Dwarf Fortress and Rimworld. In the last few months I've had some breakthrough ideas on how to improve KeeperRL, and their initial implementation has been very promising. With this in mind I've decided that the time to leave Early Access is now or never. There are two reasons for this. The first is that I need to put an end to my "one more feature" mindset and finally reach the goal or admit defeat. The second is that releasing major features in the 1.0 update is important for the game's promotion, as it brings back old players, and catches the attention of press and influencers, hopefully leading to decent sales on launch day. And it's unlikely that I'll ever be able to put out as meaningful an update as this one. With the big announcement out of the way, I'd like to add some caveats. First of all, I don't intend to make the 1.0 update final, and it's very likely that I'll keep working on KeeperRL to some extent. Of course these won't be big updates, because I will finally start maintaining save and mod compatibility. I'll also be 100% committed to fixing bugs, performance, and other issues. The second caveat is that I still have no idea how long releasing the coming update will take, so there is no release date yet. Besides working on new gameplay, I also have to cross off things like proper sound effects, Steam achievements, hiring a marketing specialist, etc. It will very likely be 2024 before everything is done. It may be disappointing that there won't be any (major) official patches out before then, but this is the way it has to be. I'm going to write another post soon revealing all of really cool stuff that I have been working on. If you're impatient, and would like to get more involved, I recommend popping in on Discord, where I often post updates and share development builds.


[ 2023-06-29 10:51:40 CET ] [ Original post ]

Alpha 36 hotfix 13

  • Fixed a game saving bug that caused z-level enemies to never attack. (the fix will only take effect in newly started games)
  • Fixed warriors' berserker spell, which should now only be cast at low health.


[ 2023-06-13 10:21:06 CET ] [ Original post ]

Alpha 36 hotfix 12

  • Added a warning when an artifact item can't be crafted by legendary crafter due to low morale.
  • Decreased the chance of wounding the steed from 50% to 10% when attacking a mounted creature.
  • Removed erroneous blindness and telepathy effects from white and yellow dragons.
  • Made fire immunity protect from worn infernite equipment.


[ 2023-06-08 10:41:56 CET ] [ Original post ]

Latest Stream featuring procgen level design now available in an edited version

If you missed the last week's live stream where I was adding new procedural Z-level content, you can now watch an edited version where I cut out all uncomfortable silences and my dog misbehaving. [previewyoutube=zZvVkZl8ku4;full][/previewyoutube]


[ 2023-05-15 18:33:34 CET ] [ Original post ]

Live Stream #2: procedural level design on May 12th, 9:00 UTC

Come in for another episode of KeeperRL Live Steam on Friday! This time I will be creating new Z-level content using my awesome moddable proc-gen framework. A youtube link will be posted shortly before the live stream starts.


[ 2023-05-11 08:30:29 CET ] [ Original post ]

Alpha 36 hotfix 11

Big thanks to Rarasek and Ghost for reporting and help with bug fixing.

  • Fixed issue with creature's defense permanently going down after interrupting its sleep.
  • Fixed false accusation of item theft by player when enemy's own minions picked up equipment.
  • Fixed crash in the dancing logic due to a timing issue.
  • Fixed updating creature health bars after healing in the turn-based mode.


[ 2023-05-10 10:36:37 CET ] [ Original post ]

KeeperRL Lag Fest concluded!

The Lag Fest finished last Thursday! I've received a total of three save files from Rarasek and Soft Monster, and I analyzed them during the live stream. I managed to come up with one fix, which is now live in the latest KeeperRL patch. I also identified two areas in the code which need improvement, but the scope of the work was too big to be done during the stream. Big thanks to Rarasek and Soft Monster for taking part! They will be rewarded with KeeperRL swag of their choosing. The live stream went well, even though it was my first time, the volume was too low and my dog puked. You can find a shortened video with the volume fixed below (dog was edited out). I will be making more live streams in the future, maybe even on a regular basis. If you have comments or special requests as to what should be featured, let me know! [previewyoutube=CqszzinMapw;full][/previewyoutube]


[ 2023-05-02 13:56:29 CET ] [ Original post ]

Alpha 36 hotfix 10

This patch was created during the Lag Fest live stream. A summary of the stream will be posted soon.

  • Removed slowdown caused by creating a large number of tasks, for example by selecting a whole level to be dug out. This was done by limiting the task menu size to 200 items.


[ 2023-05-02 11:00:21 CET ] [ Original post ]

KeeperRL Lag Fest livestream will happen on April 27th, 8 AM UTC time

Do you want to see the inner workings of KeeperRL development? Tune into the Lag Fest stream on Thursday, where I will be optimizing the game using dungeons sent by players, live!


[ 2023-04-26 08:16:37 CET ] [ Original post ]

Alpha 36 hotfix 9

This patch fixes a crash when digging down past Z-level 17.


[ 2023-04-20 08:58:57 CET ] [ Original post ]

Alpha 36 hotfix 8 and an extra content patch

This patch adds more Z-level types with new content in order to make digging down more entertaining. It also fixes an AI issue where workers would get stuck on staircases, unable to dig horizontally.


[ 2023-04-18 07:23:52 CET ] [ Original post ]

Contest announcement: KeeperRL Lag Fest

I've been working a lot on optimizations for the past few game updates, and my impression is that the game has started to run really fine even with large dungeons. Now I want you to prove me wrong! Send in your most lagging dungeons, and I will use them to profile and optimize the game further, on live stream. Submissions that end with successful optimizations, as well as the most ambitious/cool attempts (judged at my own discretion) will be rewarded with KeeperRL merchandise.

Rules of the contest:


  • Deadline is Friday, April 21st, 23:59 UTC.
  • Dungeons must be created using the vanilla game with no cheating.
  • Dungeons can be submitted in the form of save files using the in-game bug-reporting tool if they are smaller than 50mb. After the submission, send an email to miki@keeperrl.com with your install id (found at the bottom of the game's main menu).
  • Submissions can also be sent through Google Drive or other file sharing platforms, especially if they are over 50mb. Send the link to miki@keeperrl.com.
  • Result announcement and live stream will happen during the week after the 24th of April.
  • Additional details and rules may be added in the future with the goal of keeping the contest fair and fun for everyone.


[ 2023-04-13 17:37:55 CET ] [ Original post ]

Alpha 36 hotfix 7

  • Fixed crash when removing the adoxie statue on the home map.
  • Fixed kraken generation on the goblin matron level.
  • Creature dying from bleeding will correctly credit the original attacker.
  • Added two missing Linux libraries.
  • Fixed green dragon color on the world map.


[ 2023-04-04 13:01:24 CET ] [ Original post ]

Alpha 36 hotfix 6

  • Fixed bad game data for special training dummy and library variants causing upgrades not being taken into account when checking immigrant requirements.
  • Fixed an unnecessary slow-down caused by updating level visibility on tile gas updates for gasses that don't actually obscure vision.
  • Fixed a crash caused by modded furniture scripts trying to use the furniture's dead creator's position.


[ 2023-03-13 10:48:50 CET ] [ Original post ]

Alpha 36 hotfix 5

  • Added missing throne for the white knight.


[ 2023-03-03 09:03:23 CET ] [ Original post ]

Alpha 36 hotfix 4

  • Fixed issue with knights and other units of the white knight faction not being recruitable.


[ 2023-02-27 09:39:34 CET ] [ Original post ]

Alpha 36 hotfix 3

  • Stopped the game from crashing if it fails to initialize audio.


[ 2023-02-22 10:17:59 CET ] [ Original post ]

Alpha 36 hotfix 2

This patch fixes the biggest issues with the most recent release. Big thanks to everyone for reporting bugs and being patient with me!

  • Fixed a bug that prevented the game from launching after modifying keybindings.
  • Fixed a bug that broke pathfinding across Z-levels.
  • Fixed a crash caused by drag and dropping prisoners on the map while they were still outside the home map.
  • Fixed a Z-level scrolling crash.
  • Doors and gates can now be built outside without requiring the "building interior" tiles being placed first.


[ 2023-02-21 11:58:14 CET ] [ Original post ]

Alpha 36 hotfix 1

  • Removed bogus welcome message from the tutorial.


[ 2023-02-17 19:33:19 CET ] [ Original post ]

KeeperRL Alpha 36 is released

KeeperRL Alpha 36 is finally out! This update includes full support for Steam Deck, a number of UI improvements and massive gameplay optimizations and fixes. Check out the patch notes below for more detailed information. Id like to thank everyone involved in crash testing this patch, sending bug reports and suggestions. Your help was invaluable! If you would like to continue your saved game from Alpha 35, you can opt-in into the "Alpha 35 save compatibility" BETA branch under the game's properties in Library. Make sure to opt-out of the branch to go back to Alpha 36 when you're done!

Gameplay


  • Creatures will train 70% faster.
  • AI will not throw healing and other potions at allies anymore.
  • Added a separate command for removing torches and other wall furniture, "remove construction" will now only remove the "middle layer" furniture, such as training dummies.
  • The "enemy aggression" difficulty setting will now also affect the aggression of Z-level enemies.
  • Starting biome will now be chosen randomly by default.

Content


  • Rebalanced distribution and aggression of Z-level enemies to that they pose more of a challenge.
  • Animal pens can now be built outdoors.
  • Added custom wall reinforcement sprites for dwarves and necromancer factions.
  • Added custom library and training dummy sprites for the necromancer.
  • Added custom floors and training dummy sprites for dwarves.
  • Added custom throne, library and training dummy sprites for the white knight faction.

UI


  • Full support for the Steam Deck console, including comfortable use of buttons and trackpads to navigate menus and control the game.
  • New main menu graphics made with the help of the Midjourney bot.
  • Reworked the mod menu.
  • Turn-based mode map highlight and navigation paths will hide when the player moves until the mouse cursor is moved again.
  • Fixed various issues with the "loading" dialog, made the "cancel" button actually work when downloading or uploading files or data.
  • Map selection will now always select rectangles instead of single tiles.
  • Removing map selection is done by starting the selection at an already selected tile, instead of holding the "ctrl" key.
  • Reworked the "choose number" menu (for example when changing item count in the workshop menu).
  • The "keeper is in danger" warning will now block the UI.
  • Merged ransom demand dialog with attack information window.
  • Moved all minion page actions, such as controlling or switching activity of a minion to the top of the page to improve clarity.
  • It's now possible to travel across Z-levels in other dungeons in the turn-based mode using the Z-level menu.
  • Made it possible to navigate various menus such as world map, team leader choice and campaign setup, using keyboard arrows.
  • Made various small improvements to the Z-level menu.
  • Made team member icons smaller in the turn-based mode.
  • All build menu items must now be in groups.
  • Added a command line tool to generate an example z-level lineup and average enemy attack probabilities.

Fixes


  • General optimizations in various gameplay processing code.
  • Optimized handling of large item stacks.
  • The game will not crash if item stacks contain more than 2^16 items. (note that shown item counts will be wrong though as they will "wrap")
  • Multiple FPS optimizations in AI code.
  • Fixed an FPS issue caused by an NPC holding a potion of amok.
  • Fixed a possibility to circumvent furniture limits such as throne, stone statues, etc.
  • Made the game run more smoothly at given FPS by limiting single gameplay ticks to 20ms.
  • Fixed an FPS issue caused by creates trying to pathfinding to different maps.
  • Fixed start menu crash after deactivating a mod that adds a new sprite.
  • Fixed a retirement crash related to steeds.
  • Optimized the "show all messages" window.
  • The game will stop loading sprites from old, incompatible mods.


[ 2023-02-17 14:59:33 CET ] [ Original post ]

Alpha 36 testing build is available

An unofficial Alpha 36 build is out on the BETA branch. Check it out if you're an experienced player and want an early glimpse of all the new stuff! This is especially directed towards Steam Deck owners, as this patch features full Deck support. Please post your feedback in the comments below. If you are new to KeeperRL, it is strongly recommended that you stick to the official Alpha 35 patch for now, as this build is very unstable, and the tutorial doesn't work at the moment. Please also note that until the patch is officially released, the save file format may change at any moment, and you saves may be lost. (although I'll do my best to avoid this). To opt into the build, please go into the game's properties, BETA tab, and choose the "dev" branch.


[ 2023-01-26 12:16:38 CET ] [ Original post ]

KeeperRL Alpha 36 will feature full Steam Deck support

A few months ago I've received a Steam Deck and quickly fell in love with the device. KeeperRL has received a "Playable" status from Valve already some time ago, but in practice it meant using the emulated mouse for everything, and it wasn't a great experience. I've decided to go all-in and make KeeperRL run super smooth on the Deck, including full controller support in all the menus. I got to work and it quickly turned out to be a massive undertaking due to most of the UI in KeeperRL being mouse focused. It was a lot of work both to design the new UI interactions as well as to implement the changes, as the code responsible for UI is not great and quite inflexible. I'm proud to say that most of the work is done, and it's currently super fun to play KeeperRL on Steam Deck. I've just resubmitted a new build for review by Valve and hope to finish up the whole undertaking before the end of the year. Now you might ask, why would you care if you don't own a Deck? The answer is that while making these changes I've made other improvements as well. I've revisited and overhauled a lot of old menus, including adding keyboard navigation and improving visuals. Because of using the Steam Input library, KeeperRL will also support all controllers used by Steam. Finally, with controller support out of the way, there is now big potential for console ports, which I will be looking at next year.


[ 2022-11-25 15:20:42 CET ] [ Original post ]

Alpha 35 hotfix 9

  • Added a button to add all available upgrades for workshop items.
  • Fixed a bug causing FPS to tank in some mods.


[ 2022-08-31 14:23:35 CET ] [ Original post ]

Alpha 35 hotfix 8

  • Fixed a crash that happened when some minions were riding their mounts while the player tried to retire their dungeon.


[ 2022-08-29 13:04:10 CET ] [ Original post ]

Alpha 35 hotfix 7

  • Cornuthaums will only be auto-equipped by spellcasters.
  • Fixed a bug in keybinding configuration that caused the game not to launch.
  • Fixed a rare workshop UI crash when applying upgrades.
  • Fixed a world generation crash involving using the IncreaseAttr effect in some mods.
  • Added a diagnostic check for a crash in the dancing algorithm.
  • Fixed a typo in the tutorial.


[ 2022-08-17 14:10:18 CET ] [ Original post ]

Alpha 35 hotfix 6

  • Fixed warlord mode crash caused by mounting a team member and switching control mode.
  • Fixed world generation crash of "bones" levels.
  • Fixed world generation crash when updating creature statuses while equipping items.
  • Fixed a foreign stair removal crash by disallowing claiming stairs.


[ 2022-08-09 13:18:07 CET ] [ Original post ]

Alpha 35 hotfix 5

Big thanks to Rarasek and Chronos0305 for their help in pinpointing these crashes.

  • Fixed crash caused by dismounting a steed into a tile that's inaccessible to the steed.
  • Fixed crash caused by traveling while riding a companion creature.
  • Modded item key verification error will include the file name and line number where the bogus key was used.
  • Fixed infernite sword's name.


[ 2022-07-23 10:04:29 CET ] [ Original post ]

Alpha 35 hotfix 4

  • Stopped infernite ore from burning creatures hauling it.
  • Guard post inhabitants (knights and archers), have been made weaker, to avoid stomping over the player on weak enemy maps, such as zombies.
  • Removed bogus attack sounds caused by fire elementals and damage from fire.
  • Removed a bogus warning when casting a friendly spell on allies.
  • Corpses that are special crafting ingredients, such as dragons, won't be consumed when crafting ordinary undead.
  • Fixed a retirement crash.
  • Made the yellow dragon armor grant an acid damage bonus to make its acid breath attack deal any damage.
  • Removed prisoner heads item from the necromancer's build menu.
  • Fixed description of the blast trap.
(please note that some of these changes will take effect only in newly started games)


[ 2022-07-14 12:49:46 CET ] [ Original post ]

Alpha 35 hotfix 3

  • Updated intro text, which was still mentioning Alpha 34.


[ 2022-07-12 18:20:31 CET ] [ Original post ]

Alpha 35 hotfix 2 is out

This patch fixes the most common crashes. More fixes should be coming out soon.

  • Fixed crash caused by not merging a subset of modded data from loaded retired dungeons.
  • Fixed crash caused by two buffs on a creature timing out in the same turn.
  • Fixed crash in the double trouble spell.
  • Fixed iron automaton arms being in the wrong sub-menu.


[ 2022-07-07 11:01:44 CET ] [ Original post ]

Alpha 35 hotfix 1

This patch fixes crashes when interacting with Steam Workshop on Linux and Mac.


[ 2022-07-05 14:54:54 CET ] [ Original post ]

KeeperRL Alpha 35 is released

KeeperRL Alpha 35 is out! This patch includes a number of changes to combat mechanics and visuals, makes more of the games content moddable, and adds customizable keybindings. Check out the patch notes below for more detailed information. Id like to thank everyone involved in crash testing this patch, sending bug reports and suggestions. Your help was invaluable! If you would like to continue your saved game from Alpha 34, you can opt-in into the "Alpha 34 save compatibility" BETA branch under the game's properties in Library. Make sure to opt-out of the branch to go back to Alpha 35 when you're done!

Gameplay


  • Decreased minimum damage/defense ratio required to reduce health in combat.
  • New spell speed attribute, which influences spell cooldowns, and is acquired in training and from various equipment.
  • Workshop and other skills such as multi-weapon have been replaced with attributes.
  • Stealing items from allies will make them hostile.
  • Enemies may ambush you after you travel to their site.
  • Infernite weapons will cause actual fire damage.
  • Made it impossible to craft automaton corpuses without adding any upgrades.
  • Rat corpses can no longer be used to craft undead.
  • Peacefulness debuff duration reduced to 5 turns.
  • Removed unnecessary nothing happens message when healing didnt have any effect.

Content


  • New attributes/damage types: cold damage, acid damage, fire damage.
  • Added immunity buffs for all types of damage.
  • Added adoxium and infernite corpuses and arms for automatons.
  • New weapons: Infernite trident, elves staves, King's Sceptre.
  • Added automaton "kaboom" head.
  • Disallowed crafting bone dragons from ki-rin corpses.
  • Allowed prisoner heads to be built outside.

UI


  • Wielded weapons are rendered together with creature sprites.
  • Customizable keybindings for most keyboard controls.
  • Made it possible to scroll freely in the turn-based mode.
  • Torches are rendered above other symbols in the ASCII mode.

Modding


  • Attributes are moddable.
  • Buffs / lasting effects are moddable.
  • Body materials are moddable.
  • Added OnTheGround predicate for checking if a certain ingredient is laying on the ground.
  • Spell cooldowns should now be assigned a range, with exact value calculated based on creature's spell speed.
  • Arithmetic expressions can be used wherever the game expects numbers in the game files.
  • All furniture with BedType set to PRISON can be used as prison.
  • Persistent immigrant teams (ex. wolf packs) have been removed.

Fixes


  • Fixed pathfinding issues caused by removing portals.
  • Disallowed capturing companion creatures.
  • Spirit summons won't be counted as unique for the purpose of calculating combat experience.
  • Clicking on portals in the real-time mode scrolls to the correct other portal position.
  • Removed bogus message about portal being inactive.
  • Using the stairs defocuses the item pick-up menu.
  • Enemy minions will not dig in their own territory in order to get somewhere.
  • Removed bogus blue dot from the minimap in the real-time mode.
  • Added an icon to the game window on Linux and Mac.


[ 2022-07-04 08:18:39 CET ] [ Original post ]

Alpha 35 testing build is available

An unofficial Alpha 35 build is out on the BETA branch. Check it out if you're an experienced player and want an early glimpse of all the new stuff! Please post your feedback in the comments below. If you are new to KeeperRL, it is strongly recommended that you stick to the official Alpha 34 patch for now, as this build is very unstable, and the tutorial doesn't work at the moment. Please also note that until the patch is officially released, the save file format may change at any moment, and you saves may be lost. (although I'll do my best to avoid this). To opt into the build, please go into the game's properties, BETA tab, and choose the "dev" branch.


[ 2022-06-23 08:47:55 CET ] [ Original post ]

Upcoming changes in Alpha 35

Alpha 35 will be a less exciting patch than its predecessor, although not for the lack of ambition on my part! I had planned a world map overhaul as well as a new minion progression system for this update. My attempts failed though, as after creating basic prototypes, I realized that they didnt mesh well with the game, and didnt feel good overall. I try to only add features to KeeperRL that I feel 100% certain about, so for now they go to the bin. To get some some actual stuff done, I changed my gears a little and went for easier features.

Weapon rendering



Creature sprites used to include weapons added by the artist, regardless of what weapon was equipped by the creature in the game. Rendering actual weapons was a nice opportunity to improve realism, convey more information, and actually make the game nicer visually. Its a change you should pay attention to if youre a modder, as to make it work with your content, youll need to designate attachment points for creature sprites and add vertical renderings of your weapons. If you dont do anything, nothing will break in your mod, but its a feature worth having.

Custom keybindings


Configurable keybindings have always been on the list of definite features to add, but I never rushed to do it. Well, now its finally in :). It allows configuring shortcuts for most features that you can use the keyboard for, and in the short future I will extend it to include mouse, controller, and Steam Deck support.

New (and moddable) attributes



KeeperRL used to include some damage types that werent part of the main damage mechanic used in combat, such as fire or acid damage. This damage used to sidestep combat damage calculation, which caused some issues, such as torches being overpowered or fire not hurting undead. I decided to merge in all such mechanics into the main damage formula by creating attributes for them, and also used this opportunity to make all attributes moddable. This way, creatures such as fire elementals cause actual fire damage based on their fire damage attribute, same with torches and fire traps. All attributes are now defined in game files, so modders can easily add new damage types with custom resistances, equipment bonuses, etc. I also decided to turn workshop skills into attributes, as well as the two built-in skills in the game: multi-weapon and digging. This allows reusing all the attribute modifying mechanics, like equipment bonuses, etc. Lastly, Ive added a new attribute: spell speed, which influences spell cooldowns, and is increased by training spell experience as well as various equipment.

Moddable buffs



Having added moddable attributes, it made sense to finally let modders create custom buffs, as they would need to add resistances and vulnerabilities to their new damage types. It was a big change, and it took me a while to figure out how to implement it without hurting game performance. It was also one of the last bastions of non-moddable game content. As usual, making it moddable immediately inspired me to add some new content, such as immunities for all damage types, and higher damage and defense buffs granted by a new artifact.

Moddable body materials


I needed to add infernite and adoxium automatons, so I finally made body materials moddable as well. When adding a new material, you can decide on intrinsic buffs and immunities, whether the creatures will have brains, their health type, ability to lose body parts, dropped items, and much more.

Free scrolling in control mode


One of KeeperRLs UI issues was being unable to scroll around in control mode, as the screen would always snap back to your creature when releasing the right mouse button. The main reason why I hadnt fixed it for a long time was that the code responsible for scrolling is quite ugly and its very hard to change it without breaking something. I finally got around to it and you can freely move the screen around, and scroll back to your creature by moving, clicking something or using the scroll to keeper command.

Changes to combat mechanics


There have been discussions lately about a frustrating aspect of the damage formula, which is that creatures with high defense are immune to weak attacks. The reason this is bad is that it forces you to have minions of the same tier as the enemy you want to attack, making some other, otherwise intuitive strategies impotent. One of them is having a large army of weaker units. Of course letting the player overrun everything with weak units is undesirable, but on the other hand they should deal at least some damage before they are all dead. Another issue is that melee attackers are favored above ranged units, as the latter are more difficult to train enough to damage end game enemies. The main reason for the currently used damage formula is to prevent kiting strong enemies using weak ranged units. There are several ideas on how to reach middle ground with these issues, and Id like to credit players discussing this on the forums. Im planning to release a testing build of Alpha 35 to Steam soon, and its going to include some changes that we can all try out and work on.


[ 2022-06-15 09:48:09 CET ] [ Original post ]

Alpha 34 hotfix 10 released

  • Creature companions, such as spirits or dogs, can't be captured anymore, which fixes a sporadic crash.
Big thanks to Rarasek for helping me out with another bug!


[ 2022-05-03 17:00:36 CET ] [ Original post ]

Alpha 34 hotfix 9 released

  • Fixed a crash while launching an attack on player with mounted attackers.
Thanks to Rarasek for his help with fixing the bug.


[ 2022-05-02 13:10:54 CET ] [ Original post ]

Alpha 34 hotfix 8 released

  • Added a fail-safe mode for upper z-level generation that skips spawning enemies if there isn't enough space for them.
  • Fixed adventure mode crash when visiting a retired dungeon that has ongoing roof construction.
  • Added the distillation skill to vampire nobles.
  • Steeds that are hostile to their rider are automatically dismounted.


[ 2022-03-24 09:38:04 CET ] [ Original post ]

Alpha 34 hotfix 7 released

  • Fixed crash caused by team members gaining the 'steed' attribute and then traveling.
  • Made Death invulnerable to goblin kaboomer attack.
  • Added a new bone dragon sprite.
  • Returning from polymorphed form doesn't reset dwarves' upgraded sprites.
  • Creature's first name and combat experience carries over when polymorphing.
  • Fixed skeleton wolf's body material from undead flesh to bone.


[ 2022-03-16 16:48:10 CET ] [ Original post ]

Alpha 34 hotfix 6 released

  • Added a missing balrog sprite and new dragon sprites.


[ 2022-03-04 16:12:34 CET ] [ Original post ]

Some KeeperRL assets temporarily removed due to copyright infringement (updated)

It has come to light that some graphical assets in KeeperRL infringe 3rd party copyrights. I wasn't aware of this, as these were made by someone hired for sprite creation recently. This is very bad news and all assets made by that person have just been taken down from the game. [strike]Unfortunately this includes the whole Necromancer faction, which is now unavailable in the game starting menu[/strike]. Saved Necromancer games will still load, but a majority of sprites won't be displayed. If you have a Necromancer game in progress I suggest waiting a few days until we sort it out. Other factions should be playable outside of an occasional missing sprite here and there. In the next few days we will figure out exactly which assets are non-original and add replacements for them, and everything should be back to normal. I am terribly sorry for this blunder and inconvenience to all players. From now on I will make sure to have a 100% certainty about the origins of new assets. If you have any suspicion that a KeeperRL asset may be "stolen", please get in touch, but also keep in mind that some older sprites come from the 16-Bit Fantasy sprite pack by oryxdesignlabs.com and you may see them in other games. Update: the Necromancer faction is back, a few "offending" sprites are still missing but will be replaced soon.


[ 2022-03-01 11:08:34 CET ] [ Original post ]

Get a free copy of KeeperRL by donating to a Ukrainian charity!

Out of solidarity with our neighbor Ukraine, the KeeperRL team will give away a free copy of the game to anyone who donates to any Ukrainian charity. You can find a list of reputable charities here. You should donate at least 20 USD. To redeem your copy of the game, please forward the email confirming your donation to miki@keeperrl.com. The team will also donate all proceeds from the sales of our game coming from Russia.


[ 2022-02-24 10:54:35 CET ] [ Original post ]

Alpha 34 hotfix 5 released

This patch fixes a wildlife spawning crash introduced in the previous patch.


[ 2022-02-23 21:43:01 CET ] [ Original post ]

Alpha 34 hotfix 4 released

  • Fixed crash caused by drowning in water while riding a blind steed.
  • Prevented liches from endlessly respawning even after phylactery was used up.
  • Fixed a bug that caused lich to not die when phylactery was destroyed.
  • Removed bogus help pages from tutorial.


[ 2022-02-23 17:52:57 CET ] [ Original post ]

Alpha 34 hotfix 3 released

  • Added skeleton wolf steeds to necromancer.
  • Made all slashers steeds, added the rider trait to the necromancer keeper, vampires and skeleton warriors.
  • An error will be displayed when a help page from a mod is not found instead of crashing the game.


[ 2022-02-21 12:00:02 CET ] [ Original post ]

Alpha 34 hotfix 2 is out

  • Fixed crash caused by designated steed having another rider why traveling to a different site.
  • Fixed crash caused by phylactery tile being occupied when respawning a lich.
  • Fixed crash caused by mounted steeds trying to use stairs.


[ 2022-02-20 14:02:35 CET ] [ Original post ]

Alpha 34 hotfix 1 is out

  • Prevent storage from persisting after it was erased using 'remove construction' order.
  • Fixed a crash caused by trying to control a steed while it's being ridden.
  • Made all deer steeds.
  • Added a diagnostic for a help UI crash.
  • Fixed a graphical glitch in a hidden wizard location.


[ 2022-02-19 17:34:49 CET ] [ Original post ]

KeeperRL Alpha 34 is out!

KeeperRL Alpha 34 is released! The update includes the addition of steeds, an overhaul of the Z-level system, and numerous quality-of-life improvements. Check out the patch notes below for more detailed information. Id like to thank everyone involved in crash testing this patch, sending bug reports and suggestions. Your help was invaluable! If you would like to continue your saved game from Alpha 33, you can opt-in into the "Alpha 33 save compatibility" BETA branch under the game's properties in Library. Make sure to opt-out of the branch to go back to Alpha 34 when you're done!

Gameplay


  • New steeds mechanic, minions are automatically assigned steeds and mount them.
  • Multiple stairs per level are allowed.
  • Inter-level portals are allowed.
  • Stairs can be removed.
  • All Z-levels are aligned and stairs always lead straight up or down.
  • Home base level has been made smaller in order to have the same size as all Z-levels.
  • Simplified roof support mechanic that only requires building interior to be designated.
  • Automaton assembling now uses the same, simpler crafting logic as the morgue.
  • All non-humanoids made from flesh can now be captured.
  • Added a resistant to capture trait to some bosses.
  • Creatures wont auto-equip infernite weapons without having fire resistance, player is warned when trying to equip.
  • Animal pens now require an animal fence to be active.
  • Wildlife respawns.

Content


  • Some villains and bosses receive their own special steeds.
  • Some immigrants receive special attribute boosts related to riding steeds.
  • Added ridable horses and warhorses to the white knight faction.
  • Added hay piles for non-humanoids to eat at.
  • Added an infinite carry capacity balsam to necromancers lab.
  • Removed all beasts immigrants, must be captured in the wild now.
  • Merge multi-weapon and extra arms balsams.
  • New chicken and cow breeding techs.
  • Added special enemies to some mountain tops.
  • Added worship tech requirement to white knight priests.
  • Gallows and beast cages moved to prison menu.
  • Greenskins faction gets coffins to be able to recruit vampires.
  • Djinn lamp moved to a new location.
  • Leather equipment crafting no longer costs wood.
  • Imps no longer have a speed buff.

UI


  • New menu for restricting equipment types for chosen minion groups.
  • New moddable help system with images and links.
  • Enlarging the minimap doesnt block the rest of the UI.
  • Item choice menu has an owner counter to improve clarity.
  • Added a tooltip to the combat experience UI element.

Modding


  • Made possible to add new farm creatures.
  • Added SameTribe creature predicate.
  • Added Frequency predicate.

Fixes


  • Fixed a retirement crash caused by a captured minion being tied to a phylactery.
  • Disabling an activity will stop minion from doing it right now.
  • Its now impossible to set an activity thats disabled.
  • Enemies that are stunned or unable to move are not considered for danger warning or preventing the player from travelling.
  • Master artisans bodyguards are fighters instead of civilians.
  • Archwood bow crafting requires archery.
  • Amulet of life saving is preferred to using the phylactery when killed by Death.
  • Fixed retired dungeons search box.
  • Unsecured prison tiles dont increase prisoner quota.
  • Fixed forge material tabs for automatons.
  • Limited population increasing furniture can not be built over the limit.


[ 2022-02-18 10:44:02 CET ] [ Original post ]

A few quality-of-life improvements

The last post talked about some major gameplay changes coming in KeeperRL, but the upcoming Alpha 34 patch will also feature some nice, ordinary improvements to your everyday dungeon life.

Equipment restrictions



A major annoyance experienced by probably every KeeperRL player was that equipment made for your front-line fighters would be grabbed by workers or low value minions, and youd have to manually reassign everything. Ive added a simple feature that should hopefully help with this, which is the option to restrict certain types of equipment for whole minion groups. So with a few clicks youll be able to stop all your zombies from equipping anything or tell your healers to only use wooden and leather stuff, and leave everything else to the fighters. On a related note, Ive also made AI not equip infernite weapons by default unless the creature has fire resistance. This is made in such a way that modders can set new, custom safeguards if their modded equipment can potentially hurt its owner.

Help system



KeeperRLs help tab has been a bit empty for a looong time, and Ive finally decided to change this, especially that a number of mechanics in the game is routinely hard to understand for new players. Ive created a simple and easy system to add pages that feature text, images and even links. Ive used it to add a few short tutorials for things that people often ask about in the forums, and Im planning to extend it with anything that is ever unclear. This is much easier than adding new tasks to the main tutorial, and also lets me keep it relatively short, which gets people more quickly in the game. The added bonus is that the new help system is fully moddable, so modders can add their own tutorials or lore, and I wouldnt be surprised if we see entire mods just adding content to the help section. There is even an effort to port the wiki content to a mod. If youd like to get involved in that, please get in touch with Soft Monster on discord.

Automaton crafting



The Necromancer update featured a new, sleek UI for adding upgrades to crafted undead, and I realized that it mostly duplicates the automaton assembling system. Since the latter is rather complicated and cumbersome, I decided to remove it, and adapt the new crafting upgrades UI instead. The added bonus is that you can now easily schedule production of identical automatons en masse, which wasnt possible before. As far as I can tell, all functionality has been replicated, except automaton paints, which I can add back in the future if there is popular demand (Ive never used them personally).

Animal farming



Ive made some changes to pigsties to make them fully moddable, and added constructing animal fence as a requirement for them to operate. Using this opportunity, Ive extended the farming mechanic to chickens and cows, which are new farming tiers used for increasing your max population. Not a huge change, but hey this is not a farming simulator! At least not yet :).


[ 2022-02-16 16:20:40 CET ] [ Original post ]

KeeperRL Alpha 34 testing build is available

An unofficial Alpha 34 build is out on the BETA branch. Check it out if you're an experienced player and want an early glimpse of all the new stuff! Please post your feedback in the comments below. If you are new to KeeperRL, it is strongly recommended that to stick to the official Alpha 33 patch for now, as this build is very unstable, and the tutorial doesn't work at the moment. Please also note that until the patch is officially released, the save file format may change at any moment, and you saves may be lost. (although I'll do my best to avoid this). To opt into the build, please go into the game's properties, BETA tab, and choose the "dev" branch.


[ 2022-02-10 13:06:22 CET ] [ Original post ]

Steeds and z-level overhaul

When creating KeeperRL I took a lot of inspiration from Nethack, and one of my memories from playing this classic roguelike was riding a tamed dragon to victory. I think steeds are a necessary component of a rich medieval fantasy world, and they bring a lot both in terms realism as well as opportunities for interesting combat mechanics (as I found out when playing Nethack). So it was only a matter of time before they made it into KeeperRL. Well, the time has come! At the basic level the implementation is simple, and steeds are represented graphically by drawing the steed and the rider sprites slightly overlapping. Not all combinations look as good as the necromancer riding a bone dragon, shown below, but I dont want to dwell too much on looks as its the game mechanics that are important in KeeperRL.
The rider inherits all movement traits from their steed, which is necessary for us to be able to ride our dragons over lava! Other than being stuck under the rider, the steed makes full use of its AI and abilities, fighting enemies and casting spells as you move around. When we look at steeds from a base management point of view, the space of possibilities opens up, and we need to consider such topics as obtaining steeds, assigning them to riders, and the rules of when riders should mount and dismount their steeds. I wanted to avoid burdening players with a lot micromanagement, so most of the decisions will happen automatically. At the minimum, youll simply to recruit some horses, wolves or bats, and youll see your minions in saddles on your next incursion or your imps riding bats to cross water bodies.
To make it easier to obtain steeds, the game now allows capturing most non-humanoid creatures (as long as theyre not made of fire or other elusive material). I recommend catching some bats or rabbits for your imps to ride! Ive also added a few unique, high-value steeds that youll find if you explore your map a bit. Its not obvious to me when minions should dismount their steeds, as from a mechanical point of view there is no downside to riding them everywhere, even in their own quarters. To keep some realism, your fighters will always dismount when entering the base. But what if there is an attack, should they hop back on? Perhaps a better solution will emerge with some more playtesting and player feedback. The base-building department of KeeperRL is also getting a big update, with the availability of building and digging upwards. Level topography becomes three-dimensional, and most of previous limitations are removed, for example you can now build multiple stairs per level and even inter-level portals! Judging from my own play sessions, base-building has become much more sandboxy, and Ive personally played with such ideas as mountainside castles or a series of towers connected by portals.
To make these changes possible, I had to shrink the base map a bit and remove some content from the ground level. This is not a bad change since there is a lot of content now spread across z-levels anyway, so there was little reason to keep a lot of enemies and resource patches on level 0. Thanks to this change all z-levels can be aligned now and staircases lead straight down, instead of to the middle of the next level. Its very possible that Ill add a setting to use bigger base maps in the future, as its mostly an issue of RAM requirements. I also simplified roof support mechanics a lot by removing the requirement of supporting walls. Now its enough to designate a building interior area, and the game will consider that area roofed for the sake of building furniture or adding another floor (lets assume that there are tiny pillars holding the roof if no wall was added). Roof support was pretty confusing for new players, and with building up added, even I had often trouble with figuring out why some tiles arent roofed. Im therefore very happy about this change. The Alpha 34 update is getting close to being finished, and you can expect a testing build being available on Steam pretty soon. Ill also write another blog post about some new quality-of-life and modding features that are coming along in this patch. 2022 is looking bright :).


[ 2022-02-04 10:21:03 CET ] [ Original post ]

Alpha 33 hotfix 11

  • Fixed retirement crash related to phylacteries.
  • Added diagnostic code to debug a crash related to missing gas definitions.


[ 2021-11-11 11:19:09 CET ] [ Original post ]

Alpha 33 hotfix 10

  • Fixed retirement crash related to captured undead creatures bound to phylacteries.
  • Fixed main menu News and Wiki links.
  • Changed names of attribute bonus balsams to 'lesser' and 'greater' to differentiate them.
  • Added forge and workshop skill balsams.


[ 2021-11-09 20:39:20 CET ] [ Original post ]

Alpha 33 hotfix 9

Fixed a phylactery destruction crash.


[ 2021-10-30 08:48:50 CET ] [ Original post ]

The Necromancer patch is out!

The Necromancer is released! This patch introduces a new playable faction focused on putting new life into dead bodies. Its highlight is the embalming mechanic, which lets you mould your minions to your liking by using various combinations of balsams. This patch is compatible with Alpha 33 save files, retired dungeons, and mods.

  • New, playable Necromancer faction.
  • Automatic pillaging of items covers a larger area that extends beyond the enemy's territory.
  • Reworked workshop item upgrade menu.
  • Reworked phylactery graphical effects.
  • Fog and all gasses prevent sunlight damage to undead.
  • Fixed a rare minion UI crash.
  • Fixed crash involving team member drag & drop orders.
  • Fixed quarters UI glitch.


[ 2021-10-28 09:23:25 CET ] [ Original post ]

Alpha 33 hotfix 8

Fixed crash related to torches or paintings being destroyed by the red dragon using fire. Fixed retirement crash that happened when there were active phylacteries (Unholy mod)


[ 2021-10-23 10:19:28 CET ] [ Original post ]

Necromancer faction coming Oct 28th

After automaton crafting was added to KeeperRL last year, someone suggested that a necromancer could similarly craft zombies from the body parts of fallen enemies. This was the evilest thing I could imagine, so I started working on a playable Necromancer faction right away. Unfortunately even though the mechanics were super fun, I wasn't able to come up with enough new content to make something releasable. Around the same time the prolific modder Swish released his Unholy Mod that contains a necromancer and a lot of interesting undead creatures. I've reached out to them recently and we decided to collaborate on an official Necromancer Keeper, to be released on Halloween. As a Necromancer, you'll choose recipes from a fine bouquet of undead creatures and use special balsams to mold them to your liking. Two special minions will be, as mentioned above, assembled from severed body parts.
While designing the Dwarves I wanted to create a feeling that each minion is unique and irreplacable. The Necromancer faction will be completely opposite to this. Your undead will be created in large numbers (there are no population limits), will fall easily due to weak defense, and the available balsams will let you specialize them against specific foes or even explicitly shorten their life in exchange for stat boosts. This craziness will be countered a bit with phylacteries, special constructions that can renew a chosen minion's life.
The Necromancer is currently undergoing polish, and balancing, and will go live (but smell funny) on October 28th. If you are super curious or want to help out with testing before the official release, drop by on Discord!


[ 2021-10-13 10:58:08 CET ] [ Original post ]

Alpha 33 hotfix 7

  • Fixed displaying message board content on retired maps.


[ 2021-09-28 10:30:06 CET ] [ Original post ]

Alpha 33 hotfix 6

  • Fixed dwarf dancing crash in retired maps.
  • Fixed crash when breaking multiple furniture that were supported by a wall that was destroyed.


[ 2021-09-27 13:42:32 CET ] [ Original post ]

Alpha 33 hotfix 5

  • Fixed a rare world gen crash caused by Hydra's territory being generated empty.
  • Added diagnostics for a furniture removal crash.
  • Fixed a library issue on Linux that caused the game not to start on some systems.
  • Fixed a Linux crash caused by a buggy library. (the one that disappeared when online features were turned off)


[ 2021-09-20 16:32:34 CET ] [ Original post ]

Alpha 33 hotfix 4

  • Display an error instead of crashing if a sprite has a wrong format
  • Fixed a phylactery reactivating crash
  • Fixed a phylactery crash when entering a non-player z-level
  • Fixed a rare crash when escaping death
  • Fixed furnace UI crash


[ 2021-09-18 06:56:55 CET ] [ Original post ]

Alpha 33 hotfix 3

  • Fixed issue with graphics being displayed in a tiny corner on Manjaro and other Linux distros.
  • Added diagnostics for a world generation crash.


[ 2021-09-17 12:08:37 CET ] [ Original post ]

Alpha 33 hotfix 2

  • The game won't try to load and display errors for old, incompatible mods.


[ 2021-09-16 19:23:40 CET ] [ Original post ]

Alpha 33 hotfix 1 is out

  • Fixed a crash caused by the game being unable to play the intro video. (the video will be skipped instead)
  • Fixed a game saving crash.


[ 2021-09-16 07:02:07 CET ] [ Original post ]

Mac version of Alpha 33 is fixed

KeeperRL should work on Macs now. Sorry for the mishap.


[ 2021-09-15 13:17:19 CET ] [ Original post ]

The tutorial is fixed now

Due to my mistake the tutorial wasn't working in the new Alpha 33 patch, but it's fixed now.


[ 2021-09-14 18:46:33 CET ] [ Original post ]

KeeperRL Alpha 33 is out!

KeeperRL Alpha 33 is released! New additions include a playable dwarf faction, overhauled z-level content, as well as numerous gameplay improvements, such as new crafting materials and an improved storage system. Check out the patch notes below for more detailed information. Id like to thank everyone involved in crash testing this patch, sending bug reports and suggestions. Your help was invaluable! If you would like to continue your saved game from Alpha 32, you can opt-in into the "Alpha 32 save compatibility" BETA branch under the game's properties in Library. Make sure to opt-out of the branch to go back to Alpha 33 when you're done!

Gameplay


  • Playable Dwarves faction
  • New crafting materials: adoxium and infernite
  • Combat experience is based on the number of unique kills
  • New specialized storage system with custom storage furniture for various equipment types
  • Reworked flanking/parry mechanic with visual indicators and hints
  • Smelting unneeded equipment in furnaces
  • New fog effect
  • 'Gargoyle' and 'blast' trap
  • All doors and gates are stronger
  • Minion training and crafting efficiency depends on the speed/slowness buffs
  • Certain minions will dance when bored
  • New z-level enemies with progressing difficulty
  • Ground level allied vaults are moved to z-levels
  • AI won't waste throwable items on super weak enemies
  • Dark elves and goblins villains difficulty adjusted
  • All crafting is sped up by 50%
  • Added crossbows to the game
  • Fire elementals on the red dragon level aren't considered fighter units
  • Black dragon moved from the top-level campaign to a z-level
  • Minions won't build bridges or dig when pathfinding
  • Special immigrant trait that aggravates enemies
  • Giant spider won't place webs all over dungeon when captured/recruited
  • Ranged weapon glyphs
  • Artifact bows made from tree spirit wood
  • 'Unclaim tile' order
  • New 'swamp' biome for some villains, courtesy of the DigRealm mod
  • Craftable fog and poison gas emitting potions
  • Traps are constructed by workers like all other furniture, and not crafted in workshops
  • New wall type with arrow slits, new 'archer' vision that allows shooting through arrow slits.
  • Prisons must be surrounded by prison bars

UI


  • Added fast travel between z-levels in the turned-based mode
  • Added workshop window tabs for different crafting materials
  • Archery range shooting positions are visualized when placing it
  • Map cursor highlighted red when it's not possible to place a construction
  • New, easier way of implementing ranged traps such as gargoyle and boulder traps
  • New crops and scarecrows sprites courtesy of the PureLands mod
  • Conflicting equipment like shields and two-handed weapons will be automatically unequipped instead of blocking the action
  • The game announces when you have discovered an allied that can be traded with or recruited
  • Retired dungeons list shows dungeons uploaded by Steam friends
  • The 'under attack' message is shown in a separate window
  • New game intro
  • New 'exit game' menu

Modding


  • New minion promotion system made for the dwarves faction is fully moddable
  • Moddable dynamic and static (world gen) gas effects
  • Added 'AddSpellSchool', 'IncreaseMaxLevel' effects
  • Added 'Gender' creature predicate
  • Added 'DistanceD' predicate, which allows circular area effects
  • Added an optional duration parameter to the 'Lasting' effect

Fixes


  • Fixed bogus ability timeouts in bows found in retired maps
  • Team won't follow the player into the sokoban levels to avoid game crashes
  • Fixed an exploit that allowed crafting unlimited items from one unique ingredient
  • Fixed construction debt inconsistency crash
  • Fixed items that grant multiple abilities
  • Fixed the display of item price in shops
  • Fixed recruitment from goblin caves


[ 2021-09-14 10:08:23 CET ] [ Original post ]

KeeperRL Alpha 33 testing build is available

An unofficial Alpha 33 build is out on the BETA branch. Check it out if you're an experienced player and want an early glimpse of all the new stuff! Please post your feedback in this thread or in the comments below. If you are new to KeeperRL, it is strongly recommended that to stick to the official Alpha 32 patch for now, as this build is very unstable, and the tutorial doesn't work at the moment. Please also note that until the patch is officially released, the save file format may change at any moment, and you saves may be lost. (although I'll do my best to avoid this). To opt into the build, please go into the game's properties, BETA tab, and choose the "dev" branch.


[ 2021-08-17 10:37:05 CET ] [ Original post ]

Dwarves

Whats a dungeon building game without dwarves? Of course the little neckbeards have always been present in KeeperRL as an enemy, but a playable dwarf faction has long been due. As a rule I try to add unique gameplay with each new faction so that its not a mere reskin of existing content. The dwarves are no different.
The main dwarf characteristic is that you start with exactly twelve of them, and its impossible to gain any new minions for the entire game. This is accompanied by a promotion system that lets you specialize your initially blank dwarves with various combinations of skills. The promotions are awarded together with new available technologies, as your faction gains levels.
Together, these two mechanics will force you to take long term strategic choices, as well as to choose your battles very wisely. This is unlike most other factions in KeeperRL, where minions are quite expendable. From initial playtesting it seems like this will be a very roguelike experience, which Im super happy about. New content is always fun, but I also remember about adding important quality-of-life features to KeeperRL. One that has been requested for a long time is item smelting. It allows you to get rid of unneeded equipment, while recovering some resources. Another such feature is the unclaim tile order, which lets you remove parts of territory that you arent interested in.
To add some variety in the landscape, Ive added a fog effect which simply obscures vision. Since KeeperRL has already had a similar poison gas effect, I decided to merge these two into a general gas system. This is of interest mostly to modders, as its possible to add custom gases with various effects, and they can be placed on the map permanently during level generation or temporarily, for example as the result of a spell or crashed potion.
These are only some of the new features that Ive been working on in the last weeks. If youre interested in finding some fun surprises, you can try out the Alpha 33 testing build on Steam, which Im going to release right after publishing this blog post. Stay tuned for another announcement with the instructions on how to opt into the new build.


[ 2021-08-17 10:22:45 CET ] [ Original post ]

Alpha 33 gameplay news

After a bit of a break following the last patch, Im back with some new, exciting gameplay features that will arrive in KeeperRL Alpha 33.

Workshop materials



Ive been looking to add more ores/materials to the game for a while, as an extra reward for exploring deeper z-levels. Quite a lot of mods add new materials, and its really a no-brainer feature for vanilla. For now Ive settled on adding two new ores. The first one, adoxium, is named after your favourite evil god. It allows crafting items with magical properties, and is super rare, to the point that youll only craft a few full sets of equipment with what you can mine with reasonable effort. The other material is infernite, borrowed from the Bonus Mod, as it is a cool and unique idea. It is a permanently burning ore, which allows forging weapons that deal fire damage. The only issue is that it burns whoever touches it, which means that youll have to solve the problem of fire resistance for your workers and the users of infernite weapons. It is as rare as adoxium. What was previously stopping me from adding new materials was the workshop UI. Requiring listing every new item/material pair, it would become quite unreadable. After a bit of research, Ive ended up adding simple tabs to the menu, which you can see in the screenshot above. Theyll help a lot in finding your desired item.

Specialized storage



A storage system overhaul has been on the table for a while, partly because piling items on the floor randomly is a bit counter-productive, and also because I want to give players new ways to design their dungeons in creative ways. On the other hand, I dont want KeeperRL to require sophisticated storage micromanagement. A simple designate and forget should do. The first step towards this goal was to create a hierarchy of storage types, starting from the general equipment, resources, etc, and specializing them into more and more narrowing categories, like weapons, bows, gold, and so on. When a sword is produced, the game will start with looking for a specialized weapon rack to store it, and fall back to the old equipment storage if its not found. This way you can have your items neatly organized, but you dont have to. Your minions wont really care. Its worth mentioning that the new storage system is fully moddable, so you can probably expect your favorite modders to come up with new custom storage furniture as well. Another topic are storage limits. Right now you can store your entire dungeons treasure on one tile. This is both due to simpler implementation, and for players convenience. I know from other games that having to constantly create new storage rooms for your ever growing pile of stuff can be annoying. I think that a middle ground would be practical, where basic storage types have limits, but one can eventually build some sort of bottomless magical chests. I still need to think about all gameplay and implementation (performance) consequences of this, as it would be a big change to KeeperRLs engine.

Prison, arrowslits, and new traps



In another improvement inspired by modders, Ive added two new prison features. Mostly to improve realism, the game will require you to secure all prison tiles by either prison bars or prison door. Its mostly an aesthetic change, as prisoners can still move freely around your dungeon when doing work. This might change though in a future prisoner overhaul. Something that has been suggested by players, is the idea of arrowslits. In KeeperRL it is a special wall tile, which creatures with the attribute of arrowslit vision can see and shoot through. Its a human equivalent of elf vision (which you may have fallen victim to if you were ever shot by elves through the trees). It will be available to the white knight faction as well as AI villains. Expect more unexpected arrows flying in your direction KeeperRL will feature two more traps. The first one is the gargoyle, which is a stone guardian that comes to life whenever enemies appear. The other trap is the blast trap, which is pretty similar to the "directed blast" spell. While pretty simple on the surface, with some clever tricks it can create very interesting situations involving attackers.

Enemy alliances



Inspired by one classic fantasy story, Ive added a special end-game event to KeeperRL, in which the last standing enemies gather in a final, desperate attack against you. It is a fully scripted scenario, so dont expect any simulated enemy diplomacy. Its thought of as an occasional change of pace, most likely to your doom. The attack, when it happens, involves all the forces from the remaining main villains, including their leaders. Therefore, resisting it should secure your victory in the game.


[ 2021-06-26 09:08:43 CET ] [ Original post ]

KeeperRL Alpha 32 hotfix 3 is out

  • Fixed wiki link.
  • Fixed a crash caused by applying the Shove effect when enemy was not adjacent.
  • Fixed a phylactery crash (this is a feature not present in vanilla yet, but you may find it in mods).


[ 2021-05-20 18:03:05 CET ] [ Original post ]

KeeperRL Alpha 32 hotfix 2 is out

This is another bug fixing update.

  • Research points are correctly awarded when a tribe is killed by goblin kaboomer(s).
  • A 'Slayer' title is correctly given to the master if a companion (such as a spirit) kills a tribe leader.
  • Increased the training limit of golden bookcases and adamantine training dummies to 99.
  • Fixed tutorial crash when digging down.
  • Fixed a crash when attacking a retired dungeon as an adventurer and a team is disbanded due to being wounded.
  • Fixed a world generating crash caused by placing a creature on a hidden door tile.
  • Fixed a dungeon retiring crash caused by the presence of an ice demon.
Big thanks to all bug reporters!


[ 2021-04-17 13:24:13 CET ] [ Original post ]

KeeperRL Alpha 32 hotfix 1 released

This patch fixes some common bugs that have crept into the recent update.

  • Fixed crash caused by using a drag & drop team member go-to order and then traveling to a different site.
  • Fixed crash when multiple equipped items are removed due to limb loss after being polymorphed.
  • Fixed crash caused by killing a creature along with its companions in the same move.
  • Special beasts with a fire or poison bite attack are now fire or poison resistant respectively.
I'm on the hunt for a few more remaining bugs so expect another patch soon. Happy hacking!


[ 2021-04-16 19:12:33 CET ] [ Original post ]

KeeperRL Alpha 32 is out!

KeeperRL Alpha 32 is released! This patch features major gameplay improvements, including an AI and combat overhaul, as well as new content additions, including adapting the Goblin Keeper faction from the Bonus Mod. Check out the patch notes below for more detailed information. Id like to thank everyone involved in crash testing this patch, sending bug reports and suggestions. Your help was invaluable! If you would like to continue your saved game from Alpha 31, you can opt-in into the "Alpha 31 save compatibility" BETA branch under the game's properties in Library. Make sure to opt-out of the branch to go back to Alpha 32 when you're done!

Gameplay


  • Improved combat formations AI, including keeping spellcasters and healers behind the front lines.
  • The type of AI can be switched between 'melee' and 'ranged' for every creature.
  • The game has the concept of polymorph, with multiple new polymorph spells and abilities of various kind.
  • Archer and mage classes receive the ability to have projectiles bypass allies with training.
  • Spellcasting AI will try to maximize the effect of projectile and area spells.
  • The speed and slowness effects apply only to movement and not other actions, ex. fighting, digging, etc.
  • Guarding activity and guard zones are split into three groups, and the activity is disabled by default.
  • Artifact potions with permanent effects are available as consumables in the minion menu, and minions will automatically consume them when ordered to pick them up.
  • The speed and slowness effects are allowed to coexist and cancel each other out.
  • The Keeper will also abuse workers, not only fighters.
  • The ring of spying will get destroyed if the spy attacks anyone.
  • The Keeper is allowed to copulate.
  • Peacefulness prevents creatures from using hostile spells and abilities.
  • Removed tech books.

Content


  • Goblin faction adapted from the Bonus Mod.
  • Special z-level for the Goblin faction.
  • Orcs and ogres are replaced by goblins and trolls.
  • Vampires are granted the 'lord' status when reaching their max training level.
  • Added a 'blink' spell to vampires.
  • Shaman summons have been reworked as a generic companion system, with other creatures that have companions and pieces of equipment that can grant them. Companions always respawn up to a certain limit, and their stats may depend on their owner's stats.
  • Added setting to unlock all locked content.
  • Swords are swapped for clubs in bandits and rat people.
  • Green dragon has a 'poison breath' attack.
  • New red dragon lair.

Modding


  • Prisoners can be converted using the Effect system, so you can add other ways of conversion other than the torture table.
  • The type of AI can be defined as 'melee' and 'ranged' for every creature.
  • Added a Flag requirement to immigration.
  • Added the ability to add flags to chosen keepers.
  • 'InTerritory', 'Humanoid', and 'Spellcaster' creature filters.
  • 'SpecialAttr' effect, which adds attribute bonuses that depend on chosen filters applied to the enemy.
  • Added an 'eyeball' property to furniture, so that new eyeball types can be modded.
  • Particle effects, such as glitter can be added to custom furniture.
  • Added 'SetCreatureName' and 'SetViewId' effects (see the ennoblement spell).
  • Reimplemented 'AITarget', 'AIDistance' and 'AIBelowHealth' with a generic AI effect which uses creature predicates.
  • Ranged weapon logic is removed from the game. Ranged weapons instead grant spells/abilities that shoot the missile.
  • Ranged spells have a 'maxHits' attribute, which defines the max number of creatures that are hit by the spell.

UI


  • Drag-and-dropping team members on the map in the turn-based mode causes them to receive go-to orders.
  • Improved the order of sprite rendering, getting a more natural '3d' look.
  • Creature sprites are flipped horizontally based on their movement.
  • Reworked settings and 'load game' menus.
  • Added a message when content gets unlocked.
  • Improved workshop menu, including a 'change count' button.
  • Glyphs can be mass-applied to a stack of crafted items.
  • Added a 'choose all' button in the pillage menu.
  • Visual warning when torture is unavailable due to reached population limit.
  • Added a warning when spell or ability might harm an ally.
  • Question marks drawn in place of locked keeper and adventurer characters.
  • Started using short versions of very long workshop item names.
  • Creature description includes info on multiple heads.
  • Added a steam animation to automaton engines.
  • Added a 'peacefulness' effect animation.
  • Magic missile can be invoked using the 'f' key.

Fixes


  • Prevented the leader from running after minions outside his base to abuse them.
  • Fixed a crash caused by casting a firewall or related spell on a candelabrum.
  • Added rendering optimizations.
  • Fixed storage warnings referencing a wrong storage type.
  • Workers won't drink all the booze that they were to haul to storage.
  • Potions of booze won't have an effect when thrown.
  • Glyphs can no longer be 'applied' in control mode, which did nothing and used up the glyph.
  • Fixed drawing bogus particle effects generated on different z-levels.
  • Fixed some enemy AI not returning to their territory at night.
  • The game considers peacefulness a negative effect so that AI uses it offensively.
  • Sleeping creatures will wake up when attacked by fire or acid.
  • Stopped Adventurer from sleeping multiple times if player keeps clicking the sleep order.
  • Fixed names of intrinsic items with prefixes, ex. fangs of poison, etc.
  • Shopkeeper debt is not shown if shopkeeper is dead or not nearby.
  • Fixed crash caused by recruiting allies that were stunned.
  • Fixed gnome traps requirements.
  • Fixed save incompatibility between the Linux and Windows platforms.
  • Fixed item tooltips in the pillage and trade menus.
  • Prevented creature attributes from going below 0.
  • Fixed crash caused by an applied item killing the creature.
  • Fixed mouse click glitch involving the mini map.
  • Fixed 'RemovePermanent' effect name.


[ 2021-04-05 11:27:55 CET ] [ Original post ]

KeeperRL Alpha 32 testing build is available

An unofficial Alpha 32 build is out on the BETA branch. Check it out if you're an experienced player and want an early glimpse of all the new stuff! Please post your feedback in this thread or in the comments below. If you are new to KeeperRL, it is strongly recommended that to stick to the official Alpha 31 patch for now, as this build is very unstable, and the tutorial doesn't work at the moment. Please also note that until the patch is officially released, the save file format may change at any moment, and you saves may be lost. (although I'll do my best to avoid this). To opt into the build, please go into the game's properties, BETA tab, and choose the "dev" branch.


[ 2021-03-12 14:14:52 CET ] [ Original post ]

The state of Alpha 32

Its been a while! KeeperRL Alpha 32 is slowly reaching its final shape, so I want to update you on all the latest stuff that made it into the game. News number 1: The Goblin Keeper.
Many of you probably remember the Goblins from the Bonus Mod. For those that dont its a super unique faction in one of the most popular mods. Go check it out! With SoftMonsters and RighteousSinners permission (the latter given before Righteous sadly passed away), the Goblins are making it into the vanilla game! Ive made many adjustments and added quite a few ideas of my own into this hilarious faction, while trying to stick to the original spirit. I feel like this will be an amazing addition to the game.
Having added the Goblins, I decided to scrap Orcs and Ogres from the whole game, and copy some of the goblin specializations back to the Dark Mage and Dark Knight keepers, since they have much more character, and I never liked the Orcs and Ogres visuals. On the topic of factions, another one coming up is the Necromancer, but it requires more work, so not wanting to postpone Alpha 32 for too long Ill leave it for the next update. There are some nice ideas in there, including an Abomination minion thats assembled from body parts of fallen enemies, and a phylactery mechanic that makes a creature semi-invincible. So Im still very optimistic about what should come out of it once the Necromancer is fully fleshed-out. Another new feature is a continuation of combat improvements described earlier, which allows giving go-to orders in the turn-based game mode. For now the order ends once the minion reaches the target, and in the future I want to add UI for more sophisticated orders, like go-to and wait X turns, go-to and scout, etc. But even in its basic form I find this feature very useful, especially when stand ground is turned on, you can easily position your team for combat.
On the topic of combat, another important change is the speed system. From now on speed and slowness will only affect movement, and all other actions, like attacking or destroying stuff will always take one turn for all units. This levels the playing field a bit, since these effects used to give a massive (dis)advantage to the unit. Ive also allowed creatures to be affected with both speed and slowness and the same time, causing them to cancel each other out, which lets you temporarily boost your slow minions with a speed potion or vice-versa. There have been improvements in the visuals as well. Sprites are now drawn in a way that gives a bit more realistic 3D effect, and creature sprites will change orientation horizontally based on movement (see the first gif).
At this point all thats left is some testing, and helping out modders with updating their mods to Alpha 32. You can expect a testing build released to Steam very soon, and the official update not long after.


[ 2021-03-08 12:00:06 CET ] [ Original post ]

Incoming combat improvements

The turned-based roguelike mode is an important and distinguishing feature of KeeperRL, yet something that still causes a lot of friction for players. The main problem is that roguelikes are normally single-character games (outside of an occasional pet or companion), in which you make very frequent and fine-grained decisions. But in KeeperRL you typically lead teams of unlimited size, which either makes you dependent on disappointing team AI or forces you to take control of every team member, which slows down the game massively. Improving the AI should make the experience much more pleasant, in particular for non-melee units, which until now had a tendency to get killed in the front lines of combat. The first, and biggest challenge was to identify effectively which units are non-melee, since a lousy bow doesn't turn an ogre into an archer. Ultimately the melee/ranged designation will be explicitly stated in creature definitions, which is something that modders will have to remember when adding new ranged fighters. The player will also have an option to override this setting for every minion, so you'll be able to tell your ogre with a bow to stay in the back of the squad. Once a creature is known to avoid melee combat, the game checks for any offensive spells and abilities, and keeps just enough distance from the enemy to take a shot at them. The same logic will be used for non-combat creatures, like imps, which will automatically avoid enemies altogether.
KeeperRL has special squad AI that causes creatures to assemble in simple line formations. To make it work nicely with non-melee creatures Ive made them stay two lines behind by default. The game will also need to take special care of healer creatures, who have to stay close to the melee fighters, but at the same time try not to get slaughtered in combat.
All these ideas are tricky to implement, since they need to work for all types of creatures and in different scenarios ranging from open areas to tight corridors. To help the AI a bit more, Ive given more experienced archers and mages the ability to shoot past their allies, which you can notice in the above gif. This should make them even more effective and overall combat more satisfying. While tweaking ranged combat, Ive also added a warning for when youre about to attack you own minions with a spell or arrow, which should take care of the confusing situations when your own minion turns against you.
There has also been a more internal change, which reworked ranged weapons as spells/abilities. This makes it easier to define weapons with special properties, such as cooldowns, custom effects, attacks that hit multiple enemies at once, etc. In other news, to give you more crazy experiences, the game will now feature a polymorph spell. It will have a few variants and will be used by creatures in several different situations. Im intentionally keeping the details vague in order to make the surprises more exciting. I encourage modders to check this feature out, since it allows creating some new, fun gameplay.
Ive also been working on a new load game menu, which will come before the character creation screen, because you usually load games more often than start new onces (unless youre very new to KeeperRL, ha, ha). Its very likely that Ill also design a wholly new main menu for the upcoming update.


[ 2020-12-10 20:03:49 CET ] [ Original post ]

KeeperRL Alpha 31 hotfix 3

This patch adds the following content:

  • The Halloween Zombies faction is now hidden by default and can be unlocked through a secret action in the game.
  • Another novelty playable faction has been added and has to be unlocked.
And fixes:
  • The game won't allow playing as retired villains (enemies that have conquered your base and are now living in it) in the warlord mode.
  • Fixed a glitch in the tutorial build menu.
  • Fixed a rare UI crash when clicking on a minion in the minion menu.


[ 2020-11-16 12:29:47 CET ] [ Original post ]

KeeperRL Alpha 31 hotfix 2

This is another bug fixing patch.

  • Fixed crash caused by inability to generate the "black rats" z-level.
  • Fixed bad generation of some towns that made them embedded in mountain tiles.
  • Fixed crash caused by team members being at a different site when in full control mode.
  • Fixed entry to the "Adoxie feet" secret.
  • Fixed crash caused by dual wielding a staff of suicide along with another weapon.
  • Added an error message instead of crashing when the game can't find a texture file.
  • Added a link to the game's github page in the main menu.


[ 2020-10-23 14:34:57 CET ] [ Original post ]

KeeperRL Alpha 31 hotfix 1 is out

This patch, which I've released gradually over the last two days, fixes the following issues:

  • Player character menu crash caused by mod mismatch in saved warlord characters.
  • Player minions won't dig or build bridges by themselves when pathfinding.
  • World generation crash in the Bonus mod.


[ 2020-10-21 12:12:14 CET ] [ Original post ]

Enjoy the new, playable Zombie faction!

Coming to you straight from wooden coffins is a new zombie-only faction. Have some brains for Halloween!


[ 2020-10-20 15:11:05 CET ] [ Original post ]

KeeperRL price will increase to $20 USD on November 15th

KeeperRL has been in development since early 2013, and in a few weeks it will be seven years since the release of Alpha 1. When KeeperRL went on sale its initial price was $15, and when it was launched on Steam Early Access, I promised that it would not change for the final release. However, since that time I spent another 5 years working nearly full time on KeeperRL, which was something I hadn't anticipated. Because of this, I feel that the market value of the game has increased quite a bit, also considering the prices of other similar games. My personal circumstances have also changed throughout that time, and I need to make sure that my small business stays afloat so I can keep working on KeeperRL and other projects. Therefore on November 15th I will be increasing the price of KeeperRL to $20 in all stores. If anyone feels that this is unfair, I'm announcing this change in advance, so there is plenty of time to buy the game at the current price. I also plan to not make any discounts until KeeperRL reaches a 1.0 release.


[ 2020-10-18 08:28:35 CET ] [ Original post ]

KeeperRL Alpha 31 is out!

KeeperRL Alpha 31 is released! The two major features brought by this update are the new Warlord game mode and moddable randomly generated maps. Check out the rundown below to get an idea about all the rest of the new stuff. Id like to thank everyone involved in crash testing this patch, sending bug reports and suggestions. Your help was invaluable! If you would like to continue your saved game from Alpha 30, you can opt-in into the "Alpha 30 save compatibility" BETA branch under the game's properties in Library. Make sure to opt-out of the branch to go back to Alpha 31 when you're done!

Content and gameplay


  • Warlord mode.
  • New unlockable Adoxie adventurer (already known by some from the bonus mod).
  • Reworked Demon Den level.
  • Reworked all castles in the game.
  • Reworked the top and the lava z-levels using new the map generation system.
  • Two new hidden z-level locations.
  • Four new hidden top-level locations.
  • Reworked blacksmith house.
  • Angels have wings.

Modding


  • Moddable map generation.
  • Macros in all modded content.
  • Added an Unlock effect which unlocks arbitrary game content (currently only new adventurers and keepers supported).
  • Added an enemy-only z-level type.
  • Settlement size can be defined as a range instead of fixed number.
  • Working command line flags, such as for testing map layouts or generating villains now works on Windows.
  • The Simple item heading can be skipped and the quoted name can be used directly.
  • The Chain heading in various data can be skipped in favour of just listing the elements inside {} brackets.
  • Mods can now append to existing workshop lists.
  • Added itemsRemovedEffect to Furniture, which triggers when any items are removed from the tile.
  • All Vec2 values, like sizes and coordinates must be now surrounded by {}.
  • One-element range can be entered as just a number, without the {}.

UI


  • Control-mode team leader can be changed by clicking on the team member icons in the top left.
  • The lock/unlock keys in minions equipment menu are highlighted for better visibility.
  • Creature choice menu (such as choosing absorption target or a new team leader) shows creature details when hovered using the mouse.

Fixes


  • Fixed the interface for entering players first name.
  • Fixed crash caused by a conquering villain being retired while the player was controlling a creature.
  • The game no longer freezes or crashes if a player-controlled creature dies due to poison during game initialization.
  • Added more assertions for OpenGL errors.
  • Fixed crash while browsing the bestiary.
  • Fixed (potential?) crash caused by enslaving own minion.
  • The game wont crash if a building id is misspelled in a mod.
  • Game executable size on Steam has been reduced from 700mb to 140mb.


[ 2020-10-12 14:05:25 CET ] [ Original post ]

KeeperRL Alpha 31 is available for testing

An unofficial Alpha 31 build is out on the BETA branch. Check it out if you're an experienced player and want an early glimpse of all the new stuff! Please post your feedback in this thread or in the comments below. If you are new to KeeperRL, it is strongly recommended that to stick to the official Alpha 30 patch for now, as this build is very unstable, and the tutorial doesn't work at the moment. Please also note that until the patch is officially released, the save file format may change at any moment, and you saves may be lost. (although I'll do my best to avoid this). To opt into the build, please go into the game's properties, BETA tab, and choose the "dev" branch.


[ 2020-09-25 10:07:04 CET ] [ Original post ]

Warlord mode and moddable map generation

I'm slowly wrapping up the Alpha 31 update, and while it won't be nearly as massive as the previous patch, it will bring two very interesting features.

Warlord mode


Having to say 'goodbye' to your Keeper when retiring a dungeon can be sad for some players, and I've noticed that a lot of you like to share screenshots of your retired dungeons, and your Keepers' stats. To give your retired dungeons a longer life, I've added a new 'Warlord' mode, in which you once again take your retired Keeper and your minions on an escapade against other retired dungeons.
In this mode you don't have access to your retired dungeon any more, but you assemble a team out of all your minions, and travel between other retired dungeons of your choice. Since the games will be quite short, the warlord mode will give you an opportunity to come back to KeeperRL in short bursts, without having to start another dungeon or adventurer game. It will also let you visit many more retired dungeons. The new mode unlocks once you retire your first dungeon.

Moddable map generation


As I've hinted in the past, I've been working on a scripting language dedicated to procedural map generation. The language is now incorporated into KeeperRL, and several maps in the game already use it. The benefits over the old system, besides moddability, is much faster iteration, since generated maps can be viewed using a command line utility without having to start the game and manually walking to the area that you're working on.
Almost all map generation algorithms currently used in KeeperRL are available in the script, so there is huge potential for modders to customize their own maps. A testing build of Alpha 31 with the new features will be released on Steam soon, and meanwhile you can take a peek at the very preliminary documentation of the script.


[ 2020-09-24 11:31:02 CET ] [ Original post ]

KeeperRL Alpha 30 hotfix patch is out!

This patch fixes some of the most common crashes and other bugs. Note: parts of this patch had been released in June, but were rolled back due to breaking save file compatibility.

  • 64-bit Windows gets a native 64-bit build to avoid hitting the memory limit of 32-bit programs.
  • Fixed the "too many sprites" issue that happened when installing a lot of mods.
  • Fixed the "Keeper in danger" warning in the turn-based mode.
  • Removed the limit of 30000 dug out tiles.
  • Added an option to perform operations such as loading, saving and world generation on the same thread in order to debug issues with very long saving/loading times. (Please get in touch if you experience unreasonably long saving/loading times)
  • AI Fighters with restricted movement (immobile, tied up, etc) will not be sent out in raids.
  • Fixed crash caused by a creature dying when teleported by the Audience effect.
  • Fixed crash when paying for items while blind.
  • Added diagnostics to figure out another crash.
  • Fixed some typos and building descriptions.


[ 2020-08-26 16:41:01 CET ] [ Original post ]

The future of KeeperRL

You might have noticed a bit of radio silence from me in the last couple of months, and this is because I've been somewhat burnt out after the six-month push for the Alpha 30 patch, and I needed a bit of a break. As KeeperRL has been in development for more than seven years now, I think it's good both for the game and for me to distance myself every once in a while to take a breath. Alpha 30 was originally intended to be a milestone update, after which KeeperRL was going to transition into a Beta stage, but I ultimately decided against using these official terms to avoid confusion, since nowadays they mean different things to different people. Nevertheless the focus of development has been shifting and will shift even more. If you're interested, these are the areas that I intend to work on the most in the upcoming year or two.

Content additions


For a while the highest item on my list of new features has been to add more playable factions, and the Gnomes that came in Alpha 30 were part of that plan. There are three new factions that have a 99% chance of making it into the game, and they are:
  • Dwarves: focused on equipment and combat tactics.
  • Necromancer: summoning 'canon fodder' and researching mutation magic.
  • Adventurer guild: exploring and looting, with a smaller base-building component.
Whether a faction is added to the game or not is decided based on my ability to create rich gameplay for it, one that's meaningfully different from what already exists. For the above list this is pretty certain, and there are three more factions in my notes that are a bit more unfinished and 'risky': Dragon, Peasants, and Greenskins. I will also look through some mods to search for new, cool ideas, which I know that clever KeeperRL modders have come up with a lot of :). The other major area of content that I'm going to work on are new secrets, which I'm a very big fan of, and which I think can work really well in KeeperRL. I also need to start gathering data on how players deal with specific secrets, to make sure their difficulty is right. I haven't received much feedback on what came out in Alpha 30, and I'm very curious how people liked it, so please let me know if you have any comments :).

Quality of life improvements


For a long time players have complained about clunky combat and bad unit AI, which make battles cumbersome as you keep switching between single and full control to stop your troops from doing dumb things. I have a couple of solutions that I think should fix many of these issues, and that are simple enough to add on top of the existing, already complex user interface. The first is an explicit classification of all units into 'melee', 'ranged', and 'healer' types, which will affect their behavior in battles. The game will offer default choices for all creatures, but the player will be able to tweak them at any point to force desired behavior. Based on their defined type, a creature will attack head on or stay in the back of their group. The second improvement will be a system of explicit orders in both the real-time and in the turn-based modes, using an extended drag & drop interface. For example you'll be able to order a chosen team member to wait at a spot or to explore a given area without having to control it directly. Of course these are only some of the improvements that I plan to add, and a lot more will come based on your feedback.

Game balance


KeeperRL has never had any systematic work done on game balance, which I'm sure greatly affects gameplay. For example there are many ways to structure enemy difficulty: some allow a lot of freedom, but can also be too boring, others make the progress more rigid. The player's development curve can also be tweaked by changing the availability of resources and general difficulty. This can take the game from being mildly boring to very exciting with relatively small changes. I've been working a semi-automatic tool in the form of a mini text-based game that simulates most strategic choices in KeeperRL, and which uses real content from the game. It would give insights on the difficulty curves, and allow tweaking things without having the replay the full game dozens of times. So far my attempt didn't work out, but I'll put more work into it, as it could potentially allow huge improvements.

Modding support


Modding has been a big part of KeeperRL for the last couple of years, and there are always improvements and requested features waiting to be added, so I will definitely put more work into this area. One thing that I've been casually working on is a tool for modding randomly generated maps, which is currently not possible. It involves writing code similar to the current Effects system, which roughly defines what features an area consists of, but leaves it to the game to randomize it. You can find a preliminary version of the tool here. Since it's an external tool with its own (very simple) map display, it allows rapidly prototyping new levels without having to actually run KeeperRL and manually explore your levels. I expect to be able to use it myself to add a massive amount of new level types with relatively little work compared to the current system.

Bonus question: when will KeeperRL leave Early Access?


While we're discussing the future of KeeperRL, it seems fitting to try to answer the most common question that people ask me :). I don't have a date or even a fixed plan for releasing the full version of KeeperRL, since an open-ended style of development has suited me the most so far. Announcing a 1.0 release has a big symbolic meaning, and it's also a one time opportunity to have a lot of new eyes look at the game, so it makes sense for me to try to make it as complete as possible before taking this step. Therefore I'm very likely to continue working on KeeperRL for at least one or two more years, which is how long it might take me to work on the features listed above. In any case, a 1.0 release doesn't mean the development stops, and since the game is open-source, and the modding community is very active, you'll likely continue to see new stuff coming out for a long time after leaving Early Access.


[ 2020-08-04 13:25:47 CET ] [ Original post ]

Alpha 30 hotfix patch rolled back due to introduced bug

The Alpha 30 hotfix patch that went out a few hours ago has been rolled back due to a new critical bug that got introduced by accident. The patch will come out at a later date. If you have started a new game in this new patch, it will fail to load after the roll-back. Sorry for that!


[ 2020-06-20 17:04:07 CET ] [ Original post ]

KeeperRL Alpha30 hotfix patch is out

This patch fixes some of the most common crashes and other bugs.

  • 64-bit Windows gets a native 64-bit build to avoid hitting the memory limit of 32-bit programs.
  • Fixed the "Keeper in danger" warning in the turn-based mode.
  • Removed the limit of 30000 dug out tiles.
  • Added an option to perform operations such as loading, saving and world generation on the same thread in order to debug issues with very long saving/loading times. (Please get in touch if you experience unreasonably long saving/loading times)
  • AI Fighters with restricted movement (immobile, tied up, etc) will not be sent out in raids.
  • Fixed crash caused by a creature dying when teleported by the Audience effect.
  • Fixed crash when paying for items while blind.
  • Added diagnostics to figure out another crash.
  • Fixed some typos and building descriptions.


[ 2020-06-20 14:10:10 CET ] [ Original post ]

KeeperRL Alpha 30 is released

KeeperRL Alpha 30 is out! This is a huge gameplay and content update, which took whole six months to produce! Check out the rundown below to get an idea about all the new stuff. Id like to thank everyone involved in crash testing this patch, sending bug reports and suggestions. Your help was invaluable! If you would like to continue your saved game from Alpha 29, you can opt-in into the "Alpha 29 save compatibility" BETA branch under the game's properties in Library. Make sure to opt-out of the branch to go back to Alpha 30 when you're done!

Playable Gnomes faction



The gnomes, while not combat worthy creatures themselves, are capable of crafting mechanical contraptions that will let you dominate dungeons and battlefields. Enjoy the brand new automaton crafting mechanic!

Kill titles and kill lists



Minions will feel more unique, and less like expendable cannon fodder. The game will track their kills, and give them titles for killing tribe leaders, along with significant bonuses. The Keeper will also write poems about your minions triumphs and failures.

White knight faction additions



Thanks to the generosity of Archdiggle, the author of the Dig Realm mod, who kindly agreed for some of their sprites to be used in vanilla, the White Knight faction receives new minions and structures. The main addition is a group of angelic minions.

Secrets!



I won't put out too many spoilers, but you will be able to venture deeper into the Earth than you ever imagined. Really! (although it won't be easy)

Using multiple mods at once


The modding system has been reworked to allow turning on all your favorite mods at the same time. Go crazy!

Multi-weapon combat



Creatures will be able to attack using multiple weapons and body parts in a single turn. This includes multi-wielding weapons if one possesses the appropriate skill and number of limbs, and using extra intrinsic attacks, like poisonous bites, kicks, etc. This feature makes certain creatures, like werewolves and vampires, much more interesting and powerful.

Changelog


Gnomes


  • New mechanic involving assembling automaton minions from different body parts.
  • 4 types of corpuses: light, normal, heavy, and helicopterum. Made from wood, iron or adamantine.
  • Humanoid, fire breathing, acid spitting and archer heads.
  • Melee, drill, crafting, and repair arms.
  • No single Keeper creature, all gnomes need to be killed in order to lose the game.
  • New traps: "destroy walls" and "trap trigger".

Gameplay


  • Some enemies will be retired when they kill the player, and the player's base will be used as that enemy's lair in future games.
  • The player can choose any of the 5 existing biomes to build their base.
  • Creatures get "slayer" titles and stat bonuses for killing tribe leaders.
  • Keepers make paintings and write poems inspired by real game events.
  • Guard zone designation that minions will take turns guarding.
  • Creatures can fight with multiple weapons if they have the "multi-weapon" skill.
  • Zombies have a special "Swarmer" trait, which increases their damage and defense for every other zombie nearby.
  • Writing a poem or making a painting has a very small chance of summoning a demon.
  • Shamans and other creatures with the "shamanism" skill surround themselves by combat-worthy spirits.
  • Keepers abuse their minions to make them work faster.
  • Hostility between creatures of the same tribe times out after 50 turns.
  • Vampires will sometimes regenerate lost or injured body parts after biting an enemy.
  • Minions eat at dining tables instead of killing pigs directly.
  • Certain creatures and weapons get special attack and defense bonuses based on the enemy's race, being indoors, only at night, etc.
  • Bandits are less aggressive and the minimum gold amount that triggers them is increased.
  • Insane minions with the absorption skill are still allowed to absorb.
  • Non-prisoner workers can be assigned quarters.
  • Ranged damage is taken into account when evaluating how dangerous a creature is.
  • Prisoners go back to prison when idle.
  • Removed peacefulness and invisibility permanent effects from altar destruction.
  • Minions can create moonshine from rats and get drunk.
  • Creatures made of fire emit light.
  • Added amulets of life saving.
  • Brainless creatures don't have morale.
  • Undead get brains.
  • Friendly creatures don't get angry if attacked by an effect that doesn't hurt them (for example by fire if fire resistant).
  • Discovered allies that auto-join don't use up population slots.
  • Traveling to other maps is not prevented if enemies are fleeing from the player.
  • The game considers an enemy conquered by the player only if he/she killed at least one creature from that enemy.
  • Added "Fire trap" spell used by red dragons and other creatures.
  • A spying creature's identity is uncovered if items are looted.
  • An allied tribe will get angry if items are stolen.
  • Some villains, like ants and dwarves will only defend their mineral patches instead of attacking the player, if their minerals are breached.
  • Dwarves receive an "unstable" status, which can cause them to become insane if they witness the death of an ally.
  • Travel to other maps is not possible when carrying unpaid items.

Content


  • New "Hell" hidden dungeon of end-game difficulty with new enemies, special items and other surprises.
  • "Black market" hidden level with special equipment.
  • "Adoxie Vault" special level.
  • New minions of the "less evil" Keeper: angels, galeams, cherubs, cleric, artisan, and recruitable Teutonic Knights.
  • Blacksmith location with an artisan of legendary crafting skills.
  • The Dwarf Baron enemy contains a blacksmith of legendary crafting skills.
  • Wizard tower location.
  • Ghost ruins are less common.
  • Added random corpses with loot on some maps.
  • "Animate weapons" spell added to some enemies.
  • Scrolls of Audience, which work similarly to sitting on thrones.
  • Added stone bridges, wooden bridges now burn if placed on lava.
  • Added an "Ice demon" minion.
  • Added a "weaker" dwarf creature that replaces the dwarf fighter everywhere except in the Dwarf Baron settlement.
  • Added a yellow dragon enemy with an acid attack.
  • Added Naga creatures of various colors and abilities.
  • Removed insane orc healer immigrant.
  • Added flowers to ground levels.
  • Added trees to the arctic biome.

Modding


  • Loading multiple mods at the same time is now possible.
  • All graphics in the game can be reloaded by pressing F8 while playing.
  • The size of the campaign map and enemy limits can be increased in mods.
  • Creature inventories are moved to creatures.txt.
  • Allowed defining custom biomes.
  • Allowed defining custom workshops.
  • Allowed defining custom resources.
  • Enemy dungeons may have branches.
  • Mods are moved to the "mods" folder.
  • Existing mod or vanilla game elements can be modified or appended to.
  • New Effects: TakeItems, RemoveFurniture, ChainUntilFail, AddMinionTrait, ChooseRandom, FirstSuccessful, IncreaseSkill, IncreaseWorkshopSkill, Psychiatry, AIBelowHealth, Name, Description, FixedDamage, ColorVariant, Audience, GrantAbility, TriggerTrap.
  • DestroyWalls effect can work with Area and directional spells.
  • Filter Effect for applying effects conditionally: depending on creatures's health, enemy/allied status, body material, being hidden, being a prisoner/civilian, being an automaton, being indoors/outdoors, at night/day, creature's race, holding a special item, checking for global game flags, and more.
  • Stairs can have custom effects, including Filter, which lets you require certain things before a creature can pass through.
  • Custom Effect triggered when chatting with a creature.
  • Custom Effect for creature's death.
  • Custom Effect for furniture "entry".
  • Custom Effect for furniture "tick".
  • Custom Effect for furniture usage.
  • Summon and SummonEnemy effects have a tweak-able timer for creature to disappear.
  • World generation can be tested by running "keeper.exe --worldgen_test" in command line.
  • Overriding endless enemies or specifying custom enemies per keeper is possible.
  • Can define separate orders for digging and cutting trees.
  • Immigrant special traits can include timed LastingEffects.
  • Added "gold" body material.
  • Enemy dungeons can have custom level names.

UI


  • Activities can be disabled for an entire minion group.
  • A list of kills can be inspected for every minion.
  • When a sprite file is not found, the game will render a random sprite, instead of crashing.
  • Poison gas gets a nice particle effect animation.
  • When dragging creatures, their shortest path to the target is displayed.
  • Whole creature groups can be dragged from the menu to workshops and other furniture.
  • Constructions and workshop items that can't be afforded are colored red.
  • New Keeperopedia UI with bestiary, items and spells.
  • New "keeper in danger" warning UI with options to disable or turn off auto-pause.
  • The "keeper in danger" pop-up only warns about recent wounds.
  • New glyph sprites.
  • New trap sprites.
  • Potion sprites have different colors depending on the potion's effect.
  • Company logo splash screen while the game is starting.
  • Game initialization takes place during the loading screen to avoid lag when game begins.
  • Added commas to spell school list in minion menu.
  • Forbidden zone is rendered on top of objects if it otherwise wouldn't have been visible beneath.
  • Moved the [new team] button to above the team list.
  • Time interval between autosaves can be changed.
  • Added a mini-menu for scrolling directly to chosen z-level.
  • Current z-level depth is shown in control mode.
  • Removed "visible enemies" and some mostly unused settings from the minions tab.
  • Minion menu shows body description and intrinsic attacks.
  • Mod descriptions can be scrolled in mod menu.
  • The game asks if you want to start with a tutorial the first time you play.
  • Added "cancel" buttons to mod and dungeon downloading progress bars.

Fixes


  • Massive reduction in RAM usage.
  • Optimized particle effects animations.
  • Building bridges on z-levels is now possible without having first to descend manually.
  • Fixed bug involving inability to place structures in some visible areas.
  • Fixed mixing messages from different games in message boards.
  • Fixed music playback restarting on some computers.
  • Fixed wrong cursor position glitch in full screen.
  • Ranged attacks don't abuse the "parry" ability.
  • Illusions are ignored when AI forms formations.
  • Fixed endless enemies saving issue which led to attacks being cancelled after saving and loading.
  • Reduced VRAM usage by sprites loaded in mods.
  • Wishing for Suicide, stunned, summoned, invulnerable and "turned off" effects is disabled.
  • Increased cool down of "ice cone" to avoid infinite freezing loop.
  • Removed sprite limit per mod.
  • Fixed a rare crash when the wish spell is granted by a piece of equipment.
  • Traveling by bumping into the level border is only allowed on the ground level.
  • Fixed UI crash when alt-tabbing out of full screen.
  • Fixed a rare crash in graphics likely caused by changed system clock.
  • Fixed issue with rebuilding triggered traps.
  • Fixed crash in direction choice UI.
  • Made it impossible to place a trap on up stairs after claiming the tile.
  • Items that are already in storage can't be pillaged.
  • The "Zoom in UI" is available only if resolution is 1600x1200 or higher.
  • Fixed crash when trying to teleport outside of map bounds.


[ 2020-06-03 16:00:56 CET ] [ Original post ]

Alpha 30 available for testing on Mac and Linux

The unofficial Alpha 30 build is now available for Mac and Linux! I would greatly appreciate if Mac and Linux players could confirm that this patch works, as I've updated my release toolchains, and there might be small issues that need fixing. Note: this build is still unstable and the tutorial doesn't work, so if you're a new player it's better to stay on the official Alpha 29 for now. To opt into the build, please go into the game's properties, BETA tab, and choose the "dev" branch.


[ 2020-05-20 14:29:04 CET ] [ Original post ]

KeeperRL Alpha 30 is available for testing (Windows only)

An unofficial Alpha 30 build is out on the BETA branch. Check it out if you're an experienced player and want an early glimpse of all the new stuff! Note: this build is available on only Windows for now. Please post your feedback in this thread or in the comments below. Please don't opt in if you are new to the game, as this build is very unstable, and the tutorial doesn't work at the moment. To opt into the build, please go into the game's properties, BETA tab, and choose the "dev" branch.


[ 2020-05-08 12:12:19 CET ] [ Original post ]

FREE quarantine Alpha 29 download!

Being stuck in self-isolation myself, I decided to release a free download of the Alpha 29 patch, to hopefully sweeten everyone's time a bit! This is the most recent version of the game. Some strings attached:

  • This is only a direct download of Alpha 29, you won't own the game on Steam or anywhere else. You will have to buy the game if you're interested in playing future versions.
  • Due to a technical issue, online mod and dungeon sharing capability is limited.
Download KeeperRL Alpha 29 here Have fun and take care!


[ 2020-03-17 05:25:00 CET ] [ Original post ]

New content and gameplay coming in Alpha 30

After releasing the last Alpha 29 fixes I've been very busy with adding new, shiny features to your favorite game! In order to keep you excited for KeeperRL Alpha 30, here is a quick rundown of what's coming.

Playable Gnomes faction



Almost all mods add new playable factions to the game, so it's obvious that this is something that players crave. At the same time I want to make sure that new factions offer significant new gameplay experience, and aren't just reskins of existing mechanics. The new Gnomes faction will do exactly this! Being expert craftsmen by nature, gnomes dominate by constructing automatons, advanced traps, and other machinery. Automatons are assembled from basic parts, and every configuration offers different capabilities. You can create your own custom builds! Another thing that's unique about this faction is that there is no unique Keeper creature. The success of you base will depend on keeping any of the gnomes alive.

Minion titles and kill lists



I've set out to make minions feel more personal, and less like expendable cannon fodder. The game will track their kills, and give them titles for killing tribe leaders, along with significant bonuses. The Keeper will also write poems about your minions' triumphs and failures.

Group activity disabling



One of the oldest feature request was to allow disabling chosen activities for larger groups of minions. This is now possible!

White Knight faction additions



Thanks to the generosity of Archdiggle, the author of the Dig Realm mod, who kindly agreed for some of their sprites to be used in vanilla, the White Knight faction receives new minions and structures. The main addition is a group of angelic minions.

Mod merging


I've implemented further improvements to the modding system, and now one or more mods can be merged together. This means two things:
  • Modders no longer need to copy the entire vanilla content to add their changes. Every mod consist of only what it changes or adds, even if it's a single line.
  • Multiple mods can be used at the same time!

Custom map layouts



Modders can now circumvent the built-in procedural town generator and use their pre-made map layouts. The towns 'skins' (wall, floor, furniture types, etc) and defined separately, which lets you easily generate a lot of different-looking towns.

New spells and traps




New types of effects will arrive in Alpha 30: a spell that animates weapons, a trap (or spell) that sets off other traps in its vicinity, an effect which covers you in oil (and makes you flammable), and others.

Multi-weapon combat



Creatures will be able to attack with multiple weapons and body parts in a single turn. This includes multi-wielding weapons if one possesses the appropriate skill and number of limbs, and using extra intrinsic attacks, like poisonous bites, kicks, etc. This feature makes certain creatures, like werewolves and vampires, much more interesting and powerful.

Secrets


I'm not going to spoil you with details, but in the future KeeperRL will have an 'ultra' ending, which will requires finding secrets and beating special areas and bosses.. Alpha 30 will include some new, hidden levels that are part of this. I'm curious to see how quickly you can find them!

Making Zombies Great Again!


Last but not least, zombies will receive their long due power-up! They will possess a 'swarmer' trait, which makes them more powerful when more zombies are around. Therefore a large horde of zombies will be extremely dangerous!


[ 2020-01-10 05:33:07 CET ] [ Original post ]

KeeperRL Alpha 29 hotfix 3 released

This patch fixes most of the remaining crashes in Alpha 29 and improves end-game performance by a large margin.

  • Creatures that have archery training potential can wield ranged weapons, even if they're ranged damage attribute is 0.
  • Stopped AI from casting offensive spells on captured enemies.
  • Fixed issue with tooltip covering item pop-up menu in the workshops menu.
  • 'Stones' terrain feature can be removed with the "remove construction" order.
  • Fixed construction debt inconsistency which caused crashes.
  • Fixed crash caused by an item cloned by the double trouble spell disappearing while being equipped.
  • Fixed a rare (and old!) task handling crash caused by a poor RNG generating task ids that weren't unique.
  • Fixed a crash when there are no more healthy body parts left to severe.
  • 'Other' items in minion's possession are stacked to stop the UI from potentially trying to render thousands of items.
  • Fixed bookcase ascii symbol.
  • Optimized spell casting AI.
  • Optimized imp/worker task processing, including the scenario when a huge number of 'dig' orders are placed.
  • Optimized general creature handling.


[ 2019-12-09 01:51:43 CET ] [ Original post ]

KeeperRL Alpha 29 hotfix 2 released

This patch fixes a critical issue with downloading Steam Workshop items that caused the game to crash. Opening in-game links on Mac has also been fixed. Using the opportunity I put some pumpkins in the game too.


[ 2019-10-30 00:38:12 CET ] [ Original post ]

KeeperRL Alpha 29 hotfix 1 released

This is a bug fixing patch that gets rid of the most common issues in Alpha 29.

  • Fixed the behavior of totems in retired dungeons and the crash that happened when they were destroyed.
  • Fixed a crash involving casting the firewall spell outside of map bounds, most common on the Adoxie level.
  • The game doesn't crash if a mod contains an improperly defined ranged weapon and reports an error instead.
  • Fixed a world generation crash caused by a mod giving a creature equipment that it can't equip due to missing body parts.
  • Fixed a world generation crash involving placing creatures in unreachable positions.


[ 2019-10-22 03:25:51 CET ] [ Original post ]

KeeperRL Alpha 29 is released!

KeeperRL Alpha 29 is out! This update features Steam Workshop integration along with gameplay improvements and a big amount of new content, including two new biomes! Id like to thank everyone involved in crash testing this patch, sending bug reports and suggestions. Your help was invaluable! Scroll down for a detailed change log.
If you would like to continue your saved game from Alpha 28, you can opt-in into the "Alpha 28 save compatibility" BETA branch under the game's properties in Library. Make sure to opt-out of the branch to go back to Alpha 29 when you're done!

Gameplay


  • Mods and retired dungeons are shared on Steam Workshop.
  • Contagious plague effect.
  • Z-level enemies can attack upon being discovered.
  • Enemy aggression can be tweaked in settings.
  • Spying effect, which allows infiltrating enemy territory.
  • Equipped shield prevents equipping bows and two-handed weapons.
  • New parry attribute, which prevents de-buffs when surrounded by enemies.
  • Temporarily insane creatures wont make allies hostile forever.
  • All consumable items are automatically picked up by minions.
  • Creatures with 0 ranged damage cant equip bows.
  • Poetry writing.
  • Creatures cant cast spells at enemies that they cant see.
  • Bodies of water can become bloody after a large battle.
  • Items can have randomized modifiers.
  • Walking into the map border opens the travel menu.
  • Other furniture can be built on top of prison floor.

    Content


  • Special item ingredients: hydra tongue, cyclops brain, dragon scales, and more.
  • Iron and adamantine shields.
  • Wizard hats aka Cornuthaums.
  • Underground treeshrooms for players who always run out of wood.
  • Desert biome with thieves castle and a djinn in a dungeon.
  • Snow biome with Eskimos and a white dragon.
  • Totems that have a permanent area effect: healing, blindness, bleeding.
  • Evil God Adoxie is in vanilla game with his own secret level!
  • Double trouble unique ability.
  • Black rats infected with plague z-level.
  • Group healing spell affects only allies.

    Modding


  • Items are moddable.
  • BuildingInfo is moddable.
  • Z-level width is moddable.
  • Items can grant a custom ability.
  • Creature first names are moddable.
  • More than 10 keeper/adventurer avatars are allowed
  • Game doesnt crash when mod specifies skill level outside of [0;1] range.
  • New effect types: Chance, Message, Enhance, Wish, Filter, Ice, IMMOBILE, FROZEN, COLD_RESISTANCE
  • Creatures can drop custom items (body parts).

    UI


  • Improved mod menu.
  • Added locate button to minion page.
  • Rectangle selection on the map shows rectangle dimensions.
  • Uploaded dungeons include a screenshot of an area chosen by the dungeons author.
  • Main menu and loading bar visual changes.
  • Added warning when online features are disabled and trying to download maps/mods.
  • Main menu can display personal messages from the developer.
  • Added item effect description to items tooltip.
  • Added some handy links to the main menu.
  • Return key closes text windows.

    Fixes


  • Gameplay loop optimizations.
  • Fixed spell schools of legendary humanoids.
  • Limited immigrant spawning to the ground level if possible.
  • Fixed issue with placing the smaller castle in bad position on the map.
  • Fixed rare crash when removing nonexistent team member in control mode.
  • Added diagnostics for a rare fire wall processing crash.
  • Fixed crash when using PlaceMinion order and creature cant be placed at position.
  • Fixed scrolling to the end of message history window.
  • Fixed crash when multiple special attack effects kill a creature.
  • Fixed friendly fire issue when casting ranged spells.
  • Fixed issue with first name input field in the keeper menu.
  • Fixed verification of ViewIds in mods.
  • AI wont throw items other than potion for their effect.
  • Flying over pits is possible.
  • Forbidden zone doesnt block spells.
  • Fixed AI throwing logic.
  • Fixed special intrinsic attacks of some creatures.


    [ 2019-10-15 04:21:07 CET ] [ Original post ]

  • KeeperRL Alpha 29 is available for testing

    An unofficial Alpha 29 build is out on the BETA branch. Check it out if you're an experienced player and want an early glimpse of all the new stuff! Please post your feedback in this thread or in the comments below. Please don't opt in if you are new to the game, as this build is very unstable, and the tutorial doesn't work at the moment. To opt into the build, please go into the game's properties, BETA tab, and choose the "dev" branch.


    [ 2019-10-01 00:50:29 CET ] [ Original post ]

    New content in KeeperRL Alpha 29

    Besides Steam Workshop support, Alpha 29 is going to bring a large amount of new content and mechanics for your enjoyment!

    New biomes



    KeeperRL will receive two new enemies with their own biomes and even dedicated soundtracks! They are: thieves in the desert, and a white dragon in an arctic setting. Both environments come with new mechanics and some juicy surprises! You can't build in different biomes yet, but it's something that will definitely happen at some point.

    Totems



    Totems are structures that place a certain buff or debuff on all friendly or hostile creatures in a given radius. The player has a healing totem available to build, and some locations feature other totems, like bleeding or blindness. They will mix up the combat mechanics in the game quite a bit. This is a feature that was suggested by player Amaze, if I'm not mistaken. Thanks!

    Special item ingredients



    Some (mostly major) enemies will drop body parts that can be used as ingredients to craft special items. This is in line with my efforts to give the player more rewards for exploration. Some of these crafted items will be very interesting :). The mechanic is fully moddable, of course.

    Freezing mechanics



    Along the new arctic biome and the white dragon enemy comes the effect of freezing, which interacts with water and other creatures. The reverse is also true - you can melt snowmen and igloos using fireballs :)

    Spying



    Originally intended for a new type of demon, this skill allows you to infiltrate the enemy lines. Great for gathering intel or stealing stuff! It's not clear to me yet whether it will be activated by a ring or by some other means, and I have to make sure it can't be used to evade attacking enemies forever as the Keeper.

    Shields and the parry mechanic


    Shields have been present in the game for a few updates, but they needed an overhaul. Thanks to some helpful input from players, I've added a new combat mechanic that makes them more relevant. If a creature is attacked multiple times within one turn, its defense stat gets a penalty for each attack. This makes it easier to take down very strong enemies if you have a large team of average creatures. Shields counteract this effect, for example an adamantine shield will let you take on four enemies at once before your defense is lowered.

    Plague effect



    Plague is a similar effect to poison, but it won't kill most creatures (and some are totally immune). It's also highly contagious. Have fun with it :).

    Enemy aggression setting



    You can now switch between three enemy aggression levels, with the lowest one completely turning off enemy attacks. The medium level will keep the normal aggression, and the extreme level will cause every active enemy to attack within a few thousand turns, provided that their population is high enough.


    [ 2019-09-03 04:46:24 CET ] [ Original post ]

    KeeperRL will feature Steam Workshop integration in the next update!

    The last few KeeperRL patches improved modding support to the point where you can change or replace the majority of the games content. Im very happy that a few hardcore fans jumped at the opportunity and published some really cool things, and the most popular mod is played nearly as much as the vanilla game! The game features a very simple interface for downloading mods, but a far better framework made for mod sharing is the Steam Workshop, which supports commenting, ranking, subscribing, searching and all the other things necessary for a great sharing experience. And thus I brought the coding guru Krzysiek onboard again, to integrate it into KeeperRL. Once at it, we also plan to support sharing of retired maps through the Steam Workshop. I hope to release a testing build integrated with Steam Workshop in late August/early September, so we can work with mod creators and players to make sure the experience of content exchange is as perfect as possible. For players that dont use Steam, all content will also be hosted on the keeperrl.com server, as usual, but without the extra functionality that Steam Workshop supports. I feel bad about creating this inequality, but since more than 95% of players play on Steam, it would be a mistake not to make use of the extra free features that it provides.


    [ 2019-08-08 01:33:26 CET ] [ Original post ]

    KeeperRL Alpha 28 hotfix 1 is out

    This is a bug fixing patch that gets rid of some common issues found in Alpha 28. Please note that the first three items take effect only in newly started games.

    • Fixed dark elf ally recruitment.
    • Removed temples from the home map (priest was too dangerous).
    • Fixed ghost spawning in ruins.
    • Fixed issue with removing some tree trunks.
    • Fixed flickering immigrant button glitch.
    • Fixed a crash caused by non-humanoid creatures trying to drop items.
    • Fixed a typo in the gloves item plural name and one in the build menu.
    • Vanilla mod files were converted to DOS line endings.


    [ 2019-07-04 05:40:52 CET ] [ Original post ]

    KeeperRL Alpha 28 is released!

    KeeperRL Alpha 28 is out! This update focuses on modding support, and also features new content and many quality-of-life improvements. At this point most of KeeperRL's content has been exported to data files and can be modded. Mods can be shared at keeperrl.com and downloaded directly from the game! A few veteran players have already published a mod with massive amounts of new content. I'd like to thank everyone involved in crash testing this patch, sending bug reports and suggestions. Your help was invaluable! Scroll down for a detailed change log.
    If you would like to continue your saved game from Alpha 27, you can opt-in into the "Alpha 27 save compatibility" BETA branch under the game's properties in Library. Make sure to opt-out of the branch to go back to Alpha 28 when you're done!

    Gameplay


    • Merged "campaign", "free play" and "endless" modes. Endless enemy waves can be set to attack after winning the game or from the start.
    • Improved the spell system, with multiple spell schools and many added spells.
    • Demon rituals are now performed by regular minions in order to attract demons and to heal them.
    • Improved AI for spell casting and potion throwing.
    • Spirit/ghost creatures have a separate health type, called materialization, with dedicated health potions and can be healed using demon rituals.
    • Healer team member AI does a better job at not engaging in fights.
    • Added rare spawning of the village guardian aka "witchman".

    Content


    • Black dragon enemy.
    • Gates/double doors.
    • Fire trap.
    • Orc healer minion
    • Orc shaman renamed to orc mage.
    • Battle mage and fire mage minions for the White Keeper.
    • Fighter abilities: "swap positions" and "shove".
    • Reworked "summon spirit" spell of the shaman and unicorns to summon ghosts of actual creatures.
    • Healing and Heal other spells have been merged into a single spell with two upgrades.
    • Group healing spell.
    • Cure blindness spell.
    • Magic missile spell upgrades.
    • Teleport spell.
    • Pacify spell.
    • Magic cancellation spell and effect, preventing another creature from casting spells.
    • Pull spell.
    • Firewall spell.
    • Magical damage ring, which transforms melee damage of a creature into magical damage during a fight.

    Modding


    • Added a new mod menu that allows downloading mods from the server.
    • Added support for adding new sprites in mods.
    • Campaign and endless enemies are now moddable.
    • All furniture, traps and other constructions are moddable.
    • Better support for creative or "cheating" modes: placing minions, and items, and immediate digging in the building menu.
    • Improved reporting errors in mods.
    • Retired dungeons contain information on which mods are required to load them.
    • Some sprites, such as all of the keeper sprites, support color variants without having to modify the sprite itself.
    • Added support for "magical floors" that cause a "LastingEffect" on the creature standing on them.

    UI


    • Added a search box and other improvements to the list of retired dungeons.
    • Improved player name entry text field.

    Fixes


    • Multiple optimizations for larger dungeons.
    • Online highscores are not downloaded anymore at the start of the game to improve startup time.
    • Made White Keeper animals visible in minions tab and obey quarters.
    • Fixed splitting team if undead team members can't travel due to daylight.
    • Fixed a bug that caused traveling team members to be transferred back to base randomly.
    • Fixed base retirement crashes.
    • Fixed showing gender names in character menu.
    • Fixed issue with increasing adventurer training levels beyond limits.
    • Fixed gas emitting in poison gas trap.


    [ 2019-06-26 03:06:56 CET ] [ Original post ]

    Alpha 28 is available for testing

    I've uploaded a pre-release build of Alpha 28 for all three platforms. I invite all seasoned players to take a look and post their feedback in this thread or in the comments below. Please don't opt in if you are new to the game, as this build is very unstable, and the tutorial doesn't work at the moment. To opt-in into the build, please go into the game's properties, BETA tab, and choose the "dev" branch.


    [ 2019-06-05 05:10:33 CET ] [ Original post ]

    New stuff coming in Alpha 28

    It's been almost two months since the last patch came out, and during that time I've been working full time on bringing you Alpha 28. At this point I'm done with adding major new features, and will work on finishing everything up and turning it into something that can be released. Here's a rundown of what you can expect. Tighten your seat belts!

    • New, fully modable, spells and spell schools. You can add new spells using the same effect system that is used for potions, special weapons, etc. Spells are grouped together into spell schools, and every creature can have a custom set of schools that they study in the library. Alpha 28 will likely feature the following spell schools to start with: evocation, shaman, healing, fire, illusion, and possibly necromancy. In addition, the same system is used to give abilities to fighter classes, such as shoving, swapping positions, intimidation, etc. I've also added more effects, for example custom area effects, fire, and teleportation.


    • New, general spell/effect AI, which works with custom effects. For example, knowing that blindness is a good offensive effect, it will try to cast any spell or throw any potion that causes it at an enemy. If a mod adds an area blindness spell, for whatever reason, the AI will try to cast it in such a way that only enemies are harmed by it. Similarly, area healing would only be cast at wounded allies. My aim is that the AI knows how to use most effects in the game, even ones added in mods.
    • Furniture modding. This includes all static objects that are found on maps or can be built in dungeons. I was able to add double-tile gates using just mods, so it works pretty well. I also added the possibility of adding custom effects to floors, eg. floor of magic cancellation or insanity (every creature that stands on the floor gets the effect). The result is a bit crazy and OP, but I'm sure modders will find some good use for them. You can also add new traps.
    • Custom sprites. Finally you can add your own sprites to the game! They can be used for both furniture and creatures. I've also added custom color variants for existing sprites, which lets you recolor them without having to edit the sprites themselves.


    • Modding has caused some issues with the dungeon retiring system, but I've made it so that any mods that don't add new sprites are contained in the dungeon file itself, so the only time you need to share your mod is when you've added custom sprites. The retired dungeons list will warn about requiring mods to load a dungeon. In the future mod sharing will be built into the game, so you won't have to worry about all of this.
    • Some of the current game modes will be merged. I noticed that very few players play the free play and endless modes, admittedly because they are pretty hidden in the menus. This is very bad, because sharing retired dungeons is a major feature of KeeperRL. Because of this, I will merge the main campaign mode with free play and endless modes, and this will become the main mode that everyone will play. I also want to improve the experience of downloading retired dungeons by adding ratings and better search. This may be added in later patches though.


    [ 2019-05-21 02:37:39 CET ] [ Original post ]

    KeeperRL Alpha 27 is released!

    KeeperRL Alpha 27 is out! This is another big gameplay update, introducing many improvements in playability and AI. You can now build your dungeons across multiple Z-levels, and digging downwards gives you access to extra resources, enemies and other surprises. Check below for the full change log. I'd like to thank everyone involved in crash testing this patch, sending bug reports and suggestions. Your help was invaluable!
    If you would like to continue your saved game from Alpha 26, you can opt-in into the "Alpha 26 save compatibility" BETA branch under the game's properties in Library. Make sure to opt-out of the branch to go back to Alpha 27 when you're done!

    Gameplay


    • Z-levels!
    • Items can be upgraded using glyphs.
    • New random location: temples.
    • New random location: ruins.
    • Dragon AI learns how to breathe fire.
    • Added leisure zone, where minions go when idle.
    • Throwing items, firing ranged weapons and casting ranged spells have free instead of directional aim.
    • AI tries to create formations when fighting in open areas.
    • Healers and archer AI try to avoid melee combat.
    • Healers make more effort to heal wounded allies.
    • Tree spirits can be set on fire, and will actively seek out water to put it out.
    • Added "entertainer" and "bad breath" immigrant traits, which influence minion morale.
    • Increased spell and ranged max training of adventurers.
    • Traveling between sites is restricted during combat and when poisoned.
    • Creature AI knows how to use all resistance and vulnerability potions. (quaffing and throwing)
    • Insane minions of retired keepers won't be used in raids.
    • Minions won't go to sleep if they're poisoned.
    • Added healing starting spell to white knight keepers.
    • Creatures teleported by the throne get woken up.
    • Insane minions won't attack the keeper.
    • Insane immigrants get much higher damage bonuses.
    • Knights, dragons and dwarves in the main dwarf villain are much stronger.
    • Legendary minions are much stronger.
    • Added rat people
    • Adamantium golems are removed from the top level and exist only deep underground.
    • Prisoners are no longer granted poison resistance.
    • Combat experience bonus is reduced to the current level of given training type instead of the max level.
    • Lizardmen are hostile to lawful adventurers.
    • Added a basic wooden shield.
    • AI won't enter tiles adjacent to fire when pathfinding to avoid fire damage.
    • Corpses decrease morale instead of emitting poison gas.
    • Switching between real-time and turn-based modes doesn't advance the game clock.
    • Minions with night vision won't equip torches.
    • Immigrants can come with extra wings or heads, the latter allowing equipping multiple helmets and amulets.
    • Hydra has 7 heads which need to be cut off to kill it.
    • The demon villain top level is a ruined castle.
    • AI will try to go indoors at night.

    Mods


    • Mods can be switched in settings.
    • Mineral patch numbers can be modded (per given z-level depth).
    • Creatures and their inventories can be modded. New creatures can be added and used in immigration and as player characters.
    • NegateRequirement immigrant requirement which lets you require that a requirement is not fulfilled.

    Interface


    • Improved character creation menu.
    • Darkness and night is rendered directly on sprites to avoid ugly graphical glitches with lighting.
    • When the player is killed, the notification is displayed below the center of the map so it doesn't obscure the view of what happened.
    • Improved button visuals.
    • Improved the lava animation.
    • Added succubi lovemaking animation.
    • Direct spell attacks have a magic animation.
    • Immigrant legendary crafting skill is displayed explicitly.

    Fixes


    • Multiple optimizations.
    • Reduced RAM usage per level, to accommodate Z-levels.
    • Fixed worker AI getting stuck when idle.
    • Control mode sidebar scrolling includes team member list. Fix
    • Fixed eating task AI to not get stuck.
    • Increased server connection timeouts.
    • Fixed doppelganger consumption menu.
    • Fixed issues with clicking on the game speed dialog.
    • Keeper level button is not highlighted if there is nothing more to research
    • Fixed bug in calculating visibility which showed itself in wrongly lit tiles after a forest fire.
    • Fixed spell icon tooltips in control mode.
    • Fixed AI crash when killing enemy using a projectile.
    • Fixed a bug where a minion paces back and forth between two pigsties.
    • Fixed UI buttons accuracy.
    • Fixed AI issue with workers trying to drop items on inaccessible storage tiles.
    • Fixed giant spider AI.
    • Equipment storage located outside of territory is taken into account when assigning items.
    • Goats are not treated as food.


    [ 2019-03-27 05:05:53 CET ] [ Original post ]

    Alpha 27 is available for testing!

    I've uploaded a pre-release build of Alpha 27 for all three platforms. I invite all seasoned players to take a look and post their feedback in this thread or in the comments below. Please don't opt in if you are new to the game, as this build is very unstable, and the tutorial doesn't work at the moment. To opt-in into the build, please go into the game's properties, BETA tab, and choose the "dev" branch.


    [ 2019-03-05 05:57:22 CET ] [ Original post ]

    Summary of development in February

    The past month saw a big number of small improvements added to KeeperRL. Below is a brief rundown. Z-level variations Implementing Z-levels doesnt end with simply adding a Z-axis, the levels themselves need to have some interesting content. Besides the obvious mineral veins, youll find enemies, whole settlements and sometimes even special levels. For example, you may encounter the following situation after digging down:
    Temples and ruins Ive added new locations that are scattered around the maps randomly. They have some interesting interactions, but I wont spoil them for you. I realized that this is something that KeeperRL is missing very much, so Ill be adding many more in the future. Including bigger, multi-level ones.
    Crafting upgrades In one of the recent updates Ive added the ability to craft magical equipment, but the system was very basic it was totally random and the types of items were predefined. With this change youll be able to craft unique items by combining multiple upgrades. These upgrades can be found in the form of glyphs while exploring the world.
    Modding In Alpha 27 youll be able to modify and add new creatures to the game. They can be used for keeper and adventurer characters or as immigrants. For now its not possible to add new creatures to world generation (although you can modify existing ones), and you also have to reuse existing sprites. Ill work on these two things in the next update. Ive also made it possible to switch between mods in the games settings, and they can be simply placed as subdirectories in data_free\game_config. Im planning to release a testing build on Steam some time next week, so stay tuned!


    [ 2019-03-01 04:55:02 CET ] [ Original post ]

    Z-levels and other new goodies coming in Alpha 27

    Ive been back to work in the last few weeks, after a longer-than-usual Christmas and New Years break, and Id like to share all the cool stuff that I worked on! Z-levels, which essentially mean building your dungeon over multiple floors, are probably the most requested feature in KeeperRL of all time. Ive been resisting them mostly due to lack of a good vision on how they would work with the rest of the game. They obviously increase dungeon building possibilities, but also make the game more complex. KeeperRL already features a decently sized world to explore horizontally, so how would vertical expansion complement it? I gave it some more consideration recently, and realized that Z-levels could solve a lot of the mining progression problems:

    • Its easy to place guarding enemies on a subterranean level, and the player will easily understand that these enemies will attack if you mine there. No more confusion why you got attacked by ants or adamantine golems.
    • Its common sense that enemies get more difficult as you dig deeper and deeper, and you cant accidentally engage an enemy thats way too strong for you.
    • New Z-levels can be added as you dig, which means an unlimited supply of minerals, at the cost of having to fight stronger and stronger enemies.
    The great thing about KeeperRLs source code architecture is that it has supported multiple levels since the very beginning, just that your dungeon could only be built on one level. A basic implementation that allowed multiple-level dungeons took me only a few hours!
    After all that, there has to be bad news of course, and its that there are some limitations. First of all, right now, the game only supports up to one staircase between two levels. This is limited by the current pathfinding algorithm. Secondly, due to memory usage, the subterranean levels will be significantly smaller than the ground level. These are not set in stone, of course, so depending on your feedback, I can work on removing these limitations in future updates. There were also other, smaller features that I worked on. Ive committed to advancing the AI in this update, and the first improvement is that creatures will try to organize, and attack enemies in formations to avoid being picked out one-by-one. Healers will attempt to stay in the second line and tend the wounded.
    To further improve combat tactics, I replaced 8-directional aiming with free aiming, so you can fire missiles and cast spells at anyone, as long as nothing is in the way. This should make archers and spell-casters more relevant in open area battles, especially when theyre controlled by AI. Elves are going to be very deadly! (and the interface is also prettier and more clear)
    I dont have any plans or promises for you yet as to when Alpha 27 will be out, and if you are interested in hearing more about day-to-day development, I invite you to join the official discord server, where Im very happy to talk to players and share updates almost every day.


    [ 2019-01-22 03:03:18 CET ] [ Original post ]

    Alpha 26 hotfix 1 released

    This update fixes a few issues and crashes, including a video driver issue that stopped a few players from running the game. There is one crash that I'm still investigating involving pathfinding - you may see the error "couldn't track path" or such. If you have a game that ends with this crash repeatedly, please use the bug reporting button to send it to me. Any information leading to the smashing of this bug will be rewarded.

    • Fixed issues with loading OpenGL functions on some systems.
    • (Probably) fixed issue with corrupted water animation.
    • Fixed issue with goats getting killed for food.
    • Allowed adding special traits to keepers in game configuration files.
    • Disallowed building graves outside due to issues with undead spawning.
    • Fixed various issues with immigrants in the tutorial.
    • Endless mode enemies are made hostile to white knight keeper.
    • Fixed UI crash involving minion equipment handling.
    • Fixed UI crash when workshop item's price is 0.
    • Fixed crash involving giant spider minion.
    • Building overlay menu is wider.


    [ 2018-12-09 11:32:33 CET ] [ Original post ]

    KeeperRL Alpha 26 is released!

    KeeperRL Alpha 26 is out today. This is a big content update with new game mechanics, basic modding support, and if that's not enough, it also introduces dozens of new animations and special effects! This update allows you to construct buildings outside of the dungeon. You can choose to dwell in a castle if you're not a fan of caves. There is also a new Keeper character, the White Knight, with a new set of minions and enemies. He/she is similar to the Duke nemesis found in the campaign. If you would like to continue your saved game from Alpha 25, you can opt-in into the "Alpha 25 save compatibility" BETA branch under the game's properties in Library. Make sure to opt-out of the branch to go back to Alpha 26 when you're done!
    The full change log: Gameplay

    • White Knight keeper.
    • Outside buildings.
    • Basic modding support. Check out already existing mods here.
    • Dungeon leveling system, which replaces mana.
    • Red dragons breathe fire like they ought to
    • New luxury system based on furniture luxury meter, which replaces the previous tile efficiency system.
    • Undead sleep in (upgradable) coffins, and graves are only used to store corpses.
    • Fine and luxurious bed upgrades.
    • Added mummy minion. Starts slow and week, but can be trained to an extreme level.
    • Sitting on an enemy throne summons all enemy minions.
    • Some minions can be racist and be hostile even to otherwise friendly creatures of that race (for example prisoners).
    • Added slow/fast trainee/crafter special traits and corresponding rings.
    • Added adamantine helmet, boots, gloves and warhammer, iron gloves and golden staff.
    • Removed 'sorcery' skill. Spell cool-downs depend on spell experience level.
    • Wizard keeper starts with sorcery tech, Dark Knight with iron working, White Knight with archery.
    • Kraken tentacle length is limited to 15 tiles.
    • Graves and pits can be built outside.
    • 'Population' trigger depends on population counter, not total number of minions.
    • Creatures stop flying/levitating when they fall asleep.
    • Wizard keeper's starting robe no longer grants magic resistance.
    • Adamantine golems dig much faster.
    • Vampire lord won't start with an artifact staff.
    • Added candelabra.
    UI
    • New special effects and animations.
    • Wall and mountain tiles show cracks when being dug out/destroyed.
    • Keeper sprites are upgraded as the dungeon level increases.
    • New player class menu.
    • Map legend shows info on all objects in a given tile, not just the top one.
    • Map legend shows indoor/outdoor status of a tile.
    • Added shadows to bushes.
    • Team leader highlight blinks only in full control mode.
    • New sprite for pits.
    Fixes
    • Staff of suicide is no longer auto-picked up by minions, he he.
    • Crafters don't get depressed if crafted item doesn't have any artifact upgrades.
    • Fixed crash caused by including wolves in a team.
    • Fixed various issues with hauling AI.
    • AI takes into account max throw range when throwing things.
    • Small fixes in attacking AI.
    • Spells can be cast over fire.
    • Fixed kraken pulling issues.
    • Removed unused corpse decapitation logic.
    • Items are not teleported out of forbidden zone.
    • Fixed crash involving adding a newly discovered team member when in full control mode.
    • Fixed crash caused by the 'darkness source' effect.
    • Fixed UI issue caused by controlling the keeper through the "wounded keeper" prompt, while an active building is selected.
    • Fixed a small AI issue with team members sometimes staying behind when an enemy is visible far away.
    • Added more diagnostics to trace a rare creature position swapping crash.


    [ 2018-11-28 10:54:57 CET ] [ Original post ]

    Basic modding support and more new gameplay

    KeeperRL has always had all its data defined in the source code, which is not a great design - it slows down development and doesn't allow any modifications without recompiling the code. On the other hand, moving data into text files requires quite a bit of effort, like writing a parser and reorganizing a lot of code, which is why I kept putting it off. On a whim, I finally decided to give it a try, and moved some basic data structures into text files. I started with campaign villain lists, which have a very simple form, and moved on to more complex things, like the building menu, workshop menu, immigrant definitions and technology. I developed a handy algorithm that can read the game's internal data structures directly from the files without any extra effort. There is still a lot more data that's defined in the source code, like furniture, creature and villain definitions, and I'll move them in later updates.
    When it comes to modding, there are a few more things necessary to make it easy: being able to add mods by simply dropping in new files as opposed to editing existing ones, managing mods from the game's menus, and ultimately hosting mods on the servers, and possibly on Steam Workshop. (I don't promise the last two yet, because they're quite a bit of work). If you're interested, you can check out the current data definitions here. Now let's talk about gameplay. Something that's always been on my mind are outdoor buildings. Because not every Keeper likes to dwell in a cave! It was quite an easy addition, the hardest part being how to define indoor/outdoor areas after the player has built some walls (you are only allowed to build most furniture indoors). You can go wild and build a castle. :)
    Yes, and you can play as the knight faction now :). It was also added on a whim and is quite basic for now, but it's a great start to adding more factions and more differentiated gameplay. Below are your current Keeper options. Of course with the new modding support one can actualy easily add more.
    With the new leveling system, which I described in the previous update, Artur and I added a small touch to the Keepers that makes them upgrade their avatar as you advance. Initially, you start with the young girl or guy on the left. :)
    Finally, some minor esthetic improvements include a rock cracking animation as you dig and candelabra as a new room decoration.

    This sums up all the new changes coming in Alpha 26, and at this point I'm going to work hard testing the game, fixing all remaining issues and releasing the update as soon as possible. If you're curious and would like to help with testing, you can try out the testing build by opting into the 'dev' branch on Steam.


    [ 2018-11-08 11:49:34 CET ] [ Original post ]

    Alpha 26 available for testing

    I've uploaded a pre-release build of Alpha 26 for all three platforms. I invite all seasoned players to take a look and post their feedback in this thread or in the comments below. Please don't opt in if you are new to the game, as this build is very unstable, and the tutorial doesn't work at the moment. To opt-in into the build, please go into the game's properties, BETA tab, and choose the "dev" branch.


    [ 2018-10-17 12:45:47 CET ] [ Original post ]

    New animations and gameplay in Alpha 26

    I've got the same piece of good news for you as always: the KeeperRL team is working on the game continuously, and the next patch is underway! But there is more: I'm also happy to announce the addition of a new team member! I've managed to convince my friend from university, Krzysiek, to join me in programming efforts. Krzysiek is a graphics expert, and he took upon himself the task of adding new animations to KeeperRL. Initially we planned to animate spells and creature effects, but it turned out that there is potential to add a lot more. All the new animations are implemented using particle effects, so in a sense they are procedurally generated, and can be easily tweaked and extended to other parts of the game. You can see some examples below.



    Besides the eye candy, they will also convey useful information about what's happening in the game, especially in the battle field, although we are trying to keep them moderate to avoid unnecessary overload. I also hope that they will make the game feel more alive and help the players get more immersed. Meanwhile, the other part of the programming team, which consists of me, is working on gameplay improvements and various fixes. The biggest change so far has been the replacement of mana with a leveling mechanic. Superficially, the change is small: after defeating an enemy, you are awarded experience points, and after earning enough, your level is increased. With each level you unlock a chosen technology. The subtle difference is that the higher your level, the more experience points are required to advance. As a consequence, defeating minor enemies only helps you at the beginning of the game, and as you grow in strength, you need to tackle the major ones to advance. Add another side to this: if you're an expert, you can make quick progress by defeating a major enemy early in the game. In other words, the difficulty and progression will scale better. Besides that, I also plan to allow other improvements when gaining each level, which I temporarily call "dungeon upgrades". In contrast to technologies, they can be applied repeatedly, and include things like more effective prisoner conversion, faster immigration, training, crafting, mining, etc. What's important is that they are independent of technologies, so you'll get to choose both a technology and an upgrade when reaching a new level. Another new feature is what I call a "luxury system", which replaces the efficiency modifier in furniture. Instead, some constructions have a luxury modifier, which continuously increases the morale of nearby creatures. Thus, minions who get to live in more luxurious environments, get more efficient at training, crafting, combat, etc. To amplify this change, I've added bed and coffin tier levels (undead will from now on sleep in coffins, and graves will only be used to store corpses). Your favorite minions can now be made very happy by sleeping comfortably and being surrounded by shiny things! Most of the things described above are nearly completed, so I hope to be able to upload testing builds for you to check out very soon!


    [ 2018-10-01 16:50:32 CET ] [ Original post ]

    Alpha 25 hotfix 1 released

    This patch fixes a few issues in the Alpha 25 update. Many of them have been reported by players through the in-game "report bug" tool. Thanks to everyone for helping out. This version may still have occasional issues with hauling AI, in particular with workers carrying around items needlessly instead of dropping them at a storage. Since the problem is quite complex, a fix will only come in Alpha 26. Sorry for that.

    • Fixed an issue with pathfinding through portals after game has been saved & loaded.
    • Air elemental and some special beasts have a melee attack again.
    • Fixed retirement crash.
    • Fixed a crash involving undead being killed simultaneously by a piece of equipment and sunlight in the same turn.
    • Fixed some issues with workers not dropping hauled items and equipment.
    • Fixed issues with workers arming traps.
    • Fixed multiple item hauling issues.
    • Prevented opening multiple level maps using the mouse wheel button.
    • Level memory is updated when locking/unlocking doors in control mode.
    • Fixed an FPS issue related to item hauling.


    [ 2018-08-23 07:44:20 CET ] [ Original post ]

    KeeperRL Alpha 25 is released!

    KeeperRL Alpha 25 is finally out! This is another patch with a lot of gameplay improvements, focusing especially on dungeon development. It includes moat building, special items and minions and a new Keeper character. Check out the change log below for details!
    The full change log: Gameplay

    • Dark knight, a new Keeper character focused on melee skills.
    • Digging moats.
    • Added "ego" items with special effects, which can be crafted by extraordinarily talented, and usually also insane minions.
    • Added special minions with extra positive or negative buffs.
    • All AI, including enemies, can use portals when navigating around.
    • Worker AI will pick up items from multiple tiles before hauling them back.
    • Beast minions don't trigger enemies with their attacks.
    • Equipping, picking up, and dropping equipment doesn't use up turn.
    • Enemy AI will construct bridges if they're cut off by water.
    • Added "stand ground", and "ignore enemies" team orders.
    • Removed the "proximity" trigger from cyclops.
    • Every creature has separate combat experience independent of training.
    • Entire wolf pack takes up one population spot.
    • Vampire lord is stronger.
    • Adamantium golems are vulnerable to magic.
    • Added "fireball" spell.
    • Dwarves and ants won't attack after player mines in their vicinity but, not breaching their mineral veins.
    • Bridges can be removed.
    • Escape spell teleports away from fire.
    • All prisoners can construct furniture.
    • Added potions of melee and spell vulnerability.
    • Added night vision mushrooms.
    • Added stone statue, which increases population by up to 4.
    • Summoned creatures, like flies, aren't automatically added to current team.
    • Changes in the building menu: bridge moved to "Structure". Changed some hotkeys.
    • Creature's can pick up a single heavy item over their carry limit.
    • Up to 4 prisoners are allowed with having a prison built.
    • Tunnels can be filled up with hard rock.
    • Allowed building fountains in the dungeon.
    • Summoned creatures disappear when summoner is knocked-out.
    • Villains won't launch attacks with undead minions during the day.
    • Removed the scroll of darkness and made the vampire lord a permanent darkness source.
    • All prisoners are poison resistant.
    • Dogs and other animals can be petted. AI will also pet animals sometimes.
    UI
    • New villains UI with attack and trigger notifications, easier pillaging and browsing villains.
    • New animated sprites for water, lava, torches, fountain.
    • Animations for melee attacks and creature death.
    • New sprites for zombie, bears, and the warriors tribe.
    • Creature's health percentage is displayed in map legend.
    • Immigrants first name is displayed in immigrant menu.
    • New UI for selecting numbers.
    • Added music and sfx volume controls.
    • Added an in-game bug reporting menu.
    • Message boards can be viewed in real-time mode by clicking on them.
    • Icons of all items lying on the ground or in a creature's possession are displayed in map legend.
    • Portals are colored based on their pairing.
    Fixes
    • Improved late game framerate.
    • Fixed attacker AI issues which caused them to never reach the player.
    • Fixed lighting glitch related to trees being destroyed while on fire.
    • Fixed issue with bogus "enter tile?" warning after tile is no longer on fire.
    • Fixed kraken's behavior.
    • Fixed spell and buff timeouts are on retired keeper maps.
    • Doppelganger no longer absorbs some effects that did't make sense, like "collapsed", "stunned", etc.
    • Placing traps on top of doors and other furniture is not allowed.
    • Game will create a directory for save files if it doesn't exist.
    • Tile memory is updated when items are pillaged using the villain menu.
    • Fixed tiny glitches when rendering fog-of-war.
    • Made it impossible to retire in the tutorial.
    • Fixed crash caused by enslaving the same retire creature twice.


    [ 2018-07-31 13:39:36 CET ] [ Original post ]

    Official KeeperRL discord server

    A member of the community, KoopaSamurai, has started a discord server for KeeperRL, and I have decided to make it an official server. Please take a moment and join, it's a great place to ask a quick question or have a chat with me or other players. I always love talking about the game! https://discordapp.com/invite/XZfCCs5


    [ 2018-07-23 17:00:24 CET ] [ Original post ]

    KeeperRL Alpha25 available for testing on Steam

    As promised, I have uploaded a pre-release build of Alpha25. There are still various issues to be fixed and this version contains some placeholder artwork, but I believe that it's quite playable. I invite all seasoned players to take a look and post their feedback in this thread or in the comments below. The new version allows submitting bug reports from within the game, optionally attaching a save file or screenshot. Please use this feature to submit as many reports as you like, including suggestions, minor issues or typos. Please don't opt in if you are new to the game, as it's very unstable, and the tutorial doesn't work at the moment. To opt-in into the build, please go into the game's properties, BETA tab, and choose the "dev" branch.


    [ 2018-07-07 09:14:17 CET ] [ Original post ]

    Alpha25 release plan

    I haven't posted updates for a while, but KeeperRL's development has been quite steady. Among other things, I've done a lot of work in the UI department, of which you'll find a short rundown below. Overhauled villains UI I've received a lot of reports of players being confused and angry about being attacked by stronger enemies. While they always have a good reason for attacking, the game didn't do a good job at communicating this. With this update, you'll receive notifications about triggered villains along with the specific reason. The game will also tell you when you can pillage a defeated enemy or trade with an ally. In general, this piece of UI replaces the villains tab, providing the information in a much more player-friendly way.

    Creature inventory and lying items You can now inspect any creature's inventory or what items are lying on the ground both in the real-time and in control mode. Very useful when looking for items in your storage room or on the battle ground.
    Bug reporting tool I've made it possible to report bugs without leaving the game. You can optionally attach a screenshot or a save file, which is a big improvement over players having to find the file on their disk and email it to me. :P
    Imp hauling AI improvement Imps will now be able to pick up items from many locations before heading back to storage, instead of bringing items one by one. In terms of features, Alpha25 is almost ready, and I'll be uploading a testing build to Steam very soon. The update will be released officially once Artur finishes some necessary artwork, and I iron out all remaining (known) bugs and missing features.


    [ 2018-07-05 11:34:15 CET ] [ Original post ]

    Gameplay features coming in Alpha25

    I've been working on the next KeeperRL update at full steam for the past few weeks. The changes have all been oriented around gameplay and not very hard in terms of programming, so they were great fun to work on. I'm happy to say that the development of the game has recently transitioned more into adding smaller features, polish and content, as opposed to revolutionary changes. Let's take a glimpse at the new goodies. :) Moat building Constructing arbitrary water or lava channels is an important tool in the hands of a Keeper, so it had to find its way into the game sooner or later. An important issue to solve was how enemy AI should deal with players who completely surround themselves with a moat. As you may recall, I faced a similar problem when allowing to freely fill up tunnels, and the solution was teaching AI to dig into sealed-off dungeons. A similar strategy will be used to breach moats: enemies will simply build bridges over them. Everyone knows that dwarves carry spare wood planks on their backs in case they encounter unexpected bodies of water in their way.
    Portals overhaul Portals are great dungeon feature that allows instant travel between distant locations. Up until now they could only be used when manually controlling a creature, because KeeperRL's finely optimized path-finding algorithms didn't play nicely with such abuses of the laws of physics. However, I was able to find a reasonable compromise between speed and the use of portals, so now all your minions (and enemies!) will include them when calculating their shortest paths around the dungeon. Even complicated arrangements will work! Also as you can see, connected portal pairs will be color-coded. Ego items At the urge of the most dedicated KeeperRL fan, SoftMonster, I added the ability to craft so called "ego items", which are items with special effects, like a flaming sword or a helm of telepathy. To craft them you'll need a minion with crafting skills above 90% and with high morale, which will drop after the act of creation. With these changes I also modified the underlying architecture to make it much easier to add new item and effect combinations, so your minions will get a lot of new shiny toys!
    Special minion traits Having new special items, I decided to make minions a bit more special, too. Every new immigrant will have a small chance to possess one or more special traits, not necessarily positive. So now and then you'll attract a goblin with an unusually high crafting skill (necessary for ego items, btw), an orc with night vision or a harpy that's straight insane (watch out for her). A lot of interesting traits are in development, and I hope they'll add a nice twist to the immigration system. It's possible that special traits will come with special requirements, too. "Stand ground" and "ignore enemies" team orders This is a nice quality-of-life improvement when controlling teams. Outside of full-control mode, team members have always had a mind of their own, chasing unimportant enemies or blindly charging at a dragon while you are trying to get your whole team to retreat. Switching to full-control to get them to do what you needed was a very tedious option. The "stand ground" order forces the whole team to stay in place even if the leader moves away, and "ignore enemies" stops them from chasing anyone (they will still attack adjacent creatures). The first one is great when you create a formation that you don't want your minions to break, and the second one is best used when retreating or when you don't want your minions to get distracted while traveling.


    [ 2018-05-17 05:44:50 CET ] [ Original post ]

    Alpha24 hotfix 3 is out

    This patch should hopefully wrap up bug fixing for Alpha24. I've also started working on Alpha25 already, and will give you an update on that in the next few days.

    • Fixed graphical glitch/screen corruption occurring on some computers.
    • Fixed crash caused by an AI controlled summoned minion (like fly) becoming team leader in full-control mode.
    • Fixed crash involving a creature being killed instantly when arriving to a new site.
    • Fixed movement glitch in ASCII mode. (ASCII mode features full movement animations from now on).
    • Made the fire scroll catch fire immediately when read.


    [ 2018-05-09 02:15:29 CET ] [ Original post ]

    Alpha24 hotfix 2 is out

    • Fixed a crash involving the "move now" command when minion is on an enemy site.
    • Added more diagnostic checks for a crash involving controlled minion being killed.
    • Added diagnostic check for a crash related to boulder swapping position with a spirit creature
    • Added diagnostic check to task updating crash.


    [ 2018-04-10 05:28:30 CET ] [ Original post ]

    Alpha24 hotfix is out

    • Fixed a crash involving pushing a creature into fire
    • Fixed a crash when player is killed by a scroll of fire
    • Added diagnostics to solve a crash involving a team member getting killed


    [ 2018-04-05 05:00:48 CET ] [ Original post ]

    KeeperRL Alpha24 is released!

    It's my pleasure to announce that KeeperRL Alpha24 is out! It's another big gameplay patch, bringing in many new features:

    • Overhauled prisoner system. Enemies are explicitly tagged to be captured, and they retain their identity after becoming prisoners. Read more about the system here.
    • Improved full control mode handling. Battles can be played in a proper turn-based manner. Read more here.
    • Changes in mining: new challenges, and better progression. Read more here.
    If you would like to continue your saved game from Alpha23, you can opt-in into the "Alpha23 save compatibility" BETA branch under the game's properties in Library. Make sure to opt-out of the branch to go back to Alpha24 when you're done! The full change log: Gameplay
    • Prisoners retain their identity and can join your side if tortured.
    • Prisoners can be captured outside of player's dungeon.
    • Player must tag specific enemies that are to be captured.
    • Prisoners can perform work like crafting, if they have appropriate skills.
    • Prisoners can escape if there are too many compared to fighter units.
    • Most mineral veins are guarded by enemies like ants, dwarves and golems, who will attack when the player tries to mine the vein.
    • As most minerals are guarded, geology tech is removed.
    • Changed steel to adamantium, which is mined and not smelted from iron.
    • Added 'quarters', which can be used to create mini-dungeons for selected minions.
    • Added 'hard rock' tiles, which take longer to dig out, deeper in the mountain.
    • Added iron and adamantine doors.
    • Creatures have explicit intrinsic attacks, like fangs or fists that can be chosen via UI when attacking.
    • Time system is changed to explicit turns and 'half-turns' for easier control during battle.
    • Creatures only have 3 speed options: half-speed, normal, and double-speed. (speed attribute is removed)
    • Creatures with double-speed perform their second move immediately after the first.
    • Boulders don't wound huge creatures like dragons.
    • Some villages have a chance to be generated on the 'bones' of others.
    • Healer AI prioritizes healing creatures that stand directly next to an enemy.
    • Increased spell damage of legendary minions.
    • Added maximum range for bows.
    • Decreased mana regeneration rate in free mode when mana regeneration option is turned on.
    • Kobolds are stronger and have spears.
    • Improved eating AI, minions will try to leave the pigsty after having eaten.
    • Changed AI code involving swapping positions, creature's won't get in each other's way so much anymore.
    • Made cooperative AI assign better positions when mining close to each other.
    • Removed tech number limit based on library size.
    • Minions respond immediately to the player manually changing their activity (including waking up).
    • Minion wakes up when it is assigned new equipment.
    • Added hand torches.
    • Burning objects emit light!
    • Improved logic of injuring non-living creatures, which fixes the problem of killing them taking too long.
    • Added caps to how much of the basic stats dopplegangers can inherit.
    • Added minimum turn requirement to some higher level immigrants, which causes more low level immigrants to be presented early in the game.
    • 'Prioritize task' order makes an imp drop their current task immediately.
    • Decreased the 'unavailable zone' width on the map border to reduce memory usage.
    • Reduced amount of stone dropped by boulder to avoid generating free stone.
    • Reduced amount of gold dropped by demon dwellers.
    • Made minions do other tasks when there is nothing to craft.
    • Statues cost gold instead of mana.
    • Creatures and items are teleported out of inaccessible tiles.
    • Added the ability to push away smaller creatures.
    • Removed the 'stun ray' spell.
    • Added 'demonology' tech that unlocks demon shrines.
    • Hallucination effect also grants telepathy.
    • Added baby spiders and blind children to giant spider's den.
    • Vampire lord drops a scroll of darkness, which causes a creature to become permanently immune to sunlight.
    • Ghost gets a 'touch of insanity' attack, which causes creatures to be hostile to everyone.
    • Succubus gets a 'touch of love' attack, which causes creatures to become peaceful.
    • Robe gives spell resistance.
    • Added invisible alarm trap to castle.
    • Added priest to castle.
    • Pig corpses don't emit gas.
    • All enemy creatures heal slowly over time.
    Interface
    • New UI for managing team members: adding and removing from team, changing move order.
    • New UI for interacting with other creatures, like attacking, chatting, etc.
    • Added creature status (leader/fighter/civilian) highlights and descriptions.
    • Added tabs to view team members.
    • Added new buttons for toggling and exiting control mode.
    • Attribute bonuses from equipment and buffs are visible in the UI.
    • Added a simple animation for when creatures are wounded or tortured.
    • Limb losses are represented on HP bar for non-living creatures, which don't have health and have to be chopped into pieces.
    • New sprites for the demon tribe.
    • New buttons under the minimap to open world map or scroll to keeper's location.
    • Boulders can be pushed using the mouse.
    • Summoned creatures remaining 'time to live' is explicitly shown in the UI.
    • Total inventory weight and maximum capacity is displayed in control mode.
    Fixes
    • Endless mode highscore takes into account only time spent defending the base, and not wandering around.
    • Optimized and fixed various issues with creature pathfinding.
    • Optimized field-of-view calculations, which speeds up the game considerably.
    • Optimized world generation.
    • Stopped doppleganger from being able to consume itself.
    • Doppleganger doesn't inherit effects granted by rings and other equipment.
    • Fixed ancient spirit's spell attack.
    • Minions pick up potions of melee, spell and ranged resistance.
    • Chests and coffins spawn creatures further away if adjacent tiles are blocked.
    • Reinforce wall order is removed when wall is marked to be dug out.
    • Disallowed destroying bridges.
    • Fixed digging orders persisting when tile was destroyed by someone else.
    • Fixed trap removal and building floors under traps.
    • Fixed 'sleep on torch' UI bug.
    • Fixed level generation crashed caused by trying to place a blind creature.
    • Fixed marking campaign base map as conquered when village is destroyed.
    • Fixed drawing question marks on the main map.
    • Fixed red dragon appearing on green dragon's place in the campaign.
    • Increased female keeper spell damage to match the male version.
    • Fixed issue with calculating influence area in campaign map.


    [ 2018-04-02 04:32:15 CET ] [ Original post ]

    KeeperRL Alpha24 available for testing on Steam

    In the last few weeks I've been very busy fixing bugs, optimizing, and polishing all the new features queued up for this update. The patch has finally reached a point where I can share it with you on the beta testing branch on Steam. I kindly ask all seasoned players to take a look and report all issues in the comments below or in this thread. Please don't opt in if you are new to the game, as it's very unstable, and the tutorial doesn't work at the moment. As for the next steps before release, there is only one feature that I need to work on: prisoner rebellion. It is necessary in order to stop players from amassing too many prisoners, and will be triggered when the number of prisoners approaches the size of the armed forces. The logic is quite simple: all prisoners suddenly become hostile. I only need to design an interface that will warn the player about possible rebellion and explain the reason why it might happen. The last necessary change I will need to work on is to update the tutorial to include some of the new features of Alpha24. It's not a huge amount of work, so I estimate that the new patch should be officially available within the next 2-3 weeks. Hold your thumbs!


    [ 2018-03-14 04:08:37 CET ] [ Original post ]

    Changes in mining

    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.


    [ 2018-02-09 21:05:01 CET ] [ Original post ]

    New year, new sweet gameplay features!

    I began the new year with some cool gameplay improvements in KeeperRL that I'd love to share with you :) . In the previous dev update I talked about various ideas on how to overhaul prisoner capturing mechanics, so I'll start with that. I want to give credit to the community for overflowing me with suggestions, it helped a lot! I wanted to come up with something relatively simple, while giving the player plenty of control, and forcing them to take some trade-offs. The first step to capturing a prisoner is tagging the selected creature. You can do that in both the turn-based and the real-time modes. This gives your enemy extra damage resistance, and a separate hit-point bar dedicated just to capturing. This way you can't cheat by severely wounding them first and only then ordering their capture. When a tagged creature loses all their hit-points, they get knocked out instead of dying. They also won't lose any of their limbs. A critical feature is that you can always swap position with a knocked out enemy, so they don't block anyone's movement.
    Knocked out creatures are given a timer, and when it runs out, they die. But before that happens, they show up in your immigrant list where you can enslave them, provided that you have built a prison. When you do that, they get up and walk into your dungeon. And now you have a prisoner! Prisoners retain their identities after being captured, so you can use them in various ways, depending on their skills. Of course every prisoner gets a basic mining skill, because that's mainly what prisoners are for. :) Torturing will have a chance of converting them to your side, which lets them join your armed forces. But it will sometimes kill them instead. There are still a lot of side features needed to be implemented around prisoners, but the core of idea is here at it works well, which I'm very happy about.
    Every once in a while I got reports about players locking off separate mini-dungeons for chosen minions, and that it doesn't work due to bad AI, which insists on going to the locked-off parts. I fixed the AI issue, but decided that this strategy requires a dedicated feature in the game. You can now designate living quarters for chosen minions, and they will try to perform their activities within that area, and other minions will try to stay out. Although if some piece of furniture is not available in their area, then they will break that restriction.
    I've made many other small improvements in the last month. I added hand torches, which you can use to light up the area around you when travelling in darkness. The other use is of course... throwing them to set things on fire :D . Which, by the way, also emits light so it's more fun to watch now. :) In the first gif you may have noticed the new UI for interacting with creatures in the turn-based mode. It should greatly improve the experience when playing using the mouse, and even perhaps let you discover interactions that you weren't aware of before.
    I'm also working on improving the base map generation algorithm to make dungeon building more interesting, but I'll talk more about it in future updates.


    [ 2018-01-19 13:51:54 CET ] [ Original post ]

    Alpha23 hotfix4

    • Fixed an issue that caused solitary villains like dragons to never raid.
    • Fixed an issue with calculating area of influence on the world map that made some sites inaccessible.
    • Increased minion sleep time to 200 turns so that succubi can take their time.


    [ 2017-12-19 17:06:22 CET ] [ Original post ]

    Prisoner system discussion

    One of the big things that KeeperRL is still missing is a good system of capturing and exploiting prisoners. I'm committed to fixing that in the coming patch, although I don't have a very clear vision yet. I'll lay out what I've come up with so far, and I hope to get some feedback from you. At the moment prisoners can only be captured inside your own dungeon, and the rules of how it's done are hidden, so the system is unclear and random for the player. The main goal is to make the requirements explicit, so it's clear what you need to do to capture a prisoner.
    The main approach that I'm looking at is using the immigration UI. In the example screenshot above the player can schedule capturing of prisoners, provided that the prison is big enough. Once the orders are placed, minions will try to capture prisoners at the nearest opportunity, for example when raiding a village. The disadvantage of this system is that if the player forgets to place the order before a battle, they will lose the opportunity to capture anyone. It's also unclear how captured prisoners should travel back to your dungeon. Should they join the raiding team and return with them? What if you want to continue raiding, are you going to drag the prisoners with you to the next battle? They could also return by themselves, but it wouldn't be realistic - they could easily escape.
    A much simpler idea is to implement prisoners as regular immigrants. The two requirements would be building a prison and capturing a village. The remaining civilians in the village would, at the press of a button, turn into prisoners and come to your dungeon. Just like above, having prisoners travel alone would be unrealistic. The idea also seems too automated and lacking any challenge. The system also doesn't easily accommodate capturing non-civilians. One major advantage is that it's very easy to explain to and to use by the player. There are some vague ideas of gamifying capturing a bit more, so that it requires more effort or strategy from the player than just killing enemies. A special "slave master" minion could be the only one capable of taking prisoners or there could be a special weapon, like a throwing net, or a trap. But I'm afraid of making the system unwieldy and requiring too much micromanagement. Once prisoners are captured, we need to decide what to do with them. The current options are execution, which aggravates enemies, torture, which produces mana, or having them supplement your imp force. Every captured creature turns into a generic prisoner minion, and they are all identical. There are a few ways to make things more interesting. One is letting prisoners retain their identity, making some more useful at certain tasks than others. Or even letting them join your armed forces. I think enemies should also try to break in and free prisoners. I was also thinking about making prisoners more essential for progression by limiting the capabilities of imps. For example after some length of digging the rock could become harder and only possible to mine by prisoners. Same thing could be done to some or all minerals. Acquiring a large number of prisoners would thus be critical to have a successful dungeon. All of the above are just ideas floating in my head or being partly implemented. I'll do a lot of playtesting before I settle on a solution, and I also expect that things will need to be refined in later patches. Hopefully I can come up with a system that will add a lot of meat to the game. Meanwhile, I'm eager to hear your thoughts!


    [ 2017-12-17 20:36:50 CET ] [ Original post ]

    Incoming features

    After releasing a few bug fixing patches to Alpha23, I got right down to working on the next major update. I'll give you a summary of things that are already implemented, and in future posts I'll talk about more plans for Alpha24. The first thing I decided to work on was polishing the full-control mode. It has become an important feature of the game, so fixing the very rough edges is high priority, especially that I got a lot of complaints. The first issue was the chaotic move order of team members. The movement system in KeeperRL was very flexible, allowing varying speeds of different creatures. Unfortunately this made team members "overtake" each other in the movement queue in a very unpredictable manner. The only way to solve this issue was to change to a proper turn-based system, where every creature normally gets one move per turn. This allows processing creatures in a "stable" order, which can be altered by the player, for example if they want to postpone one team member's move (without them losing their turn). As another "win", a player-controlled creature that has a speed buff and gets two moves per turn can perform them in sequence. The "slow" debuff makes creatures skip every second turn. What are the disadvantages the new system? Creatures lose the fine-grained speed attribute, and almost everyone moves at the same speed. I don't think this will have a negative impact on the game, but if it's a major issue then it's possible to add more speed levels, where a creature gets an extra move every other turn, every three turns, etc. This emulates the old system very well, while having an advantage of being much more predictable. Having that change out of the way, I added the UI to manage team members, where you can see and change the move order and can decide if a minion is controlled manually or by AI. This also makes the way for UI for giving orders to the AI, which many players ask about, although this feature will likely not come in Alpha24. I have big hopes that these changes will make the full-control mode much easier to use and more fun.
    The screenshot above reveals another new feature. Every creature now has a set of intrinsic attacks, which by default are active when it is not wielding a weapon. Each attack is attached to a body part, and is made unavailable when the body part is lost or injured. If a creature has multiple attacks, then one is chosen randomly when attacking. It is possible to make attacks active even while wielding a weapon, which is useful if a creature can inflict a poisonous bite, for example. The feature gives me a lot of new options for designing creatures, and should result in some new interesting gameplay. Note that every attack can be inherited by a doppelganger! Here are the intrinsic attacks that have made it into the game so far:

    • Fist
    • Kick
    • Claw
    • Fang
    • Touch
    • Bird beak
    • Unicorn horn
    Every attack can have an optional extra effect, for example inflicting poison or insanity (by the ghost), or something more magical by the unicorn horn. A slightly related feature that I plan to add is that some creatures, when killed, will drop a body part with the corresponding attack, which can be used as a conventional weapon. A unicorn horn and dragon fangs come to mind as examples. This should be fun! One more feature that I'd like to present is related to world generation. Until now, the home of every villain was generated almost identically, which got boring very quickly. But now, the game can generate a villain on the "bones" of another one, as if they conquered and captured their home. In the screenshot below, the dragon is occupying a castle after having killed all the knights. It functions as a normal dragon villain in the game, and having the castle and knight skeletons is just a way to mix things up, without changing the gameplay in a major way. The dragon can also be generated on the top of an elementalist tower or in the dwarf cave. There are all sorts of combinations possible for various villains.


    [ 2017-12-05 19:44:41 CET ] [ Original post ]

    Alpha23 hotfix3

    Today's patch includes some important gameplay changes, and a few bug fixes. I still haven't tracked down the graphical glitching issue that makes the game unplayable for some players. If you experience this, and would like to help with the investigation, please contact me.

    • Mana reward is no longer limited to the first enemy of a type.
    • Human village on home map reward upped to 100 mana.
    • Minions train 40% faster.
    • Bandits, lizardmen and ant worker attackers are weaker in endless mode.
    • Villain creatures heal slowly over time.
    • Fixed map generator crashes and slow-downs.
    • Fixed a bug that caused wounded attackers to retreat immediately.
    • Game no longer crashes when some files aren't found, and displays an info message instead.
    • Added diagnostics to track down some crashes.


    [ 2017-11-17 19:16:25 CET ] [ Original post ]

    Alpha23 hotfix2 is out

    This is a very small patch. I'm still working on fixing a couple more bugs, including a graphics corruption that happens on some platforms, so expect more patches soon.

    • Fixed a bug that made imps confused and idle when tree cutting tasks were placed behind fog of war.
    • Removed the Halloween kids and pumpkins.


    [ 2017-11-04 09:32:35 CET ] [ Original post ]

    Summary of player feedback and my comments

    Some of the dust has settled after the last patch was released, so it's time for a summary. Thanks to a promotion and Steam's autumn sale, there has been an influx of new players. I would like to welcome everyone on board, and encourage you to participate in discussions and take part in the development of the game. I'm always open to ideas and your input is very important to me. Alpha23 was probably the biggest gameplay update released so far, and as much as I had high hopes that it will be a big improvement of KeeperRL, it received a bit of negative feedback. Processing negative comments is pretty hard. First of all there is a danger that they are not representative of overall player opinion - of about 2000 people that tried out Alpha23, only about 1-2% posted their comments. I take feedback very seriously, but my decisions will be different depending on whether it's only that 1% that are unhappy, or if there are another 1000 players who didn't like the update, but didn't comment. There can also be clashes of my personal vision of the game, and people's expectations and playing styles. I've recently learnt that some players have been building dungeons with over a hundred minions. I never planned gameplay around such big bases, so it's understandable that some of the changes can conflict with such playing style. I need to take that into account when deciding if a particular piece of feedback is related to a bad design in the core of the game. Of course I try to cater to as many types of players as possible, but I also need to make some compromises to stick to my vision. To get to specific feedback, it was mostly related to people not liking the new mana progression, having to use the full-control mode all the time or just generally finding the game too hard. I think the last two are very connected, as full-control gives a huge advantage to the player, so it forced me to increase enemy stats. Now staying in the real-time mode or even controlling just the team leader is not an option in most battles. I can definitely see how it breaks the game for some people. It may sound dumb, but for me a big thing is that I personally enjoy playing KeeperRL with the new changes. The new tactical gameplay introduced by the full-control mode is very fun for me, and the mana progression gives me more challenge. While the new features will stay for now, I'll try to improve them and remove as many rough edges as possible to give everyone a better playing experience. I'll improve the interface and general handling of the full-control mode, and work on creature AI so that its tactical disadvantage is smaller. An early patch was already released to tone down the difficulty of the early game. I will also try to improve the progression, although I think that tying it with conquest was a good decision. Besides fixes, I already have some plans for the next update. As with Alpha23, it will continue the trend of adding new gameplay features and content, although I'm quite certain that this time they will be much less revolutionary. Once the plan is laid out, I will write a blog post about it.


    [ 2017-10-27 16:28:17 CET ] [ Original post ]

    Alpha23 hotfix is out

    This patch contains a few quick fixes to the last update. I received a lot of feedback and there are some bigger things that need addressing, and I'll discuss them tomorrow in a separate blog post.

    • Made combat slower by decreasing overall damage dealt in each hit.
    • Made bandits and dwarves a bit weaker.
    • Removed knights and archers from human cottages.
    • Fixed a bug that made retired dungeons not count toward victory condition.
    • Fixed a crash caused by a team member dying while travelling between maps.
    • Added missing healing spell to female Keeper.
    • Added "it was just an illusion!" message when attacking illusions.
    • Retiring in endless mode generates a highscore entry.
    • Fixed screen movement in control mode when playing in ASCII.


    [ 2017-10-25 17:43:14 CET ] [ Original post ]

    KeeperRL Alpha23 is released, this is a big gameplay update!

    It's my pleasure to announce that KeeperRL Alpha23 is ready. It took four months to finish and because it consists almost entirely of gameplay changes, it's a very, very juicy release! The new features can be divided into three major groups. The first one redefines progression in the game, making it more dependent on conquest. Mana is no longer generated in the library, but is instead awarded for conquering enemies. A lot of construction and item prices were rebalanced to accommodate this change. You can optionally turn on mana generation in the library in the 'free play' mode, for those who will miss the old system. You can read more about these changes here. The second set of changes involves combat and training. Combat has been made more deterministic and slower, and creature attributes were changed to empower spellcasting characters. There are also health-bars! A major addition to combat is the 'full control' mode, in which you control every minion in the team. This redefines the combat experience in KeeperRL in a major way, making it much more tactical and fun. The last big addition is the 'endless mode', where you are tasked with defending your dungeon from incoming enemy waves for as long as possible. This is a game mode for players who don't necessarily enjoy venturing out and exploring the world. Conquest is optional. The highscores for this mode will be based on how many turns you were able to survive. If you would like to continue your saved game from Alpha22, you can opt-in into the "Alpha22 save compatibility" BETA branch under the game's properties in Library. Make sure to opt-out of the branch to go back to Alpha23 when you're done! The full change log: Gameplay

    • Endless game mode: no conquest objective, recurring enemy waves, survive as long as possible.
    • Mana is awarded only for conquest or defeating enemy waves in the 'endless' mode. (Except optionally in the 'free play' mode, where you can enable mana generation in the library.
    • 'Crafting' tech is acquired by default.
    • Added spell damage and ranged damage attributes.
    • Added 'magic missile' spell which deals damage based on creature's spell damage attribute.
    • Removed strength, dexterity, and accuracy attributes.
    • Removed missed attacks.
    • Removed backstabbing (while invisible, opponent blind, etc).
    • Removed minimal strength requirement for some weapons.
    • Removed projectile items, ranged weapons have infinite ammo.
    • Added 3 experience types: melee, spell, and ranged.
    • Melee training in training room, spell in library, ranged in archery range.
    • Fixed upper limits for each kind of experience for every creature.
    • Added 3 library tiers: wooden, iron and gold with increasing training limits.
    • New spells are learned at specific spell experience levels.
    • Added 'Heal other', 'Summon elemental' spell.
    • Available minion tasks based on skills and traits, and not hard-coded.
    • Imp morale affects their speed. Imps can be whipped.
    • Bleeding only as an effect of some weapons and after limbs are cut off.
    • Creature attributes don't decrease when low on health.
    • Combat more deterministic and slower.
    • New formula for gaining experience from combat.
    • Added vulnerability and resistance effects for each damage type, acquired via rings, potions or intrinsically by some creatures.
    • Minion statues and throne cost mana, Demon shrines consume gold, portal consume stones, and eyeball consumes wood.
    • Imps and potions cost gold.
    • Removed first-aid-kits except for the adventurer.
    • Vampire lord wakes up hostile!
    • AI doesn't panic so easily when wounded.
    • Only imps can whip
    • Prisoner execution at a gallows construction.
    • Full control mode where you control every creature on the team.
    • Shared visibility between all minions and eyeballs.
    • Vultures much less common.
    • Made giant spider webs invisible.
    • Dragons cast spells.
    • Tweaked how courage and morale works on panic during combat.
    • Made AI make better use of circular blast.
    • Tweaked cost of navigating around friendly creatures in pathfinding.
    • Fixed handling of simultaneous elf and night visions.
    • Reimplemented elf and night visions as effects: now available through rings and inherited by doppleganger.
    • Reimplemented sunlight vulnerability as an effect.
    • Added magical weapons, which use creature's spell damage attribute.
    • Demon Den, Unicorns villains.
    • AI will try to break choke points by digging or destroying walls.
    • Added 'destroy walls' scroll to some enemies in endless mode.
    • New demon shrine and throne sprites.
    • Silver elven bow artifact.
    • 'Alchemical conversion' tech which allows changing gold into other resources, and iron into gold.
    • Artifact potion that regenerates all limbs.
    • Ants and dwarves can dig through walls when attacking. (but not through reinforced walls)
    • All enemies dig through any walls if the Keeper is completely cut off.
    • Health regenerating ring and mushroom, intrinsic regeneration for some creatures.
    • Potion of telepathy, and melee resistance.
    • Ring of magic resistance.
    • Allow naming individual items.
    • Minion morale is no longer maxed-out when in a team commanded by the Keeper.
    • Added "satiated" effect that prevents minions from eating and improves morale and defense.
    • Added "rested" effect that prevents minions from going to sleep and improves morale and defense.
    • Added rings of wakefulness and satiety.
    • Keeper is allowed to sleep.
    • Removed 'stun ray' spell.
    • Decrease production time of steel and steel goods.
    • Redefined civilians and fighters in enemy villages.
    • Dogs can no longer be leaders of villages.
    Interface
    • Big optimizations of rendering code.
    • Added health bars.
    • All villains visible in the 'villains' tab.
    • Animations for some offensive spells.
    • Nicer map object hints with more information.
    • Nicer minimap when fully extended.
    • Removed tooltips for items on the right side of workshop window.
    • Optimized splash screen.
    • Improved item counts display in workshops UI.
    Bug fixes
    • Excluded bogus outdoor tiles from some caves territories.
    • Fixed crash involving items destroying themselves.
    • Fixed throne unicode symbol.
    • Fixed crashes when trying to load some incompatible save files.
    • Fixed a few retirement crashes.
    • Fixed messages for dying from fire, silver, acid and poison gas damage.
    • Fixed deadlock when game window is closed during world generation.
    • Fixed issues with locating pigs in pigsty.
    • Fixed various small issues in pathfinding.


    [ 2017-10-21 11:34:28 CET ] [ Original post ]

    Alpha23 release countdown

    I've been back to working on KeeperRL the last week, and things are progressing smoothly. There are only a few bugs and some balance issues left to fix. I will also be defining endless mode enemy raids by hand. The automatic difficulty scaling method that I announced earlier proved to be too difficult (pun intended) for now. The raids will still be randomized, but their difficulty curve will be created by my trial and error, rather than a mathematical method. This is something to be fixed in future releases. At this point my aim is to release Alpha23 this Saturday. This is the first time that I announce a release date ahead of time, I hope I won't regret it. :P I've uploaded another testing build to the Steam 'dev' branch. Below is a summary of changes since the last upload on September 5th. Please report any bugs and other issues!

    • Team members view in control mode sorts the members by their move order and highlights who's under control.
    • Added "full control mode" step to the tutorial.
    • A lot of optimizations of the rendering code, which means framerate should go up by up to a 100%.
    • Much nicer health bar.
    • Added option to generate mana in the library - only in the free play mode.
    • Added a highscore table for endless mode, ordered by turns survived.
    • Fixed issues with killing non-living creatures in combat (ents, golems, elementals, etc).
    • Fixed a glitch that allowed destroying walls by bumping into them.


    [ 2017-10-16 18:01:04 CET ] [ Original post ]

    Release plan for Alpha23 and a new testing build

    The work on KeeperRL Alpha23 is slowly coming to an end. The only things left to do are bug fixes and final changes to the endless mode. I was aiming to release this update at the end of August, because I'm taking 3 weeks off in mid-September. Unfortunately this plan has failed, so I'm going to finish as much as possible before leaving, and release when I'm back, in early October. Players who play KeeperRL on Steam have had the opportunity to test Alpha23 for a while already, and today I've uploaded another testing build with the newest changes. It's the first build that has the endless mode enabled, even though some thing are not completely fleshed out yet. For now the attacking enemy waves are fixed, but the final implementation that I have in mind will have randomized villains with automatic difficulty scaling. My aim is to create a fair, but re-playable experience. It's actually an interesting problem, and the solution that I came up with can be used to balance the game in all sorts of other scenarios. I'll very likely write more about it in a future blog post. You can opt-into the testing build through the game's properties in the Steam client (choose the "BETAS" tab). The build is available for Windows, Mac, and Linux. I encourage everyone to try out the endless mode and share their opinion either below in the comments or in this thread. Here are the changes since the previous build released on August 16th:

    • Endless mode is enabled, temporary fixed villains added by SoftMonster. (the final implementation will have randomized villains with automatic difficulty scaling, but I haven't finished that yet).
    • Artifact elven bow.
    • Alchemical conversion (gold -> wood, iron, granite, and iron -> gold).
    • Artifact potion of regrowing body parts.
    • Fixed navigation glitch when clicking on an inaccessible tile in control mode.
    • Potions of telepathy, regeneration (same effect as amulet of healing), and melee resistance.
    • Rings of magic resistance.
    • Amulets of night vision and elf vision.
    • Mushrooms of regeneration.
    • Werewolf has intrinsic regeneration.
    • You can persistently name any item in the same manner as artifacts are named.
    • Fixed some line of sight issues.
    • Fixed many crashes.


    [ 2017-08-30 17:36:58 CET ] [ Original post ]

    Alpha23 available for testing on all platforms

    Linux and Mac users can now download the new testing build. To do so, opt-into the testing branch through the game's properties in the Steam client (choose the "BETAS" tab). Here's a list of changes introduced since the build uploaded on July 31st. * Unicorn villains * Demon villains * Archery range * Ants can dig into your dungeon * You can cut yourself off with "fill up tunel" but if you do, all enemies will dig to get to you * Enemies will try to destroy walls to break choke points * Magical weapons * Fixed night and elf vision combination * Fire dragons, lava golems, fire elementals and fire spheres resist fire. * Fixed game speed dialog * Enemies don't panic on low health anymore * Added proper spell icons * Some new tiles (throne, demon shrine) * Fixed memory leak reported above * Fixed healing when sleeping on beds * Fixed visibility issues * Minions have common visibility with eyeballs


    [ 2017-08-17 06:44:36 CET ] [ Original post ]

    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 waves of attackers, trying to survive for as long as possible. The conquering aspect of KeeperRL is completely removed in this mode, and there is no victory condition. (if you are wondering how this will work with the recent progression changes, you will get mana rewards for resisting each attack wave). The rates and the difficulty curve of the attackers will be very similar across games, in order to give a consistent experience, and to make different runs comparable for the sake of highscores. I don't want to have to define every single attack wave by hand though, and I also want them to be randomized a bit, so I have to come up with a way to scale the difficulties of monsters automatically. The game doesn't know how to compare the difficulty of creatures though, for example is a level 35 dragon more dangerous than 15 dwarves, level 20 each? I think the only way to tell is to simulate attacks with AI controlling both sides, but it's not an easy task. For now I've been playing around with scripted attacks, for example every 1000 turns, alternating between bandits and ants, and every wave is 4 levels more experienced than the previous. With the recent addition of full control mode, I came up with a simple tactic of trapping the enemies at the end of a corridor, with 3 of my minions fighting one enemy at a time, and a few healer minions supporting them from the second line. It became really obvious that the enemies need better attack patterns. The simplest solution was the blast spell, and the AI will now try use it to push your minions away and advance through the choke point. My second idea was to give ants their natural capability: digging. Up to this point the enemies couldn't breach the structure of your dungeon. It was time to change it. :)
    This new mechanic comes with obvious balance challenges, as we wouldn't want ants to be able to dig out a whole side of your dungeon. I came up with the following rules: they will only dig when it creates a significant shortcut to their target, and will mostly avoid digging through reinforced walls. They will also try to dig around choke points. Having taught the AI how to dig, I realized it could also be a solution to another problem: sealed dungeons. At this point the "fill up tunnel" order is very limited: you can't place more than one at a time, and you can't cut off an empty area. The reason for this was that the game wouldn't be able to deal with a completely sealed- off dungeon, and you could survive indefinitely, which would especially break the endless mode. The problem is that, due to a bug, it's still possible to trick the "fill up tunnel" order into sealing off the dungeon, and until now I didn't have a good answer to that. With AI being able to dig, I gave that ability to all enemies, but with the exception of ants, only if there is no other way to reach their target, meaning that it had been sealed off. Just to repeat this point :), if you don't seal off your dungeon, the only ones to do any digging will be the ants, but if you do, all the enemies will happily dig through to your gold or your Keeper. On the plus side, you will be free to fill up any tiles you want.


    [ 2017-08-08 16:32:23 CET ] [ Original post ]

    Alpha23 available for testing on Windows

    KeeperRL Alpha23 is not ready yet, but a lot of new features are already implemented, and you can test them out! Opt-into the testing branch through the game's properties in the Steam client (choose the "BETAS" tab). Only Windows builds are available for now. Below is a list of all major changes. You can read discussion on the changes here and here. I'm awaiting your comments and criticism :-). Please post in this thread or in the comments below.

    • Removed mana regeneration in the library. Mana can only be gained by conquering villages or torturing prisoners.
    • Statues and throne cost mana.
    • Demon shrines cost gold, portal costs stone, eyeball costs wood.
    • Imps, legendary minions and potions cost gold.
    • "Full control" mode, with direct control over each minion on the team.
    • Removed strength, dexterity and accuracy attributes. Attacks never miss.
    • Added spell and ranged damage attributes.
    • Added spell training in the library.
    • Vampire lord is hostile when released from his coffin.
    • Removed arrow items, bows have unlimited ammo.
    • Reduced damage dealt in combat by 50% (combat is slower).
    • Made combat less random.
    • Added health bars.
    • Added "heal other" spell.
    • Removed first-aid kits, except for adventurers.
    • Added personalized training limits for minions.
    • Mana is rewarded only once per enemy kind.
    • Creatures no longer become hostile when accidentally attacked by members of the same tribe. (But still do for different tribes)
    • Added resistances and vulnerabilities to all damage types.
    • Made all villains visible in the "villains" tab. Useful for pillaging.
    • Attributes don't decrease when creature is wounded.
    • Made giant spider's webs invisible, giant spider is much more dangerous.
    • Dragons cast spells.
    • Common field of view between all minions.
    • Made Vultures much less common.
    • AI doesn't panic as quickly when wounded.
    • Tree stumps can be removed with the "remove construction" order.
    • Added library room upgrades necessary for higher training levels.
    • Creatures learn spells at specific training levels. (see Keeperopedia).
    • Added magic missile spell, which uses creatures's spell damage value for attack.
    • Only imps can whip and execute.
    • Added gallows installation for executions.
    • Minions will only go to sleep if they haven't slept for 1000 turns or more.
    • Improved "collapsed" state. Artifact war-hammers cause collapsing.
    • Reworked "bleeding" state. Creatures no longer bleed when their health is low. Arftifact battle-axes cause bleeding.
    • Poisoning and bleeding deplete health much more quickly.
    • Crafting, geology I, and sorcery are unlocked by default.
    • Morale affects imp speed, imps can be whipped.
    • Removed backstabbing and minimum strength requirement for some weapons.
    • Added nicer tooltips for creatures.
    • Added nicer map window.
    • Added animations for some spells.


    [ 2017-07-31 12:29:08 CET ] [ Original post ]

    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 the previous post, I recommend doing it first. First of all, my comment about my lack of desire to implement complex management a'la Dwarf Fortress made a few people worried, so I want to clarify. I didn't mean that there won't be any new features of this kind, only that it's not the main focus of KeeperRL, which should be obvious by now :) . So you won't see detailed tracking of minions' emotions, fluid simulation, etc., but there is new stuff coming even in the next update. Second, some of you were worried that the new progression based on mana would interfere with other elements of the economy. I had a nice discussion with Steam player WarMaster GoreHowl, and he postulated that major expenses, like technology, should use different resources than more minor things, like crafting, because otherwise the player is too conflicted about spending on the minor things. It's a fair point, and it made me play with another idea of using gold for technology and population advancement. Unfortunately this didn't work well, because there are multiple sources of gold in KeeperRL, and it's hard to make sure the rewards for conquest are balanced well. Mana, on the other hand, can be more easily curated to make sure that players are getting the right amount, for example two technologies per each major villain conquered. My current choice, therefore, is to use mana only for technologies and population (everything else that uses mana will be switched to another resource). Exact amounts of tech and population costs are to be resolved later, of course. Note that nothing is set in stone, and further testing or feedback might change my mind again. :) Together with the progression overhaul, I've planned a set of drastic changes around the combat in KeeperRL, as this part of the game is severely lacking right now. My main motivation was to make spellcasting creatures more significant. This includes the Keeper, most importantly. I decided that all damage dealt in combat will be of one of these three types: Melee, Ranged, and Magical. Every creature will have an attribute for each of the types that dictates how much damage it deals. For example, an orc with Melee Damage 25 and a +8 sword will deal 33 damage, and when an orc shaman with Magical Damage 18 casts an offensive spell, it will deal 18 damage every single time. The current attributes Strength and Dexterity will be removed, and as a consequence, there will be no missed attacks anymore (although an attack against a well protected opponent may deal zero damage). It was tempting to also add a separate Defense attribute for each type of damage, but it proved to be too convoluted. So instead every creature has one Defense value against all types of attack, although it can receive a "resistant/vulnerable to " buff, intrinsically or via a spell or potion. For example, all ogres will be vulnerable to magic attacks, cyclopes will be resistant to ranged attacks, and minions will be able to learn a spell that protects them from melee attacks.
    Naturally, the three damage attributes need to have training possibilities. Each will have a separate path: the Training Room will train Melee Damage and Defense, the Library will increase Magical Damage, and a new room, Archery Range will improve Ranged Damage. Every creature will have predefined maximum levels that they can reach at each kind of training, for example an orc shaman will train up to +3 in the training room, and up to +7 at the library. The library and archery range will require upgrades to train minions to the fullest, just like the training room does at the moment. Since we will have more offensive (and also healing) spells now, they will add more interesting tactics to the game. I decided that this should be accompanied with a long planned tactical feature: full turn-based control of a team. By default you control only your team leader, but you can switch to a mode where you make moves for every minion on the team, which is extremely useful in combat! Sorry for the horrible gif. :P
    This makes combat more similar to the Civ games, with the difference that creatures act sequentially, and thus almost always make only one move at a time, and you can't "wait" and go back to a creature later in the turn. The play is a bit clunky because of that, although it still feels extremely fun to me. I've also added common line of sight between all minions, so if one minion can see something, then everyone can (even outside of the team). You're probably getting dizzy from all these new features, so let's move on to the last one. As you can see above, the game displays health bars over wounded creatures. This feature comes with underlying changes to damage and health calculations. The result is that combat is much slower and less random, there are fewer surprising insta-deaths, and also it's easier to overwhelm a strong enemy with a large number of weaker creatures. Things that many players have asked for. This was a very speedy summary of all the incoming new stuff! In reality, it also comes with a lot of smaller, accompanying changes, including many in the UI department. All of the things mentioned are already implemented, but the game is now terribly unbalanced and needs a lot of testing. I'm eager to hear your comments and criticism, although I think that to get concrete feedback I need to release a testing build with all the changes, which will hopefully happen soon.


    [ 2017-07-25 20:11:52 CET ] [ Original post ]

    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 to do is figure out the core of their game very early and just make that. Don't get caught up in polish, or art, or start thinking that adding ancillary features will make the game sing. If that core doesn't hit really hard and really grab players, the game is pretty much doomed. But if that core really works, everything added on will add huge value." I think it's a very important point, and I've always felt that there is some wasted potential in the core gameplay of KeeperRL. I'm always trying to find ways to improve it, and the most recent effect was the immigration overhaul. The Alpha23 update will contain more major changes in KeeperRL's gameplay in two major departments: progression and combat mechanics. I'll split this post into two parts, and start with progression, leaving combat for part II. Most games don't make all of their content available right from the start, but instead uncover it piece by piece, such that when playing the game, you feel that you're on a path that's leading somewhere. I think we can define progression as a mechanic that prevents the player from reaching all of the game's content at once. It's pretty obvious that it's a hugely important feature, and it can make or break a game. I came up with the following methods of creating progression in base-building games.

    • Making the building and management part of the game absorbing and challenging. This usually requires complex systems that create challenges for the player. Examples of games with such mechanics are: Dwarf Fortress, Rimworld, Gnomoria, Factorio.
    • Having the player wait for stuff to complete. This includes slow resource extraction, tech research that takes time, etc. Even though this method is often used in successful games, I think it can give bad results if not used carefully.
    • External challenges, like invaders, disasters, etc. They can strictly define progress, like in the tower defense genre, or be a side feature and just hinder the player's efforts from time to time.
    • Exploration and conquest outside of the player's base. Only some base-building games have them. Conquest can be a requirement for winning the game, but it can also be tied more closely with progression by letting the player bring back loot and resources that are then used to improve his or her base.
    I've decided long time ago that KeeperRL won't be about complex management and building a'la Dwarf Fortress, because I don't enjoy this kind of games that much, and I feel that I couldn't design one well. This leaves the other three bullet points to think about. A major issue in KeeperRL's progression is that you can create a perfect army without being bothered much, and only then destroy all the villains. The end can also be boring, because you can be as strong as you want to. I realized that this is because the game rewards you for waiting with regeneration of mana. Waiting is only good when it comes with trade-offs, such as a risk of being invaded. But invasions are hard to balance in KeeperRL, and when the enemies are too aggressive, then the game becomes too hard for lot of players. That's why I tried a different direction and removed the waiting, such that mana is only awarded for conquering villains, and not generated in the library. It turns out that this simple change made the game much more interesting. Conquest is the only way to research technology, so it's very strictly tied with your dungeon's progression. It could potentially make the game too linear, but I think this can be mitigated by tweaking technologies and their cost, so that multiple research paths are optimal. The biggest consequence of this change is that it creates a huge incentive for attacking. You are always desperate for more mana, so you'll attack with weaker forces than before, which will create new challenges and interesting scenarios. There are more changes that need to come along, for example some structures and minions used to cost mana, but since it's a more valuable resource now, the costs need to be tweaked. The primary use of the library room was to generate mana, but now it will only be a training room for spellcasting minions. I know that there are players who are in more for base-building than the roguelike aspects of KeeperRL. This is where the endless mode will help, substituting conquest with defending your dungeon - mana will be rewarded for each deflected enemy wave. As I've already mentioned, the next blog post will talk about changes in combat mechanics. I hope to be able to publish a testing build once all of the described changes are implemented in a basic form, and gather feedback from you. This will let me tweak and balance things or even revert the changes if they don't work out. At the same time I will be implementing the other features planned in Alpha23: the endless mode and content additions.


    [ 2017-07-03 07:12:38 CET ] [ Original post ]

    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. If you would like to continue with your saved game from Alpha21, you can opt-in into the "Alpha21 save compatibility" BETA branch under the game's properties in Library. Make sure to opt-out of the branch to go back to Alpha22 when you're done!
    Gameplay changes:

    • Dedicated tutorial mode that teaches the game's basic features and controls.
    • Saving and loading times, as well as save files sizes, decreased 2-3 times.
    • Portals are available as a building, instead of a spell. They don't time out.
    • All resource values, except mana, are deflated 5 times. (everything costs less, you extract less).
    • Team members are woken up and untied when given a "go-to" order.
    • Creatures will not give healing items to wounded friends who already have means of healing themselves.
    • Ownership of an item by a minion is assumed when player equips the item in control mode.
    UI changes:
    • Added setting to disable vertical sync, which may solve some framerate issues.
    • New, nicer research menu.
    • Added descriptions to keeper-adventurer menu.
    • Changed highlighting of various buttons and tab icons.
    • Clicking on controlled creature skips turn.
    • Added a simple movement animation of creatures when destroying objects, digging, and cutting trees.
    • Window "close" button is highlighted.
    • Swapped storage colors. Equipment is now blue, resources green.
    Bug fixes:
    • Fixed UI crash when changing minion's task.
    • Fix drowning of flying creatures that enter deep water that is in forbidden zone.
    • Fixed mouse navigation to enemies that are far away when in control mode.
    • Fixed crash in item pick up menu.
    • Made message boards work even if statistics gathering is not enabled in the settings.
    • Fixed movement animation glitch when using mouse and being interrupted by enemy.
    • Fix UI crashes involving workshops and minion equipment menu.
    • Fixed tooltips in workshop menu.
    • Fix scrolling inventory in control mode.
    • Fixed game speed dialog glitch.
    • Removed useless "execution" task.


    [ 2017-06-14 15:42:00 CET ] [ Original post ]

    Alpha22 is available for testing on all platforms

    Alpha22 is ready for you to test on Windows, Mac, and Linux. Besides adding support for all platforms, I've fixed a lot of bugs and issues that were reported by testers. Thank you all for helping out! Alpha22 will be officially released soon, so this is the last chance to help with bug hunting. :) You can opt into the testing branch by going into the game's properties in the Steam client, switching to the BETA tab, and choosing the branch 'dev'. Please post any feedback in the comments below or on the community forums.


    [ 2017-06-07 11:19:13 CET ] [ Original post ]

    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 have taken way too long. Nothing is lost though, as the remaining features will make it into Alpha23, and whatever is already done, will be out earlier. So, what's coming in Alpha22? The main feature is the dedicated tutorial mode. I've already written a little bit on what it will look like here and here. The tutorial is almost finished, and I'm taking feedback from testers right now to make sure that it covers as many basics of the game as possible. As you can imagine, having worked on the game for 4 years, I can be prone to overlooking many things. :P There are some other nice features coming along, like the 2-3 times faster saving and loading, smaller save files, portals reworked as dungeon furniture, and fixes in equipment management. These are not huge changes, but as I've written in previous posts, they involved a lot of work under the hood, and have easily taken at least half of development time of this release. The other big features that I promised before, like the endless mode, content additions from the wiki, and key mapping configuration, are going to come in Alpha23, as I've mentioned in the beginning. My plan right now is to finish up the tutorial. In the meantime, many Steam users are already testing the new build, and I've received quite a few bug reports, for which I'm very thankful. Once all the known bugs are fixed, and the tutorial is finished, Alpha22 will be ready. Sounds easy! I'm hopeful that it will happen in early June.


    [ 2017-05-26 20:32:47 CET ] [ Original post ]

    KeeperRL Official Soundtrack released!

    You can now purchase the soundtrack of KeeperRL to listen to through the Steam music player. It includes the classic piano pieces from adventure mode produced by Marcin Brzozowski, as well as the fantasy tracks by Krzysztof Łoza. There are also bonus tracks that are not present in the game. In total over a 100 minutes of music! All proceeds from the DLC will support the two independent artists. Follow this link to buy the soundtrack.


    [ 2017-05-26 09:41:55 CET ] [ Original post ]

    Alpha22 is available for testing

    I uploaded a testing build of KeeperRL Alpha22 to Steam. You can opt into the testing branch by going into the game's properties in the Steam client, switching to the BETA tab, and choosing the branch 'dev'. Please post any feedback on the community forums. Below is a rundown of changes to this day. In another post I'll talk about the plans for when Alpha22 is going to be released, and how the new features that I've promised recently will be divided between future updates.

    • Dedicated tutorial mode.
    • Portals can be built in real-time mode, don't time out.
    • Portals only work within a single map.
    • Items equipped while controlling a minion are auto-owned by the creature.
    • All resource numbers except mana deflated by a factor of 5.
    • Added setting to disable Vertical Sync.
    • Saving and loading 2-3 times faster.
    • Smaller save files.
    • Changed the UI highlight.
    • Added to hints to role choice menu.
    • Removed useless execution task.
    • Fixed game speed dialog glitch.
    • Improved research UI.
    • Fixed scrolling in control mode.
    • Prevented drowning of flying creatures that enter deep water that is in forbidden zone.
    • Fixed tooltips in workshop overlay.
    • Swapped storage colors.
    • Changed tree and bush highlight sprite.


    [ 2017-05-12 11:26:51 CET ] [ Original post ]

    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.


    [ 2017-04-15 07:17:44 CET ] [ Original post ]

    Plans for Alpha22

    It's been a while since I last wrote on the blog, and let's be frank, regular updates are not my strongest point :P . But that doesn't mean that I'm not busy working on your favorite game! Let's start with a short summary of the Alpha21 release. I received a lot of positive comments about the immigration mechanic, which surprised me quite a bit. I thought that it was less important than the free furniture placement in Alpha20, but maybe I underestimated how much the random immigrants were getting on people's nerves :) . In any case, I'm very happy about the feature. Alpha21 was also important because I fixed a few long standing bugs and compatibility issues, and it's also the first version where FPS stays at decent values throughout the game. Working on technical stuff has taken a LOT of my time and energy in the last two years, and it feels really good to have most of it done, especially that it's not really something that I enjoy. There are still things that I would like to fix, like a better saving framework and rendering improvements, for example, but they're mostly optional and don't stand that much in the way of a 1.0 release. After releasing Alpha21 I spent a couple of weeks taking things slow, and planning out the next update. Meanwhile, there has been a great initiative by SoftMonster aka Keeperman to gather player requests for new content on the Wiki. Many of the ideas are very good, and I decided to implement a bunch of them in Alpha22. Here is a list of the ones that I picked, if you are curious. I mostly chose things that are easy to implement and don't modify the gameplay significantly, in other words I went for  the 'low hanging fruit'. But I'll keep looking at the request page in the future, so if you have anything on your mind, please add it! Besides new content, the new update will feature a tutorial and key mapping customization. The tutorial will be full blown with a dedicated non-random map, and will teach all the basics of the game from controls to gameplay. The main goal is to keep players from leaving the game within the first hour, which happens a LOT now. I also do that often when I play other games, and I think that a good tutorial can be a tremendous help to keep the player's interest. I'm also curious if any veteran players discover anything new. I've already started working on the tutorial and it's going really well. I'll post some screenshots soon. (I'm not sure though if this is a very interesting topic for players who already know the game :P ). The next blog update will coincide with the 2nd anniversary of KeeperRL's Steam launch, so I'll try to write a bit about my thoughts and experience with Steam EA. A few weeks ago I discovered the chat feature on Steam, and that I can create chat events, and invite players. We already did one, and today at 7pm UTC is another one! To enter you need to the Steam client installed, although you don't need to own the KeeperRL on Steam.


    [ 2017-03-26 10:59:25 CET ] [ Original post ]

    Alpha21 hotfix3 released

    Fixed a common bug that caused the game to crash or go into an infinite autosave loop after opening a chest. PS. Sorry for not appearing in the chat event on Sunday! I'm scheduling another event for tomorrow (Friday) and at the same time setting an alarm on my phone so I don't forget again :-)


    [ 2017-03-09 19:45:31 CET ] [ Original post ]

    Alpha21 Hotfix2 is released.

    • Optimization of equipment tracking. You may see big improvement in FPS in dungeons with large quantities of equipment lying around.
    • Fixed crashed caused by closing the game window during saving, loading or map generation.
    • Added diagnostics for an unresolved crash.


    [ 2017-03-04 10:31:06 CET ] [ Original post ]

    Alpha21 hotfix released

    • Fixed crash that sometimes happened when accepting an immigrant.
    • Fixed retirement crash.
    • Fixed crash when closing the game at the 'failed audio' warning.


    [ 2017-02-27 13:48:42 CET ] [ Original post ]

    KeeperRL Alpha21 is released!

    KeeperRL Alpha21 is finally here! This update features a new immigration system, which allows the player to accept or reject incoming minions. There is also a new campaign mode aimed to make the game more competitive. Last, but not least, there are female keepers and adventurers! There is much more! Check out the changelog below for details.
    Gameplay changes

    • New immigration system and UI, which lets the player accept or reject minions, and unifies immigration, recruitment, breeding, and imp spawning.
    • New campaign game mode with fixed keeper position and villains.
    • In games where the player has won, highscores are only based on the number of turns.
    • Old campaign mode renamed to "free play". Highscores disabled for this mode.
    • The "your evilness" trigger replaced by one based on the number of conquered villains.
    • Added kraken enemy on keeper's base map.
    • Removed some attack triggers from retired keepers to make them less aggressive.
    • Invisible friendly creatures are visible in creature control mode.
    • Only humanoids are allowed to be whipped.
    • Non-humanoids are not allowed to open chests and coffins.
    • "Escape" spell won't teleport creature to an inaccessible area.
    • Minerals won't spawn next to dug out tiles.
    UI changes
    • Female keepers and adventurers! Gender currently has no effect on gameplay.
    • Single map mode is available through the campaign setup window.
    • Smooth scrolling through lists. Fixed various scrolling issues.
    • New UI for firing ranged weapons using the mouse.
    • Added team go-to order by drag and dropping team from the minion menu onto the map.
    • Display a guard post sprite when minion is dropped onto the map to go somewhere.
    • Added "drop everything" command in creature control mode.
    • Added tooltips with item descriptions to workshop UI.
    • New interface for paying in shops both for individual items and in bulk.
    • Added information on item weight in creature control mode.
    • Fixed various glitches involving tooltips.
    • Lesser villains are highlighted yellow on campaign map.
    • Allowed rectangle selection when claiming tiles.
    • Won't draw selection rectangle when active order or building doesn't allow it.
    • Tweaked some inconsistent room names in the UI.
    • Some player messages have a higher priority color. Changed "critically wounded" status to "bleeding".
    Bugfixes
    • Fixed a common compatibility issue with Intel Express and similar video cards due to lack of support of non-power-of-two texture sizes.
    • Fixed capturing of prisoners.
    • Fixed torturing of prisoners.
    • Fixed an issue with loading save files on some Linux systems.
    • Fixed a common crash caused by duplicate item ids due to a bug in RNG seeding.
    • Re-implemented minion equipment tracking, which fixes various issues and removes lag.
    • Fixed save file erasing so that an autosave and normal save can't exist at the same time.
    • Fixed updating of creature effects and resistances when equipment is taken off.
    • Fixed hiding command.
    • Fixed furniture removal from claimed squares.
    • Fixed various issues with dungeon retirement.
    • Fixed visibility updating glitches in both real-time and turn-based modes.
    • Fixed various issues and crashes in the throwing UI in creature control mode.
    • Fixed issues with some characters in the message board text.
    • Fixed map scrolling glitch in creature control mode.
    • Fixed some glitches involving rectangle selection in real-time mode.
    • Prevented overflowing keyboard queue and game lock-up by holding space.
    • Fixed issues with clicking on minions on the map.
    • Fixed crash involving a creature getting killed right after traveling to another map.
    • Fixed a crash involving bandits not able to find gold (usually caused by a player using cheats).
    Other
    • Changed format of highscores file to binary.
    • Added versioning to highscores, so they can be cleared after major gameplay changes.
    • The "UI zoom" setting is not available at lower resolutions to prevent crashes.
    • Replaced "no fullscreen" option in Steam launcher with "clear settings".


    [ 2017-02-25 15:27:55 CET ] [ Original post ]

    Alpha21 testing builds for Mac and Linux

    You can now help test Alpha21 on Mac and Linux. Please report any issues in the comments below or on the Steam community forum. PS. The official Alpha21 release is very close now!


    [ 2017-02-23 13:21:27 CET ] [ Original post ]

    Alpha21 available for testing on Steam (Windows only)

    You can now playtest Alpha21 on Steam! To do this, opt into the dev beta branch in the game's properties in your library. For now only Windows builds are available (both 64 and 32-bit). Please post any feedback in the comments section or in the discussions. The patch will be ready for release once I get rid of all bugs!


    [ 2017-02-11 16:50:00 CET ] [ Original post ]

    Alpha21 on the horizon

    The battle for the next release is underway. The new immigration system is mostly finished, and only needs some more playtesting and balancing. It turned out to be quite a beast to implement, even though it doesn't appear very complicated from the player's perspective. But it sure solves a lot of gameplay issues! A few months ago I promised new gameplay modes, and I'm working on them right now. The main obstacle so far has been the campaign starting screen, which has always been pretty cramped, and now I need to squeeze in some more knobs and dials. From now on it will also be used for single map configuration, which will make it easier to add more settings for that mode.
    Unfortunately I have to hold off the release of the endless mode for now, as there are still a few loose ends in terms of gameplay to figure out, and I want to wrap things up as soon as possible, so that Alpha21 can arrive soon. So for now you will only see the addition of a new "campaign" mode, and the current mode being renamed to "free play". On the bright side, female avatars for Keepers and Adventurers are finally arriving! I also took this opportunity to improve the Adventurer's looks. Here they are:
    For now the avatar choice has little effect on gameplay, except that the females are weaker and more dextrous, and the starting spell of male keepers will be "strength". I hope to add more differences here in future updates. Ideas are welcome. I don't have any estimates yet on when Alpha21 will be out, but I hope to be able to post a testing build for volunteers in a week or two. Or at least as soon as I plow through the remaining list of bugs and features.


    [ 2017-01-21 18:58:10 CET ] [ Original post ]

    Summary of development in 2016

    Another year of development has passed like a lighting! As promised, here is a short summary of what has been going on in KeeperRL land. There were only 3 major updates this year, compared to 5 in 2015. On the bright side, they contained big gameplay improvements: campaign mode with retired dungeons controlled by AI, adventurer campaign, free furniture and floor placement, and manual production. They all required tons of architectural changes, which is why the updates took quite long. In addition, I managed to complete a lof of technical work, like moving graphics and audio from the SFML library to SDL + OpenGL. Besides getting rid of some bugs, it allowed some nice UI improvements, like the pretty mouse cursor, and smoother text scrolling (ready to be released in Alpha21). The framerate has also improved drastically, although optimization is more of a continuous battle, and it's not over yet. :) At Alpha19 the game started gathering anonymous statistics, which gave me a lot of insight into how people are playing the game. Below is a breakdown of what types of games players choose. It seems that adding the campaign mode was a good idea, although a number of players still like the single map mode. Note that single map games are not broken down into keeper and adventurer types, due to my oversight in the tracking system.
    KeeperRL's difficulty can be read from the percentage of won games. The graph below also shows that over half of keeper mode games are left unfinished, which is a bit worrying. Presumably these are games where the player got bored or was unhappy with his or her dungeon. I'm going to add further tracking to figure out why this is hapenning.
    Finally, the chart below, courtesy of Steam, shows how much time players spend in the game. About 25% of players have only played the game for less than an hour, and the median time played is 3h:38m. I'm not happy with these numbers, and they suggest that KeeperRL doesn't have a lot of replay value. Most likely it needs big additions of content. Adding a tutorial should also help with keeping more players engaged with the game.
    In terms of sales, 2016 has been good, with around 7000 units sold, compared to 11000 in 2015. The previous year saw the release on Steam Early Access though, so there is no surprise here. What's important is that I have a stable income and can continue working on the game full time without any distractions. :) Time to talk about plans for 2017 :) . With most major gameplay features more or less finished (and a few more coming in early 2017), I think that I will have quite a lot of extra time to add more content. I don't think that the length of individual games will change much (maybe with the exception of the new endless mode), but I want to add a lot of random events and encounters, which should make invidual games more engaging, and more varied between playthroughs. And I will also add more secrets :) . In other words, the kind of things that make roguelike games very replayable. I don't think that KeeperRL will leave early access in 2017. Perhaps it will reach something close to a beta stage, after which I'll focus more on polishing the gameplay, bugfixing, visual and audio improvement, etc. But it's a very wild guess, as the project lives its own life, and I've never managed to predict its future as far as a year ahead :) . All I know is that it looks bright, and I can't wait to see what's going to happen. I wish all the best in the new year to all the fans of my game, and I hope you have loads of fun with KeeperRL, and a little bit with other games, too. :P


    [ 2016-12-31 09:59:02 CET ] [ Original post ]

    Some details on the immigration system

    In the last week I’ve been mostly busy with adding more functionality to the new immigration system. There is now a nice help screen containing almost all minions that you can get in the game, along with their requirements and other information. You can set to automatically accept or reject specific minions, and you can auto-accept all immigrants (which is almost like going back to the old, random immigration) or turn off the immigration altogether. I put a lot of effort to adapt the new system to almost all methods of acquiring minions. This means that you will use it to spawn imps, recruit allies, and use pregnant succubi to mutate humanoids and beasts. I’m very happy about it, as some of these mechanics used to be pretty hidden, and the new system makes them much more visible to the player.
    There is still a lot of tweaking left regarding the immigration rate, and the choice of which immigrants to present. As I said before, you will mostly be presented immigrants that you can immediately accept, but from time to time there will be one with some extra requirements, and you will have fulfill them in a limited time window. Sometimes an immigrant won’t be shown at all, for example any of the demons before you have built at least one demon shrine. It’s almost time to leave for the holidays, and I’ll be without my development machine for almost two weeks. I’ll reserve some time to play-test the new features though, and next week I’ll make a post summarizing the development in the last year.


    [ 2016-12-21 18:26:28 CET ] [ Original post ]

    Even more development news

    In the last few weeks I've been working more or less in parallel on the new major features (selective immigration, and new game modes). It's definitely not hard stuff, compared to the furniture update in Alpha20, which required redesigning big parts of the game's engine. I've had some struggles though, particularly when trying to design UI for the new features. Below is an early take on the immigration UI.  
    I also changed the way the game tracks items (I started using reference counting, for all the programmers out there). This allowed a more elegant design of equipment management that fixed a few bugs and quirks. For example I'm finally able to enforce the limits on the number of specific consumables owned by a minion. I could even add a UI for that, although for now it's hard coded: 40 arrows, 6 healing items, and 6 combat consumables per minion. While I'm at equipment management, I'm planning to add a clever command that combines production scheduling and assigning equipment to minions. In the menu where you order a minion to equip existing items, there will be buttons to schedule various new equipment in the workshops, and automatically assign them to the minion when they are produced. Hopefully this will reduce some of the micro-management that players have complained about. Since Alpha20 was released 6 weeks ago, a lot of bug reports have arrived (about 15 thousands games have been played out since its release though, so there's no surprise). In particular, there's seems to be a major issue with loading textures on some older video cards that prevents many people from launching the game. Therefore I'm planning a bug fixing update soon that fixes as much as possible. There is still a lot to do in every corner, and with the holidays coming soon, I optimistically estimate the release of Alpha21 around the end of January.


    [ 2016-12-12 19:10:38 CET ] [ Original post ]

    On the new upcoming immigration system

    I've already made several attempts at the immigration system, which defines how you acquire new creatures for your dungeon. In the early versions of KeeperRL, minions were simply purchased for mana. This gave a lot of control to the player, but felt boring and made the game repetitive, as you would normally buy the strongest available creatures. About 2.5 years ago I implemented the current semi-random system, where various dungeon features, mostly rooms, attract different creatures. The randomness is good, but the attraction mechanics are too hidden, and players don't understand why they are getting specific minions ([cough] orc shamans [cough]). This in turn causes players to banish or kill their own unwanted minions, which is totally unnecessary and sad. What's needed is a system that combines randomness with control, and whose inner cogs and levers are not hidden from the player. I claim to have found such a solution :D (jokes aside, this is something that has been suggested by several people). The basic idea is to use the existing attraction rules, but instead of simply spawning the immigrant, give the player the choice of accepting or rejecting them. Thus you have complete control on who ends up in your dungeon, although to some extent your fate is still decided by the RNG gods. There is more though. Since a dedicated UI with accept/reject buttons is required for an incoming minion, it's pretty straightforward to also display all the information on what they are attracted by. This teaches the player how the system works. All the stats of the creature will also be available, to help with the decision. While we're at it, the game will also present creatures whose requirements are not met yet. There will be a timer on every incoming immigrant, so you'll have to make fairly quick decisions on whether to rush to fulfill the requirements, by building that bigger training room, for example. Since obtaining strong minions is one of the main goals of the game, I think this will give a lot of guidance to the players on how to proceed with developing their dungeons. It will also serve as a teaser of what you can get. :P There are some nuances to work through, for example immigrants with unmet requirements should be shown much less often than those that you can recruit right away. (Perhaps the chance of presenting an immigrant should decrease with each unment requirement). And of course I need to create the new immigrant UI, although I'll probably ship a minimal working design in the incoming update, and improve it sometime later. So summarize the new system: control, randomness, transparency, and guidance. I probably need to write that on the wall somewhere. Back to coding!


    [ 2016-11-30 19:34:38 CET ] [ Original post ]

    Plans for the next update: endless mode and better campaign

    The dust has settled after releasing Alpha20, and it seems that most players are greatly enjoying the new update. To those that had complaints about some of the new features: I heard you, and even if in the meantime I work on other things, I still remember about the old problems. It may take me some time to come up with solid fixes, though. With this in mind, it’s time to announce the new upcoming features in Alpha21. This time I’m planning more high level changes, mostly involving new game modes. First of all, I’m going to make the campaign mode more competitive by removing most of the settings and limiting retired dungeons to just a few pre-made ones. This will make the runs more comparable between each other, and it will allow meaningful highscores (which will most likely be based only on the number of turns taken to win). The act of winning the game will also regain its meaning. Rest assured that the current campaign mode will stay in the game, it will just be called ‘free play’ from now on. There will actually be more settings (more about them in future posts), and it will be something intended for more advanced players, who want to play the game by their own rules. The only caveat is that there won’t be highscores for this mode. I feel that this is necessary because of the possible abuse of the retired dungeon exchange, and the custom settings. But that’s not all! I’m also introducing a new endless mode! The idea is quite simple: instead of conquering enemy bases, you are raided by creatures of increasing difficulty. The longer you survive, the higher your score. This mode will take place on a campaign-like world map, but only with lesser villains and allies. Visiting them will be optional, and your main activity will be guarding your dungeon. There will be some tweaks and additions to prevent abuse, and to add an ongoing supply of resources. I see it more as an experiment for now, but I think it will be a fun mode. It’s something that quite a few people have requested.


    [ 2016-11-22 21:02:00 CET ] [ Original post ]

    Happy birthday!

    Today is the 3rd anniversary of the release of KeeperRL Alpha1. Enjoy the discount!


    [ 2016-11-05 17:30:24 CET ] [ Original post ]

    KeeperRL Alpha20.1 is out.

    I've made some important changes shortly after releasing Alpha20, and instead of waiting till the next major update, I decided to release them under the number 20.1. The update includes some nice gameplay improvements, bugfixes, and major optimizations. The changes have already been rolling out incrementally on Steam. Here's the changelog going back just to the preview released two days. For the full changelog going back to Alpha20, click here. Gameplay

    • Enemies are highlighted purple to prevent confusion when fighting other Keeper forces. This can be turned off via a setting in real-time and control mode.
    Fixes
    • Fixed a crash involving "Bring item" and "Apply item" tasks.
    • Fixed trap arming issues after the arming task is cancelled.


    [ 2016-11-03 16:08:25 CET ] [ Original post ]

    Alpha20.1 preview

    This is a quick follow-up update after Alpha20. It's a "preview" release, and it will be announced officially within a few days. Since it fixes some major issues, I decided to make it available to all Steam players now. This update doesn't brake save compatibility. Gameplay:

    • New menu for pillaging conquered enemies without having to personally retrieve the items.
    • Pretty custom mouse cursor.
    Fixes
    • Major optimizations of dungeon logic, which should keep the framerate from dropping in the late game.
    • Optimization of handling huge (>5000) piles of items.
    • Fixed game locking up in the building menu.
    • Fixed world generation crash.
    • Improved crash reporting, which should make fixing crashes much easier.


    [ 2016-10-31 17:17:33 CET ] [ Original post ]

    Alpha20 hotfix3 released

    • Fixed crash caused by destroying the walls in elementalist tower.
    • Prevented walls and mountains from being destroyed by blast and word of power spells. (it's a good feature, but needs to be implemented as a feature and not a bug :))
    • Fixed single map retirement crash caused by subtle save file corruption by dead shopkeepers.
    • Fixed animation crash caused by player-controlled creature being displaced by a spell before it made a single move.
    • Added some more diagnostic info to help figure out other crashes.


    [ 2016-10-25 17:58:50 CET ] [ Original post ]

    Alpha20 hotfix2 released

    • Added 4th geology tech tier for 1200 mana, which doubles the total amount of available resources.
    • The number of minerals dropped by digging out ore tiles has doubled, the number of veins halved for respective geology tiers. (effectively this change is neutral, except that less digging is necessary).
    • Digging out individual ore tiles takes a bit longer.
    • Decreased the number of orc shamans attracted by each library tile.


    [ 2016-10-22 10:10:22 CET ] [ Original post ]

    Alpha20 hotfix released

    • Fixed door locking crash.
    • Fixed single map world generation crash.
    • Fixed knights and other AI rushing to enter buildings.
    • Added diagnostics to trace an unresolved crash.


    [ 2016-10-21 10:42:59 CET ] [ Original post ]

    KeeperRL Alpha20 released!

    I'm pleased to announce that KeeperRL Alpha20 is out! This is a major update in the base-building department, featuring free furniture placement, manual workshop production, and the new steel resource, along with various room and item upgrades. As always, the update is already available on Steam, Itch.io, and Humble Store. You can also get the free version from here. Save format has changed since the previous update, so if you'd like to continue playing your old save file, please opt into the old_saves BETA branch in the game's properties in the Steam client. This will download Alpha19 for you. Remember to switch back to Alpha20 later!
    Gameplay changes:

    • Steel resource, furnace and steel products.
    • Free floor and furniture placement.
    • Manual scheduling of production.
    • Steel and traps production scheduled automatically as needed.
    • Training room upgrades.
    • New formulas for creature experience gains from training and combat.
    • Manual ordering of doppelganger absorbtion.
    • Merged all crafting tasks, minions automatically choose what to work on.
    • New skills that influence workshop productivity and mana production.
    • Most furniture blocks movement.
    • More iron and stone generated on map, more wood dropped by trees.
    • Iron working tech more costly.
    • New trigger that causes major enemies to increase their attacks after 7k turns.
    • Wall reinforcing.
    • Fixed mana bonus for exterminating a tribe, instead of killing individual creatures.
    • Storage reimplemented as zones. Can designate anywhere.
    • Persistent version of the fetch items order.
    • The keeper is spawned away from map edges.
    • New tile efficiency formula.
    • Pre-generated sokoban levels (a lot) for faster world generation.
    • Whipping and torture reimplemented as minion activity.
    UI changes:
    • New dialog for commands in control mode.
    • New dialog for creature experience level details.
    • Setting minion tasks by drag and dropping on the map.
    • Clicking on workshop or library tiles opens control window.
    • Simple animations for when minions are working.
    • Button group hotkey cycles through all sub-buttons.
    • Improved rendering of some highlights.
    • Improved throwing animation.
    Bug fixes
    • Fixed white screen of death that prevented some players from launching the game.
    • Fixed dark elf recruitment, and made them respect their cave boundaries.
    • Fixed legendary humanoid limbs.
    • Fixed tile claiming.
    • Fixed movement glitches on some maps.
    • Fixed poison gas effects.
    • Game won't crash anymore in case of audio issues. Will mute audio instead.
    • Imp AI reacts better to being blocked when fetching items.
    • Fixed team UI issues.
    • Fixed boulder movement and animation glitches.
    • Fixed how minion's morale is used for their working efficiency.
    • Added diagnostics for various unknown crashes.


    [ 2016-10-20 15:38:53 CET ] [ Original post ]

    Alpha20 available for testing on Steam (Windows only)

    You can now playtest Alpha20 on Steam! To do this, opt into the dev beta branch in the game's properties in your library. For now I only uploaded Windows (both 64 and 32-bit) builds. I'm not planning to add any new features before releasing, so if no major problems show up, you can expect Alpha20 to become official within one week. Please let me know of any bugs or other issues! The changes from the last two weeks include:

    • Fixed the "white screen of death", which prevented a lot of players from launching Alpha20.
    • Doppelganger absorbtion was made completely manual.
    • New dialog with control mode commands integrated with help.
    • Storage is reimplemented as zones instead of floor. This means that you can designate it over any floor or even outside the dungeon.
    • Separate experience points for combat. All creatures, excluding the adventurer, can gain a maximum of 4 levels in combat. There is also a dialog which shows the details of experience gains of a creature.
    • Legendary humanoids got their limbs back :)
    • Added a new trigger to all main villains, which increases their aggression after 7000 turns.
    • Fixed tile claiming. You can also claim furniture of destroyed tribes.


    [ 2016-10-10 14:22:09 CET ] [ Original post ]

    Finalizing the new features for Alpha20

    I'm slowly trying to wrap up this release, and having added a lot of new features, it may take a bit of time. Steelmaking is here, as I described in the previous blog post. The steel furnace is just another manufactory, and requires a minion to attend it. It auto-schedules production based on demand, like the workshop does with traps, although the player can manually order extra steel if they have such need. It quickly turned out that minions need to be smarter about attending manufactories, otherwise the player would have to micromanage them a lot. A typical example is when minions are forging weapons, and they run out of steel. They switch to the furnace, produce as much as they need, then go back to the forge. To make this automatic, I merged all the crafting tasks into one, and a minion will always try to work at a manufactory that's not idle at the moment. You can still change their choice by drag and dropping them somewhere else, but you can't forbid them to attend a specific manufactory anymore.
    This works nicely within the crafting task, but minions still won't switch intelligently from training, studying, etc. to crafting, and vice versa. So when all production is done, they will sit idly at the manufactories. To solve this, I would need to add a priority system, like in Rimworld, for example. Steelmaking is probably the last major feature that I added to Alpha20. Let's go into the smaller stuff now. I've added wall reinforcing, which mostly makes your dungeon look nicer, improves tile efficiency, and gives use to that extra stone lying around. You can see the new walls in the screenshot above. I've added a dedicated skill for every manufactory, and it affects minions' efficiency there. An orc won't be as good at the workshop as a goblin anymore. There is also a skill that affects mana production. Something that I needed to do for a long time was fixing the sokoban level generation. It was always taking too long, as the algorithm uses a lot of computing power. The easiest solution was to take it out of the game, run it separately, and add a bunch of pre-generated levels to the game in the form of a data file. So it's technically not random anymore, but there are plenty of levels, and they can actually be harder, because I can run the standalone generator for as a long as I want on my machine. Generating random sokoban levels is actually a pretty interesting topic, and it seems that there hasn't been much research on it. My current generator isn't very sophisticated, and the levels it spits out are rather easy to solve, so I want to take the time to improve it. If you want to have a look, you can find the its source code here. I've been also looking for other puzzles to insert into the game in the form of special levels that would leverage existing mechanics (Sokoban and boulders are an excellent example of this). If anyone knows of such puzzles, please let me know.


    [ 2016-09-25 08:50:23 CET ] [ Original post ]

    About room upgrades, efficiency, and steel

    Every tile where work is performed (workshop, library, training dummy, etc) has a certain efficiency number attached to it, which affects how quickly the work is done by minions. The base efficiency is 100, and it is modified with the use of floors. The three types of floors that I've added so far (wooden, stone and carpet) add 2, 4 and 6 points of efficiency, respectively, to the nine tiles in the closest vicinity. Therefore, a tile's efficiency can grow to 154, if it has the best floor around and underneath. It is also dependent on the amount of light, and it can go down by 50% if you don't place torches in your dungeon. I'm also planning other floor types that have magical effects on whomever is standing on them, and they will be used as part of dungeon defenses. They are yet to be designed, though. Another feature that I planned were room upgrades, and I started with adding new types of training dummies. I also used the occasion to modify the experience leveling algorithm. The three types of dummy (wooden, iron, and steel) allow gaining respectively 3, 7, and 12 experience levels. The number is the same for every creature, so both an orc and a legendary humanoid can gain 7 levels on iron dummies. The training speed is now constant, and it takes 300-400 turns to gain a level (the number will be subject to balancing :)). I'm also going to tone down leveling during combat, as it's hugely overpowered now. I need to figure out some clever algorithm to make it still relevant, though.
    The last feature that will go into Alpha20, probably, is a new material: steel. As you know, steel is produced from iron and other elements by the means of metallurgy, and it will be the same in KeeperRL. After researching appropriate technology, and getting enough materials, you will build furnaces that produce steel plates. The amount of resources and time that you'll have to sacrifice to produce a meaningful amount will be large, therefore this will be a late-game advancement. You'll use the steel plates to create weapons, armor, training dummies, and other nice things. Cool stuff! I'll also test whether it makes sense to add an analogous method of iron production, such that you'll melt iron ore in furnaces to create iron plates, which will be used for buildings and crafting. It would be a nice way to add even more progression to the game, although I'm not sure if it will work nicely with other systems. Any input will be greatly appreciated. For now, that's all folks. :)


    [ 2016-09-16 16:18:32 CET ] [ Original post ]

    Minion drag dropping and some stats

    A few days ago I finished the big refactoring that I wrote about in the previous update, and now it's time to do more fun things. The minion management UI is pretty clunky, so I added a way to change minion tasks by drag-and-dropping them into appropriate rooms. It's much faster!
    With this in place, it was easy to add a simple go-to order by dragging a minion, in case you want to quickly explore some area or order them to join a fight, without having to control them. It's more of a convenience feature than full blown RTS-style commanding. For example you can't give this order to an entire team. With the new manual production there is potential to make minions smarter, for example have them automatically switch to whichever manufactory is producing something, or revert to training or studying. It's still unclear how to reconcile it with manual assignment, and it will probably require larger internal changes, so I'll leave this for a later update. Right now I'm going to finish the new floor features, like efficiency bonuses, and I'll maybe add a few special "magical" floor types. I haven't decided whether I'm going to prepare a new release next, or keep adding more gameplay changes. Let's have a quick look at some of the game statistics that the game now gathers. Since Alpha19 was released 44 days ago, 1644 players played 6103 campaign and 1253 single map games. Of the campaign games, there were 3650 keepers and 2453 adventurers. The above numbers are nice, however it turns out that only 7% of players played 10 or more games, 21% played 5 or more. 42% played only one game (this single playthrough lasted 6500 turns on the average). This confirms that I need to work more on the gameplay, to make it more absorbing, and try to make players come back more often.


    [ 2016-09-07 15:39:47 CET ] [ Original post ]

    The joy of cleaning up old code

    Between adding features and making other changes visible to the players, I spend quite a bit of time working on the code architecture in KeeperRL. It pays off given the long term nature of the project, and also because working with well designed code simply makes me a happier programmer. There is a particular bastion of bad design that goes back to the days when KeeperRL was a simple ascii roguelike. All non-moving objects in the game are described by one type of entity, called a square (because each one occupies one square on the grid). There may be only one square at a given position, so when, for example, a chest is placed on a floor, it replaces the floor square. A square is also responsible for tracking any creature that enters its grid cell, and any items that are dropped on it. When I added the dungeon management features, building and digging was as simple as replacing one square with another. Even cutting trees meant replacing a tree with a tree trunk. When I added graphics to the game (about 10 months into development), the squares had to remember what they replaced and draw that as a background, so you could see the grass under a tree (with ascii you don't have this problem, as each position is always rendered as one character). As I was adding features to the game, more logic piled up on top of this design, and it stopped being pretty. The right way to do it was to have another type of entity represent all the objects that can be built, replaced, etc. It would also take care of all interactions between the static object and a creature. The change is not simple though, as a lot of things would be influenced: pathfinding, building, lighting, spreading of fire, etc. On the other hand, there was a solid reason against it: the existing code was already well tested and working. Until a few weeks ago, when I started implementing manual placement of floors. I wanted to allow replacing the floor under an already existing object, like a door, but the existing design couldn't handle it. This was the straw that broke the camel's back, and I went and added the new type of entity, temporarily called "furniture", although it includes other things, like trees, walls, etc. These existing objects and their functionality needed to be translated to "furniture", which caused a chain reaction of other necessary changes deep in the game's internals. The resulting design will be much better, but it will need a lot of testing before it's released to the public. Anyway, this is what I've been doing in the past week. It's just an example of what I work on, when I'm not adding new features. If some updates seem to take too long, it's because I have to embark on this kind of adventures. :)


    [ 2016-08-25 16:29:18 CET ] [ Original post ]

    Manual production and dungeon design

    The first feature that went into the next update is manual control over workshop production. The randomness in the previous versions was temporary, although it took me a while to get to that :P. Items also have their cost now, and the economy will be modified to accommodate that fact: resources will be more plentiful, but they will take longer to extract. I'll also have to change imp AI so that they don't get stuck mining when there are more important things to do. The new system is pretty smart: traps are auto-scheduled for production as you place them in the dungeon. Minions will also look for something to do in other workshops if the queue in their current workshop is empty.
    You can also notice another change in the screenshot above. Floors and various furniture have been discoupled, so you'll have much more freedom in designing your dungeon. All the furniture, like book shelves, training dummies and workshop tables will block creature movement from now on. The various types of floors might influence things like efficiency, minion attraction, combat, etc. (I still have to design that part). Rooms will be upgradeable. It might also be time to let the player reinforce dungeon walls and make the prettier.
    I'm planning to add one more gameplay feature, which I will discuss in the next blog update. Besides that, I won't try to stuff much more into Alpha 20. I think just polishing and balancing the new features will take enough time. There are also a few things from the campaign updates that need fixing, like travel constraints.


    [ 2016-08-11 19:25:51 CET ] [ Original post ]

    Alpha19 hotfix 2

    • Fixed a frame rate issue happening in dungeons with lots of minions. This doesn't fix all frame rate problems, but the situation shouldn't be as severe as before. More optimizations will arrive in Alpha20.


    [ 2016-08-02 16:40:25 CET ] [ Original post ]

    Plans for Alpha20

    Now that Alpha19 is out, fixing many technical and other issues introduced earlier, a lot of weight is off my chest . Players seem to enjoy the Adventurer campaign greatly. So far 782 Adventurers have been played, compared to 838 Keepers. The total number of turns spent by Adventurers is only 886 thousand compared to 5.4 million in Keeper mode, but that was expected as the games are much shorter. Big thanks to everyone who agreed to sending game statistics, I promise not to target any ads based on your sadistic deeds in the game.


    [ 2016-07-29 14:00:54 CET ] [ Original post ]

    Alpha19 hotfix

    • Replaced dragon back with minotaur in castle cellar.
    • Fixed loading of smaller version of menu background in case OpenGL doesn't support the resolution of the original background.
    • Added more diagnostics to audio initialization failures on some systems to get a better understanding of what's going on (future updates will simply start without audio in such situations).


    [ 2016-07-29 10:32:05 CET ] [ Original post ]

    Alpha19 hotfix

    • Replaced dragon back with minotaur in castle cellar.
    • Fixed loading smaller resolution menu background when OpenGL doesn't support the original resolution.
    • Added better diagnostics when audio initialization fails on some configurations, to get a better understanding of what's going wrong (in the next updates the game will simply run without audio in such cases).


    [ 2016-07-29 10:26:43 CET ] [ Original post ]

    KeeperRL Alpha19 is released!

    KeeperRL Alpha19 has finally arrived! This update, among many small features and fixes, allows adventurers to play in the campaign. This makes the adventure mode much more attractive, as you can now visit allies, buy from shops and level up on smaller enemies before tackling the dangerous guys. See the changelog below for all the changes.
    Changelog:

    • Added adventurer campaign mode.
    • Fixed management of autosave files so that there is a always a file to recover from.
    • Switched from SFML rendering and audio library to SDL2, OpenGL, and OpenAL.
    • Decreased RAM usage by about 50% by reusing objects for identical map tiles.
    • Optimized the rendering logic to get about a 50% increase in framerate in the early game.
    • Moved back from Visual Studio to MinGW compiler to avoid some technical issues with the former.
    • Added message boards that can be built by Keepers and function as primitive chat rooms.
    • Added small random settlements: human and elven villages, dwarf and kobold caves.
    • Added forest animals: deer, foxes and boars to maps.
    • Added different body materials, which affect combat and types of dropped corpses.
    • Enabled passing through doors of friendly settlements.
    • Added opt-in collecting of game statistics.
    • Added question marks and town names to minimap.
    • Added a message for when a minion learns a new spell.
    • Made the game work on a single thread to avoid some technical issues.
    • Changed the ratios of hills and forest in level generation so that trees are found more easily.
    • Made the keeper always be spawned next to a mountain.
    • Fixed conquering of cemetery level.
    • Fixed crash when creature is insta-killed by a spell.
    • Removed Sokoban from the single map mode to avoid level generation issues.
    • Fixed crashes when exiting the game.
    • Fixed crash involving the power spell animation.
    • Fixed scrolling in the minion window.
    • Fixed various issues that prevented winning, retiring, and playing as adventurer in single map mode.
    • Prevented the giant spider from getting entangled in her own webs.
    • Fixed a minion spell learning bug.
    • Fixed item pricing and shopkeeper bugs.
    • Fixed ambush bug that caused the player to be invisible forever.
    • Fixed message refreshing that caused some confusion when the game ended.
    • Fixed various issues in music playback.
    • Fixed switching tabs in creature control mode.


    [ 2016-07-26 14:35:08 CET ] [ Original post ]

    A small delay

    I've been fixing a LOT of things in the last two weeks, and there are still more to work on, hence Alpha19 will be delayed a little bit. The previous versions were a bit too unstable, so I think it's a good idea to take some more time and clean things up. Plus I'm in the process of moving to a new country, so I'll have to spend some time packing and unpacking those boxes. :) One serious bug that I'm pretty ashamed of concerned autosaves. By principle there should always be a recent autosave that can be used to recover the game after a crash (unless it's a new game). Because KeeperRL is a perma-death game, it deleted save files after they were loaded. Which included autosaves. So if the game crashed within 1500 turns of loading, it was completely lost. In the fix, regular save files are renamed to autosave files after being loaded, and files are only deleted after the game ends (when you win, lose or abandon it). This makes cheating a little bit easier, but it's a better alternative than players loosing their progress.
    I spent a few days optimizing the rendering code, which brought about a 50% increase in frame rate in the early game. Later in the game other things take more of the CPU, so the improvement gets smaller. I'm planning to optimize gameplay code too, though, so hopefully everything will get faster. I've fixed lots of other bugs, including one that was almost a year old. On top of this, I'm still replacing parts of the code related to the recent move to SDL2. I've had to implement my own audio library on top of OpenAL and Vorbis, because anything I could find didn't work well enough. This is definitely a downside of not working with a game engine like Unity or Unreal. But when I'm finally done with this s**t, imagine all of that steam going into gameplay improvements. :) Right now I predict that Alpha19 will come out in about two weeks.


    [ 2016-07-12 20:58:37 CET ] [ Original post ]

    Testing and final features

    An early Alpha19 build is available for testing on Steam on the 'dev' branch. It's fairly complete in terms of gameplay features, but it still needs some bug fixing and optimizations. One of the non-gameplay changes in this update is to switch back to the single-threaded mode. It used to be just an option, and by default the rendering loop ran on a separate thread. The main purpose was to have a more responsive UI in case the gameplay loop lagged. In addition, it generally increased FPS, but not by much (less than 25%). The problem was that it wasn't very well designed, and there were some subtle bugs. There were also problems with very low FPS on some multi-core systems. I decided to go back to a single thread for simplicity. The code needs to be more optimized anyway. With proper optimizations, a single core shouldn't have any trouble with handling both rendering and gameplay. With this in mind, I'm going to spend the next week or two optimizing the hell out of every line of code. (or to be more precise, rewriting entire badly optimized chunks of code) :) As a bonus for this week, I compiled a list of the most deadly enemies in KeeperRL. Keeper games:

    • Bandit (16% of all deaths)
    • Knight 11%
    • Lizardman 8%
    • Archer 6%
    • Warrior 4%
    • Dwarf 4%
    • Cyclops 3%
    • Tree spirit 3%
    • Red dragon 2%
    • Dog 2%
    Adventurer games:
    • Harpy 12%
    • Boulder 12%
    • Orc 9%
    • Keeper 8%
    • Minotaur 7%
    • Ogre 5%
    • Vampire 4%
    • Drowning 4%
    • Doppelganger 2%
    • Wolf 2%
    Percentage of games won:
    • Keepers: 11%
    • Adventurers 5%.
    Total number of games taken into account: 24661.


    [ 2016-07-01 19:02:59 CET ] [ Original post ]

    Adventurer campaign mode

    The basic parts of adventurer campaign are done. It's not much different from the keeper campaign, except that you don't build a base, and some enemies are turned into allies and vice-versa. The retired keepers are still hostile, of course. The influence zone works identically, but you start the game on one of the existing locations (it can be both hostile or allied). The big benefit of this mode, compared to the single map adventure, is that you can build up your character in various locations before you engage with your main enemies. The allied settlements like the castle and dwarf cave have shops where you can buy equipment. I'm also planning to add some generic dungeons specifically to the adventure mode to turn it into more of an rpg experience. There still isn't nearly as much progression in the game as I'd like of course. Ideally, there would be various strategies to progress your adventurer, and the characters would be very differentiated by the end of the game. At this point, we could think about uploading retired adventurers to spawn them as enemies in keeper games. Another thing that I want to add in later updates is getting companions by hiring and other ways.
    I've finished the mechanism of uploading game statistics. I think they will be extremely useful. I'll get info about what game modes are being played and how long individual playthroughs are. This will give me good data on whether we can remove the single map mode from the game (I won't remove it if a lot of people keep playing it). All the data will be anonymous, of course, and there will be a description of what exactly is being sent, and you'll be able to turn it off. I've also implemented message boards. As I've already mentioned, they can be built by keepers and anyone passing by can write anything on them. The messages are stored on the server and are automatically updated. I'm planning to upload a build to the testing branch on Steam in the coming week. My current estimate for release date is early July.


    [ 2016-06-19 20:20:08 CET ] [ Original post ]

    More development news

    Porting to SDL took about a week. A little bit more than I thought, because it turned out that text rendering and audio playback are a bit lacking (actually, they are not part of the core library, and of much lower quality). So I had to search for replacement libraries. They seem to work well, but I still need to test them on platforms other than Linux. I sincerely hope that the game gets more stable after the whole ordeal of moving away from SFML. After the last three weeks of refactoring and platform stuff, I finally had some time for gameplay changes! I added wildlife to the maps. So far: deer, foxes and boars. Their simple AI tries to run away from everything else and attack only when adjacent to another creature. Other creatures normally don't chase nor attack wildlife. I also added some extra settlements to maps. They don't take much part in the game except just being there and adding variety. For now they are: human, elven and lizardman cottages, and dwarf and kobold caves. Besides the usual civilians, they now also have a small number of guards. I want to add a lot more content like that (and also some surprises and mysteries), but probably not all of it in this release.
    Finally, I worked a bit on sending game event statistics to the server. It was already used in the last update for stats on retired dungeons, but it was somewhat broken. This time it should be more reliable and I will get richer data. It will super useful to have when working on gameplay, and also to know about any problems that might happening in the game. The statistics are of course completely anonymous, and you'll be able to opt-out in the settings. I'll also display text with all the details, so you'll know exactly what is being gathered. I'll talk soon about more gameplay changes. At the moment I predict Alpha19 to come out in the beginning of July.


    [ 2016-06-06 20:45:45 CET ] [ Original post ]

    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.


    [ 2016-05-31 20:52:38 CET ] [ Original post ]

    Alpha18 release summary

    It's been more than two weeks since the last alpha release, so it's time for a short summary, followed by general plans for Alpha19. Let's start with bugs :). This release was especially prone to them. The first type are bugs caused by changes in game logic to accommodate the campaign mode. Those are usually simple to figure out (as they exist purely in my own code). Most involved breaking something in the single map mode, which I didn't test enough before releasing. I hope to have the majority of them fixed in the next "hotfix" update in the following week. The other type of bugs were caused by porting the game to the Microsoft Visual Studio compiler. One does not simply copy sixty thousand lines of code into software developed by Microsoft and expect everything to work :D. There is one nasty bug that crashes the game during saving (or perhaps only while autosaving). The nastiness comes from the fact that it doesn't get reported, i.e. it crashes the program so badly that reporting also goes down. All my knowledge about it comes from anecdotal reports from players, which is a very bad situation. I suspect it might have to do with high RAM usage by the game. I'll work on improving this in Alpha19. Meanwhile, I hope to get more data on the crash. If it has happened to you, I'll be very grateful for an email or a post on the forums with your system specs (especially RAM), details on the game you were playing (whether single map or campaign, number of villains in the campaign, etc), and if it has happened to you just once or more frequently. There are also a few low level bugs, mostly concerning the graphics and multimedia library SFML, which I'm planning the replace with SDL soon (which will replace current bugs with new ones, hopefully fewer :P). They usually manifest themselves by the game not starting at all or by weird crashes not connected to gameplay. There are also missing dll errors caused strictly by the port to the Microsoft compiler. I think I've done everything correctly to resolve them, but some players still have problems running the game, so I'll have to spend some more time on this. The feedback about the campaign mode was very positive, which makes me very happy. I think it adds a lot of freshness to the game, and breaks the routine of the old single map gameplay. I hope to continue this trend with future updates, watch out for big announcements soon :). Alpha19 will feature various small gameplay improvements, mostly involving the campaign mode. Among them, adventurers will be able to roam the campaign and fight multiple keeper dungeons. Maps will be filled with extra content, besides the main occupant. On your home map you will find minor enemies and some surprises. Keepers will be able to place notice boards on their maps, where passersby will be allowed to add notes. The notes will be stored on the server, so the boards will function as primitive, medieval chat rooms. :) More details on Alpha19 coming soon.


    [ 2016-05-22 15:02:35 CET ] [ Original post ]

    Alpha18 hotfix 3

    Note: retiring in single map mode is currently broken, I'm working on a fix. For now I recommend just saving your game and not retiring until I fix this.

    • Display info when fetching the list of retired dungeons.
    • Display additional info when fetching fails.
    • Fixed crash caused by giving items to a creature that can't carry them.
    • Fixed campaign retirement crash.
    • Added missing dll files from VC++ redistributable.


    [ 2016-05-07 13:23:41 CET ] [ Original post ]

    Alpha18 hotfix 2

    • Added setting to disable scrolling with mouse wheel
    • Fixed retired dungeons window
    • Fixed crash when saving an adventurer game after keeper has been killed
    • Fixed crash in settings when no valid fullscreen resolutions were found


    [ 2016-05-06 07:26:35 CET ] [ Original post ]

    Alpha18 hotfix

    • Fixed crash triggered by killing a tribe leader in single map mode.
    • Added Windows XP support to the 32-bit build.


    [ 2016-05-05 16:11:09 CET ] [ Original post ]

    KeeperRL campaign update is out! (Alpha18)

    The "campaign" update is finally out! For those of you who haven't followed the development, campaign is a new game mode that takes place in an overworld, divided into a grid of smaller maps. The player builds his or her base on one single map throughout the whole game, but can travel to other maps to attack villains. Those villains may also include retired dungeons made by other players. Thus we now have Keeper vs Keeper battles! Games have gotten longer this way, and have much more replay value. The classic "single map" mode is still included, although it will be subject to changes in the future. Check out the video and changelog below for more details. https://www.youtube.com/watch?v=j402fYUtWcw Save file format has been changed, so If you'd like to keep playing your saved games from Alpha17, you have to go into the game's properties in the Steam client, and choose BETA branch "old_saves". The Steam client will then download the Alpha17 version for you (don't forget to change back to Alpha18 later!) Unfortunately, due to a bug in an external library, sound effects are still disabled on Mac, sorry. :(

    • Campaign mode, including Keeper vs Keeper battles!
    • Added geology tech, now used to uncover ores.
    • Added command to switch team leader.
    • Menu to choose new team leader when current one is killed.
    • New attack trigger to finish off the player after a lost battle.
    • Added a task for Keeper to sit on throne (and generate mana).
    • Flying creatures can no longer fly over Sokoban holes.
    • Made doors lockable when outside of buildings tab.
    • Keeper's full title is displayed in combat messages.
    • Tasks window has a scrollbar.
    • Made hint about [new team] button more clear.
    • Minimap UI gets a border.
    • Fixed crash when trying to whip a pig.
    • Fixed UI crash involving dropping multiple items.
    • Fixed UI crash involving all team members getting killed.
    • Fixed UI crash caused by uninitialized variable.
    • Fixed message bug about praying to a web instead of breaking free.
    • KeeperRL is ported to the Visual Studio C++ compiler, which means better error reporting and possible Steamworks integration.


    [ 2016-05-05 09:09:23 CET ] [ Original post ]

    The dragon is close

    Alpha18 is almost ready to be released. There are still some bugs that need fixing, and I want to make a few more minor content additions. When it comes to gameplay, I'm really happy with how this update has shaped. Keeper vs Keeper wars are really fun, and there is a lot more challenge to the game than previously. Players who complained that it was too easy, will now have a huge number of retired dungeons to fight against. And knowing you, I'm sure some of them will ridiculously hard. :) Following up on the previous news, I ended up implementing my own error reporting. Just like in the case of Steam's reporting, the game generates a memory dump file when it crashes. The launching script then compresses and uploads it to my server. The dumps take much longer to analyze than the previous text reports that arrived to my email, but contain a lot more useful information, and I can't wait to get my hands on some of the ancient, mysterious bugs. A few of you have been bravely testing the update on Steam, and I want to thank you for that. Introducing the campaign mode required a lot of changes in the game's engine, so it's important for me to weed out as many bugs as possible before releasing. P.S. Speaking of bugs, I think I accidentally created a new religion...


    [ 2016-04-29 20:40:25 CET ] [ Original post ]

    Alpha18 testing build is available in the dev branch

    All brave souls are invited to help with testing of Alpha18! Please keep in mind that it's a pretty unstable build for now, and frequent crashes are expected. To help you a little bit, the game won't delete save files upon loading them, and retiring your dungeon is possible at any point in the game. Obviously the hottest feature of the update is fighting against retired Keeper dungeons. Note: sharing retired campaign dungeons via keeperrl.com isn't working yet. The campaign setup is a bit cryptic at the moment, but I'll add some help text soon. Please report any encountered bugs and crashes (I will also be getting much more detailed crash reports from this build, but reports from you about the circumstances of the crash are always welcome). To enable testing of Alpha18, go into the game's properties in the Steam client, choose the BETA tab, and choose "dev" from the dropdown list.


    [ 2016-04-20 19:11:02 CET ] [ Original post ]

    More campaign news

    Things keep getting delayed unfortunately, although I'm still planning to release Alpha18 at the end of April or very early May. I was hoping that hooking up crash reporting through the Steam API would be easy, but I just can't get it to work. I might have to use a back up plan in the form of the Google Breakpad library or my own, old crash reporting scripts. It's something I need to get done before I can roll out a testing build to Steam. Last week I added a slightly unrelated feature. Minable resources aren't spawned at world generation anymore, you have to discover them by researching geology (to be fair, the game actually only spawns them at that point). The are currently three levels of the tech, and maxing them out, which will give you large amounts of iron and gold, will require a significant mana investment. Overall, I think it will add some needed balance to the game, and the ores can be generated around your base in a convenient way. Also, it will help me add more ore types later on, which has to do with a major gameplay feature that I'll announce soon. The campaign mode is mostly under control. Before writing this, I've been at war with Alderyk the Keeper, whom I had retired just an hour earlier. The last major fix I had to add involved stopping undead from traveling and, as a consequence, killing themselves during daytime. I still need to do some balancing, and fill the maps with more content, but that's easy and pleasant stuff compared to my chores discussed in the first paragraph!


    [ 2016-04-19 12:18:32 CET ] [ Original post ]

    Go listen to the new Roguelike Radio episode on KeeperRL!

    I was finally invited on the legendary Roguelike Radio! The podcast features Mark Johnson of UltimaRatioRegum, DarkGod of Tales of Maj'Eyal and me of KeeperRL :). We had a 40-minute chat about the game. Go and listen to it now :) http://www.roguelikeradio.com/2016/04/episode-120-keeperrl.html


    [ 2016-04-11 06:27:25 CET ] [ Original post ]

    Campaign news

    In the past week I've been working on lots and lots of little fixes, hence this update is a little late - there wasn't much to write about. It's good news, because this is typical for the late stage of an update. The campaign setup window is shaping nicely. Artur is working on new assets, so it will look even better. The functionality is almost there. One big feature to add is downloading maps from the server, but for this I will reuse existing code, so it should be pretty straightforward.
    The main campaign gameplay is basically ready. I left out some features to finish after the release, these involve some travelling and attack nuances. It will be easier for me after I get some feedback from you. And I also want this update to be out as soon as possible, because frankly, it's really exciting stuff. :D After I'm done with map downloading, I'll concentrate on putting out a build on the 'dev' branch on Steam, so the brave souls can test it already. Maybe by the end of the next week?


    [ 2016-04-09 20:07:44 CET ] [ Original post ]

    Alpha17 "hot" fix hotfix

    Fixed a crash introduced in yesterdays hotfix, involving removing members from team. Fixed missing exe in Windows 32-bit build.


    [ 2016-04-02 07:15:12 CET ] [ Original post ]

    Alpha17 "hot" fix 2

    Note: this update is independent of my work on Alpha18, it fixes a few major issues in Alpha17.

    • Control-clicking a minion no longer crashes the game.
    • Fixed UI crash that involved all minions in the currently selected team being killed.
    • Fixed UI crash involving dropping multiple items.
    • Mac OS version has sound effects disabled temporarily due to a bug in an external library.
    • Made the hint about the [new team] button more clear.


    [ 2016-04-01 14:13:48 CET ] [ Original post ]

    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.
    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!


    [ 2016-03-31 19:19:41 CET ] [ Original post ]

    Keeper vs Keeper

    I went ahead and added retiring in campaign mode. A retired base can be loaded as an enemy. It required a lot of code gymnastics, but we can finally have Keeper vs Keeper battles. :) I'll need to hook it up to the map sharing service, and implement some kind of rating or comment system, so that you don't have to download insanely hard bases or ones with dicks carved out from the mountain. :) In the future I'd like to tie this to the accounts on the homepage, so you could see how your retired bases fare against attacking players.
    I also experimented with areas of influence that I described last week, and they morphed into a simple progression system of the campaign. At any given moment, interaction is limited to the three closest enemy sites. If there are ties, then all tied sites are included. Any allied sites that happen to be inside that circle are also included. The highlighted sites are ones that you can interact with. Red - enemies and green - allies.
    As you conquer your enemies, the interaction circle expands. It's your job to make good choices on where to embark and who to attack and in what order. I hope that it will add a nice strategic layer to the game. At this point the biggest building blocks of this update are placed, and I'm left with implementing or fixing a lot of little details to make all of this work nice and smoothly. I estimate the update to roll out at the end of April.


    [ 2016-03-24 08:58:59 CET ] [ Original post ]

    Areas of influence and other overworld features

    I spent most of the week fixing various parts of the game that stopped working after the introduction of multiple sites. Since every site has its own local clock, in addition to the global game clock, I had to go through all the game mechanics that work with time and decide whether they should use the local or global clock. There were also problems with portals, summoned creatures, immigration, recruitment and more. I'm trying to keep everything simple and not introduce a lot of special cases in the code, but it's not easy :) (but then, developing this game has rarely been easy :) ). I realized that free movement in the overworld map isn't very interesting. Choosing the base location also lacks any consequences. As things stand, there is no reason at all for the world to be set up as a grid. This needs to change. I decided to introduce the concept of "area of influence". This will be a set of sites on the world grid where the player is allowed to travel and attack, and only these sites will ever attack the player. Conquering enemies will enlarge the area, and will activate more enemies and allies, where one can trade or recruit. Hopefully this will create some interesting decisions, including where to locate the base. I'm still torn whether or not to add fog of war to the world map to initially hide some areas. This would obviously add a surprise element, but on on the other hand I want to give the players control over what enemies they'll face. Especially when they download retired bases from the cloud. You never know what's in there.


    [ 2016-03-17 22:12:24 CET ] [ Original post ]

    Travelling the world

    Last week I had coded the generation of the campaign grid, individual maps and their inhabitants. The next step was implementing the various ways in which the creatures interact between maps. The most obvious is allowing a player-controlled creature to travel around, optionally followed by team of minions. Movement is completely free: you can choose any site on the world map, and the game puts you and your team on the edge of that map. As I explained earlier, at this moment the clock on this map starts ticking, and whichever site you came from is frozen. If you let go of control of the team, they automatically travel back to your base, and you can continue building. If the creature that you are controlling is killed, you have the option of controlling another minion or letting go of control. You can also switch control to a different team member at any time in control mode. Your enemies can also attack you, and the timing of the attacks stays the same as in the single map mode. The attacking team is transferred to the edge of your home site and starts doing whatever their AI tells them to (like stealing your gold or eating your orcs). If the attackers decide to flee, they will walk back to the edge of the map and travel to their base. It gets tricky if you aren't present in your base at the time of the attack. I haven't coded this yet, but when you come back, you have to deal with the attack before the team you were controlling is placed back on the map. It also seems that you shouldn't be allowed to leave your map during an ongoing attack. There are some corner cases showing up, like when a player-controlled creature falls asleep on an enemy site, and gets stuck. I think that in such situations the clock needs to keep ticking, until they wake up and travel back. This will also be needed when an immigrant is spawned or so that a returning team can walk to their beds and heal up. This all sounds pretty complex, but my aim is that the traveling and clock system is mostly transparent for the player, i.e. you don't need any understanding of how things are working to play the game. Ideally, the player won't notice much that the clocks keep getting paused on the various maps.


    [ 2016-03-10 20:21:33 CET ] [ Original post ]

    Campaign progress

    I've been told that I post too few updates. So here is a new update :) . I'll try to post at least once a week from now on. The campaign mode is probably the biggest single feature that I'm adding since the game's first release. In terms of code architecture, it's quite like running multiple game worlds concurrently with the option of transferring creatures around. They are arranged in an array and form the "overworld". The most important functionality is of course slicing up the array, uploading individual chunks to the cloud, and reconnecting them on other players' computers. A few changes were needed in the game's core to accommodate this, and I'm sure that new bugs have been spawned. The good news is that the game's performance will actually increase, because only one chunk is being simulated at a given time (the one containing the player). Other chunks are kept in memory, but are frozen. Since the chunks are about 1/4 of the size of current maps, they only occupy less than 200MB of memory each. If we stay within the limit of 5-8 main enemies per world, we are good without the need of offloading the maps to disk. (Chunks where no enemy exists are not even created). The main reason for the "freezing" of chunks is that each one has a separate clock. Creatures thus need to change "time zones" when transferring between chunks. When a minion you are controlling is away from home, the clock at your base doesn't tick. I think that's good. There is also a global clock that dictates day and night changes. I'm on track to make all of this work. I'll let you know when the first historical duel of Keeper vs. Keeper takes place :) . Basic campaign setup UI


    [ 2016-03-03 16:34:48 CET ] [ Original post ]

    KeeperRL
    Michal Brzozowski Developer
    Michal Brzozowski Publisher
    2015-03-31 Release
    Game News Posts: 241
    🎹🖱️Keyboard + Mouse
    Very Positive (1407 reviews)
    The Game includes VR Support
    Public Linux Depots:
    • KeeperRL Linux [28.66 M]
    • KeeperRL Depot Linux 64-bit [30.57 M]
    Available DLCs:
    • KeeperRL Soundtrack
    KeeperRL is an ambitious dungeon simulator with roguelike and RPG elements. Take the role of an evil wizard and study the methods of black magic. Equip your minions and explore the world, murder innocent villagers and burn their homes. Build your dungeon, lay traps and prepare for an assault of angry heroes.

    When you control your minions the game changes into a classic roguelike, with turn-based and very tactical combat. You can also play as an adventurer and assault dungeons made by you or other players.

    Dungeon management

    You will dig deep into the mountain and build dozens of rooms, corridors and traps. Your minions will train and produce weapons and armor. Prisoners will be tortured. You will research new technologies like alchemy, beast mutation and sorcery.

    Roguelike mechanics

    The world is simulated on a very detailed level. Creatures use equipment and consumable items. There are dozens of special items, spells, attributes and special attacks. You can cut off heads and limbs and blind or poison your enemies. If you're not careful with fire, you can burn an entire forest or even your own dungeon.

    Large, procedurally generated maps

    In your neighborhood you'll find castles, villages, other dungeons and special locations. Slay heroes, dragons and witches for their loot. Every game you play will be different.

    Online map sharing

    Download dungeons made by other players and explore them as an adventurer.

    MINIMAL SETUP
    • OS: Ubuntu
    • Processor: Dual Core CPU - 2.4GHz+Memory: 4 GB RAMStorage: 1 GB available space
    • Memory: 4 GB RAMStorage: 1 GB available space
    • Storage: 1 GB available space
    RECOMMENDED SETUP
    • OS: Ubuntu
    • Processor: Dual Core CPU - 4GHz+Memory: 8 GB RAMStorage: 1 GB available space
    • Memory: 8 GB RAMStorage: 1 GB available space
    • Storage: 1 GB available space
    GAMEBILLET

    [ 6132 ]

    25.19$ (16%)
    9.24$ (77%)
    6.80$ (66%)
    8.25$ (17%)
    24.00$ (60%)
    50.39$ (16%)
    12.87$ (8%)
    3.79$ (81%)
    23.99$ (20%)
    16.79$ (16%)
    8.49$ (15%)
    12.09$ (45%)
    2.60$ (80%)
    16.59$ (17%)
    38.21$ (15%)
    20.65$ (17%)
    4.14$ (17%)
    12.44$ (17%)
    3.78$ (81%)
    33.59$ (16%)
    8.42$ (16%)
    9.90$ (17%)
    4.00$ (80%)
    12.44$ (17%)
    2.50$ (90%)
    8.49$ (15%)
    4.19$ (16%)
    5.25$ (79%)
    17.39$ (57%)
    10.65$ (47%)
    GAMERSGATE

    [ 2625 ]

    12.0$ (60%)
    30.0$ (50%)
    7.36$ (82%)
    0.51$ (83%)
    0.89$ (87%)
    13.27$ (56%)
    1.88$ (92%)
    0.77$ (91%)
    1.76$ (91%)
    4.5$ (70%)
    28.0$ (60%)
    10.0$ (75%)
    1.72$ (66%)
    1.5$ (90%)
    1.5$ (70%)
    5.4$ (91%)
    11.99$ (60%)
    37.49$ (25%)
    6.0$ (70%)
    9.4$ (53%)
    0.75$ (75%)
    53.99$ (10%)
    17.99$ (40%)
    6.0$ (85%)
    9.0$ (70%)
    9.44$ (48%)
    3.17$ (89%)
    3.6$ (82%)
    11.99$ (40%)
    1.91$ (87%)

    FANATICAL BUNDLES

    Time left:

    9 days, 5 hours, 46 minutes


    Time left:

    15 days, 5 hours, 46 minutes


    Time left:

    12 days, 5 hours, 46 minutes


    Time left:

    12 days, 5 hours, 46 minutes


    Time left:

    12 days, 5 hours, 46 minutes


    Time left:

    12 days, 5 hours, 46 minutes


    Time left:

    12 days, 5 hours, 46 minutes


    Time left:

    12 days, 5 hours, 46 minutes


    Time left:

    12 days, 5 hours, 46 minutes


    Time left:

    12 days, 5 hours, 46 minutes


    Time left:

    12 days, 5 hours, 46 minutes


    Time left:

    12 days, 5 hours, 46 minutes


    Time left:

    12 days, 5 hours, 46 minutes


    Time left:

    12 days, 5 hours, 46 minutes


    Time left:

    12 days, 5 hours, 46 minutes


    Time left:

    37 days, 5 hours, 46 minutes


    Time left:

    17 days, 5 hours, 46 minutes


    Time left:

    9 days, 5 hours, 46 minutes


    Time left:

    44 days, 5 hours, 46 minutes


    Time left:

    33 days, 5 hours, 46 minutes


    Time left:

    30 days, 5 hours, 46 minutes


    Time left:

    38 days, 5 hours, 46 minutes


    Time left:

    40 days, 5 hours, 46 minutes


    HUMBLE BUNDLES

    Time left:

    3 days, 23 hours, 46 minutes


    Time left:

    17 days, 23 hours, 46 minutes

    by buying games/dlcs from affiliate links you are supporting tuxDB
    🔴 LIVE