Archives 2017

Blades & Chunks

nWpnsI’ve had a lack of time to work on LBKR the past two weeks but there has been little progress atleast! To start with, there are now 2 new exquisite weapons named “Sovereigns Bane” and “Spine Moiler”, accompanied by two new super modifiers.

Sovereigns Bane will steal health from your character, when it has stolen points worth your max health value it will summon the spirit of Nan-Ma’altxuuz, one of the first Forsaken emperors, to fight for you.

spirit

The Spine Moiler will make all monsters within 3.3 meters from your character to bleed for 2 – 5 % of your overall damage rating until the monster(s) die.

More items than these two will be implemented before 2.27 is released, both common gear and exquisites.

u_destructos

As mentioned earlier, alot more of the environment will be destructible- you can see some of the results on the screenshots below!

2017154225227

SEQ1SNAP0

Other than that, there have been some further code optimizations and I’ve created a few new world chunks for the Ch.8 [Highlands], Ch.7 [Caverns], Ch.6 [Wildlands], Ch.5 [The Bridge], Ch.3b [Armory]

chunks

2017157141945

Bumpy ride & AI Updates

I’ve received several messages and mails about the Main Menu GUI doesn’t work if playing v2.26 in fullscreen mode on Linux. I don’t know what cause this issue but I am looking into it and will make sure to release an update as soon as it’s sorted out!

Perhaps your curious just what I’ve got planned for next version (2.27)?

One of my primary goals has been to improve the AI, or to be more precise- have the AI evaluate combat situations more often and come to better decisions.

idea

But let’s start with the basics. The AI in LBKR meassure intelligence by what I call decisions per minute (“dpm”). The name sort of speak for itself but in any case, each time a monster reach the time to make a new decision it will try to re-evaluate its current situation and take the most preferrable approach.

This has already been implemented for a long time now actually, but the AI have only had two options to decide upon. If its health is low it will most likely try to run away and find friends that can protect him, else he will continue to fight. Ranged monsters have also been able to decide to step away from the player to get some range in between. There’s not been any major changes in this method though apart from some more decisions beeing available for each monster, one improvement worth mentioning though is that there is now support for ranged monsters to perform melee attacks properly if the player is too close, I’ll just have to add melee attacks for them- this could come in handy as for example to give the monster a chance to knock back the player with a melee attack in order to use his gun at a safe distance.

201714111439

On top of that, monsters could earlier only attack while standing still in it’s combat-state and when the player was in range, where range was a pre-defined value for the monster instead of having the value on the attack itself. I now define the range of the attack instead, this has allowed me to make the AI loop through all attacks at each DPM limit/hit and see if any attack is possible to use even if the AI is in any other state than it’s combat-state and even if the AI is further away than it’s preferred attack range.

Another part of the AI’s “intelligence” has been how to decide which attack to use next. Earlier this has been done simply by putting a penalty (“cast pen”) on the attack used most recent by the monster. The penalty has been predefined for each monster and the monster has not regarded how appropriate it would be to use the attack, which has made melee attacks pointless for ranged monsters as they would just try to strike air for no reason if the player was too far away. (This, due to the ranged monsters having a far greater attack range than melee monsters… obviously.)

20171450457

Furthermore this also forced the AI to attack in a certain pattern. I’ve decided to approach this problem with a more dynamic penalty system for the AI attacks, which continuously determine how appropriate the attack would be to use. As the AI use an attack it will still receive the “cast pen” as earlier, but on top of that there’s a fixed penalty determined by how powerful the attack is (“power pen”). This penalty is used for rating the attack so that the AI knows which one of his attacks that are the most desired. Then there’s the range penalty (“range pen”), it will be multiplied by the range between the player and the monster.
Certain attacks also have additional penalties that deal with properties more specific to the attack it belong to. In the end, when the AI is to choose the attack to cast next, the sum of all penalties will be split by the number of penalties that were added in order to get the average/overall penalty. The attack with least penalty will then be used.

Next, I’ve decided to remove the attack hit/miss dice-roll that occured every time either the player or a monster attacked. I felt it was kind of silly and not what I wanted, so as long as the attack hit it’s target physically in the game world it will inflict damage.

evade01 evade02

In order to keep the possability to evade attacks I’ve implemented a way for the player to jump away. The Tech and Soldier classes will perform a dodge-roll and the Cryptic class will teleport a short distance if the player’s moving in any direction while pressing the left Shift-key.

warp

I did bump into a problem though that’s been around all along, but I had forgotten about it completely. As a (melee)monster attacks, its attack will inflict damage the very instant that the AI starts to play the attack-animation, as this made it impossible to dodge attacks- therefore I’ve spent a few hours to sync all AI attacks so that they won’t inflict damage until a certain delay has passed from the moment the animation begins- giving the player a chance to roll away and avoid taking damage from the blow.

To wrap it up for this time, I’ve improved some of the visuals in the game further, alot of particle systems/FX have been tweaked, the blood splatter FX among others and some player animations have been overhauled.

splatter bash

stomp

The blood-stain textures have been updated with a bump-map to give it some nice depth although, I must admit that the bump map might be slightly to deep at this time. I’ll make sure to tune this down slightly before 2.27 release.

stains

Finally, I’ve optimized the AI attack behaviours, AI instruction (ie. pre-scripted “events” that force a monster to go to point A to press button B. This is mainly used for bosses and unique monsters.) behaviours has been optimized aswell and so has the entire Gore/Blood framework, and the Cryptic player-class first ability “Carrier” has been replaced with a new one:

SEQBarrage

Releasing 2.26

So it’s finally time to release LBKR 2.26! There are 449 changes / improvements / new implementations for this release and 138 bugs have been fixed in total, but to avoid posting a wall of text I’ll just summarize some of the more important stuff.

The game can be downloaded by visiting the LBKR website’s download page. A full update/release log can be found here.

Graphics & Visuals

The UI has been more or less completely overhauled with new layout and look. Furthermore all UI elements are less opaque to avoid the game environment bleeding through, making some texts nearly impossible to read.

20177013312

The UI initialization behaviours have been optimised and more detailed tooltips and easier navigation has been implemented.
Most visual fx have been improved along with all gore visuals, including a new splatmap texture used by all monsters that will paint blood stains on their meshes when killed. (Requires gore to be enabled in Game Settings.)

20177218433 201712616543

Overall optimizations done to most in-game particle systems, shader used for nearly all in-game nature / foliage objects now receive lights and the water shader has been replaced by the standard Unity engine water shader. While this water shader does not look as awesome as the previous one, the z-depth bug that made particle systems and transparent materials flicker if rendered above a water surface has disappeared.

Gameplay

4 new story chapters have been implemented, you may now continue your characters adventure by entering the escape pods found at the end of chapter 5 (The Bridge).
On top of this more than 150 new world chunks has been created, new secret areas and 13 new (randomized) world events and 7 new missions.

201712820340

The Procedural item generator has been greatly optimised, now consuming only 50% of the memory it required in previous versions, all item generation members have been improved and balanced, weapons now go through additional stages before dropping to further randomize its properties.

A new game mode has been implemented called “Badass”. Characters created for badass mode still play through the storyline but opposed to the default game mode, death is permanent, better loot is dropped and game statistics are saved up until the time your character drops dead.

201713415339 2017116195113

On death the game will calculate an overall “Badass-score” that will be saved for your scoreboard, aswell as a summary of your character’s set of skills and inventory by the time you died.

AI

– 5 new monster attacks
– Champion monsters now form packs that work together in combat
– 8 new unique monsters (ultra-rare)
– 2 new bosses
– 6 new common monsters
– 1 new wandering merchant (Baal’no Tanuk)

Items

Exquisite items ( ie. the most rare ones ) now have a “super modifier”, the super mod is unlocked by purchasing all common item modifiers attached to the item. Super modifiers provide you with powerful effects that can have both passive and active effects.A new (equipable) item type has been created, called “Runes”.

Your character hold 3 rune slots in which runes can be equiped. An equiped rune provide your character with a variety of skill and vital buffs, but can also give your character passive bonus-attacks.
The runes can be generated in three states: Corrupted, Adequate and Ancient.
Adequate runes are the most common and have relatively balanced properties, Corrupted runes are slightly more powerful than adequates, however atleast one of the corrupted runes properties are reversed and will instead of buffing be debuffing your character.

Ancient runes provide the best properties but require a sacrifice to be used, ie. reduced health, inflicting damage on the user over time, reducing your armor rating etc. etc.

– 20 new common runes implemented
– 6 new exquisite rated runes implemented
Apart from runes there are,
– 2 new consumable items: “Tier Chip” and “Property Modifier”, both used to upgrade gear
– 1 new blueprint: “Property Modifier blueprint”
– 7 new armor pieces (where as 3 are exquisite rated)
– 5 new weapons (where as 2 are exquisite rated)

Other things worth to mention

Overall, alot of optimisation’s been done, among other things numerous improvement’s been done to physics handling, world collision and geometry for all maps.
Lots of gameplay elements have been balanced and improved, also the algorithm calculating the monster level has been improved, and to this- item tiers are no longer determined by the players level, but has instead been nested into the monster level algorithm to make sure that the player can’t go to low-level areas and farm crazy-good gear.
Oh, right! I’ve also added 20 new achievments!