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 ]
- KeeperRL Linux [28.66 M]
- KeeperRL Depot Linux 64-bit [30.57 M]
- KeeperRL Soundtrack
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.- 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
- 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
[ 6132 ]
[ 2625 ]