Posted May 01, 2024 by Tsveeble Mett
Hey hey people,
40 days have passed since the last devlog, so I would like to write down a few things. Most of the progress the last 1 and a half months was finishing the first area of the game. Of course it's still not 100% finished, there needs to be plenty more clutter/decorations in each room and more variety too. However the first few levels are implemented, populated with monsters and increase in difficulty as well as in loot quality.
The companion portraits on the bottom of the screen are no longer orbs with a face in it. This was hard to read and didn't look really nice. Instead i made them into cards that show the percentage of health and mana at all times. Instead of showing a skull like the old orbs, a dead companion will have a burnt down card, so hopefully the contrast and the fire particles will get the players attention that someone from his party died.
Players can now choose between two classes when creating their character: the classic warrior and the witch. The biggest difference between those, apart from their slightly different looks, is the starting attributes. Obviously, the warrior is more geared towards physical fighting while the witch starts with more magic. Each class will be able to find its own type of axillary items to boost their abilities.
All party members can now get auxillary items. Instead of using up a slot, those things get an extra section in the character sheet (so I can finally fill it up with something). Auxillaries are supposed to be rare drops or quest rewards and can only be used by certain party members. For instance, the new druid follower can get pets in this slot. This way, spamming pets and summons isn't as easy as the initial "everyone can have a pet!" idea.
Other auxillaries can be used by everyone, like a more simple item that grants a bit of lightning damage to attacks. Since each of these is unique, only one person can have it attached at a time. The UI shows if it's already in use and equipping it will switch its owner automatically, which was another reason not to use a regular item slot.
For variety, there are now rare enemy spawns. As in Diablo 2, they get a randomly generated name and some modifiers. Both the name lists and the modifier pool are very limited at the moment, but it's easy to expand them. The initial possible modifiers is added elemental damage and resistance.
To make more use of that, proper status effects were added too. Fire damage for example, has a high chance to ignite a target. Less so if the target has some fire resistance. When burning, the victim loses 2% of its health per second. Frost slows targets down, while lightning damages a targets poise and makes it easy to stun or can even stun all by itself. While not an element, some enemies are poisonous, which is a mix of fire and frost: it has a 1% health damge per second and a weaker slowing effect.
With these changes, fire spells are less useless. Fireball deals a lot of damage especially on lower levels, but so do the molotov cocktail throwing goblins. Another variable to the balancing issue!
A lot of smaller changes happened too, some of which I may have even forgotten (note to myself to take more notes!). Probably some of the more important ones are bigger hitboxes for NPCs and enemies, because it sometimes felt annoying to miss click on goblins so often. The hitboxes of projectiles have been changed a bit too, as their collision checks for walls are way smaller now than those for potential targets.
The performance hack to instantiate each object once on the start of some scenes had some bad side effects and was mostly replaced by a more sensible use of the engine resource loader (not sure why I didn't try to use it this way before). Instantiating so many items on load caused my weak laptop to crash a lot when moving between levels. There is a small stutter now in town when walking towards one of the the NPCs, but I couldn't figure out the reason for it yet.
Some things from the last devlog are still planned: party dialogue and banter situations for example. Theres also specific things to be tackled that are just a grind and can be crossed off the list later on: