KeeperRL - Michal Brzozowski
The past month saw a big number of small improvements added to KeeperRL. Below is a brief rundown.

Z-level variations

Implementing Z-levels doesn’t end with simply adding a Z-axis, the levels themselves need to have some interesting content. Besides the obvious mineral veins, you’ll find enemies, whole settlements and sometimes even special levels. For example, you may encounter the following situation after digging down:



Temples and ruins

I’ve added new locations that are scattered around the maps randomly. They have some interesting interactions, but I won’t spoil them for you. I realized that this is something that KeeperRL is missing very much, so I’ll be adding many more in the future. Including bigger, multi-level ones.



Crafting upgrades

In one of the recent updates I’ve 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 you’ll 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 you’ll 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 it’s not possible to add new creatures to world generation (although you can modify existing ones), and you also have to reuse existing sprites. I’ll work on these two things in the next update.

I’ve also made it possible to switch between mods in the game’s settings, and they can be simply placed as subdirectories in data_free\game_config.

I’m planning to release a testing build on Steam some time next week, so stay tuned!
KeeperRL - Michal Brzozowski
I’ve been back to work in the last few weeks, after a longer-than-usual Christmas and New Years break, and I’d 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. I’ve 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:
  • It’s 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.
  • It’s common sense that enemies get more difficult as you dig deeper and deeper, and you can’t accidentally engage an enemy that’s 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 KeeperRL’s 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 it’s 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. I’ve 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 they’re controlled by AI. Elves are going to be very deadly! (and the interface is also prettier and more clear)



I don’t 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 I’m very happy to talk to players and share updates almost every day.
KeeperRL - Michal Brzozowski
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.
KeeperRL - Michal Brzozowski
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.
KeeperRL - Michal Brzozowski
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.
KeeperRL - Michal Brzozowski
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.
KeeperRL - Michal Brzozowski
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!
KeeperRL - Michal Brzozowski
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.
KeeperRL - Michal Brzozowski
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.
KeeperRL - Michal Brzozowski
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
...