Jul 12, 2022
KeeperRL - miki
  • Updated intro text, which was still mentioning Alpha 34.
KeeperRL - miki
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.
Jul 5, 2022
KeeperRL - miki
This patch fixes crashes when interacting with Steam Workshop on Linux and Mac.
KeeperRL - Michal Brzozowski
KeeperRL Alpha 35 is out! This patch includes a number of changes to combat mechanics and visuals, makes more of the game’s content moddable, and adds customizable keybindings.

Check out the patch notes below for more detailed information.

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 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 didn’t 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.
KeeperRL - Michal Brzozowski
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.
KeeperRL - Michal Brzozowski
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 didn’t mesh well with the game, and didn’t 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. It’s a change you should pay attention to if you’re a modder, as to make it work with your content, you’ll need to designate attachment points for creature sprites and add vertical renderings of your weapons. If you don’t do anything, nothing will break in your mod, but it’s 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 it’s 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 weren’t 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, I’ve 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 KeeperRL’s 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 hadn’t fixed it for a long time was that the code responsible for scrolling is quite ugly and it’s 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 I’d like to credit players discussing this on the forums. I’m planning to release a testing build of Alpha 35 to Steam soon, and it’s going to include some changes that we can all try out and work on.
KeeperRL - miki
  • 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!
KeeperRL - miki
  • Fixed a crash while launching an attack on player with mounted attackers.

Thanks to Rarasek for his help with fixing the bug.
KeeperRL - miki
  • 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.
KeeperRL - Michal Brzozowski
  • 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.
...