Highlights in this week’s game development update on Depths of Erendorn include new-and-improved animations, a ton of new visual FX with some accompanying sounds, and test footage of our Knight running in-game through the woodland. But all of this is tinged with sadness as we announce that this is our VFX Artist’s final devlog! But they didn’t leave without a bang, so keep scrolling to see all the awesome visuals for abilities they created in their last week.
3D Character Modelling
Last week, our 3D Character Artist began revamping the male base mesh, which is what’s used as a foundation for all of our male humanoid characters. Our Artist started this endeavour with the intention of just making the hands a little bigger - but then, they couldn’t stop…
- The facial features were resculpted to look less generic
- The torso and arms were beefed up a little so that they looked more muscular
- The legs were also enlarged and given more muscle definition
After they finished updating the sculpt, our Character Artist re-unwrapped everything to ensure that the head and body were separate UVs. This was so that they could prepare a split-apart version of the base mesh that would be compatible with the character customisation system we’re building for the game.
However, splitting the mesh into parts caused some seams to appear. Luckily, our Character Artist managed to fix these by transferring the normal direction information from the non-split mesh - like this:
Here's a final look at the fixed normal split mesh - notice how no visible seams appear when the meshes are together!
Our Animator continued to adjust and test the Dragon IK system they implemented a few weeks ago. This work included:
- Reducing the exaggeration of Human characters’ feet as they ran downhill
- Fixing a floppy knee issue that was afflicting our Watertarg’s IK setting
- Updating the Dwarf’s IK to stop his pelvis from going too low to the ground when walking uphill
Additionally, our Animator tested out the new male base mesh that our Character Artist created, ensuring that it could be animated without a hitch. Check out this in-game footage of how it looks when used with the Knight!
They also began updating some of our character’s run cycles, which were looking a bit weird! The Watertarg, for example, looked a bit stiff when running in the game. After the animation update, though, its run cycle looks a lot more natural - take a look at the before and after:
In the Environment Department last week, a grand plan was put in place to save on material slots and texture budget. Our Artist did this by merging all the wood end decals into a greyscale atlas, before applying this to all the props in the settlement.
Also, the new fur shader that was made a few devlogs ago was tweaked so that the colour could be customisable! This was achieved by making the texture greyscale and then using a three colour blend node, similar to what we do in our master material system in order to have a deeper level of customisation.
Finally, all props in the game were moved into the appropriate sublevel. Before this, they were scattered across different sublevels, which was causing conflicting issues for us when making adjustments to the settlement. Thankfully, this should now all be resolved!
A lot of improvements were made to the foliage in the game’s environment last week. For starters, our Artist spent some time going through the foliage and individually tweaking LODs in order to achieve a less ‘poppy’ result during gameplay. They also:
- Worked on improving the randomness of procedural foliage volumes
- Improved the birch trees that had been removed from the game a few weeks ago, and then added them back in
- Created a denser array of foliage, debris and twigs, then used these to spruce up the path that runs from the starter zone to the settlement
Last week, we said farewell to our VFX Artist, Kevin, who single-handedly created all the effects you’ve seen in the game so far! Before leaving, he managed to finish up effects for the remaining level 2 abilities, and they’re looking as awesome as ever! Abilities worked on included:
- Guard: Grants you 35% Damage Reduction for one turn
- Waylay: Causes your next normal attack to root an enemy for 5 turns
- Deep Wound: Allows you to damage a target by cutting them, causing them to bleed for three turns (which causes even more Physical Damage!)
- Surrounded: Gives you an extra bit of Energy for every enemy that’s adjacent to you at the beginning of your turn - very useful if you ever find yourself getting swarmed!
- Shield Bash: Stuns and damages an enemy - but you must have a shield equipped if you want to use this one!
- Provoke: Allows you to provoke an enemy within two tiles of you, causing them to deal 15% less Damage to you on that turn
- Mass Provoke: Allows you to provoke all enemies within two tiles of you, so that they deal 30% less Damage to you on that turn
- Warning Shout: Lets you choose an ally within a five tile radius. All Damage dealt to you both on that turn is then reduced by 35%
- Slam: Using a hammer, this ability lets you deliver a good bashing to an enemy. If the target is a 1 tile enemy with less than 50% Health, it also stuns them for an entire turn
- Unguarded Attack: If an enemy moves within one tile of you, use this attack to deal Physical Damage to them! It can only affect each enemy once per turn, and costs 10 Energy to activate and another 10 per attack
As a final gift to us, Kevin also spent some time spring cleaning the folder structure, naming conventions, and setting up the scenes and documentations to make the transition as easy as possible for the new VFX Artist who’ll be joining the team! A massive thank you to Kevin for all his hard work - here’s all of the visual effects that he created in his last week!
On to Sound Design, where our Sound Artist spent the week working on the sounds for some of the VFX for level 2 skills that were created earlier on in the month. Check out how the new sound effects work next to the visuals:
For our Programmers, last week was spent fixing visual bugs, as well as a large amount of ability templates, before gathering gameplay footage. Work included:
- Character Outlines: Updated how the client deals with dead character outlines in-game and while using game filters
- Projectile Speed: Updated projectile speed calculation to allow for speeds to be set in Mp/s for each ability template
- AoE Targeting: Fixed offsets for targeting in all AoE abilities. These should now appear in the correct locations
- Ability Template Fixes: Worked through a large portion of ability templates, updating triggers for animations, VFX, and sounds across all classes
- Gameplay Recording: Recorded group gameplay with a full party and a spectator
For our Programmers that make up the Golang team, last week was an important milestone: we’ve now officially reached the point where we’re able to switch from the PHP server to the Golang server whenever we want to!
That said, there's still a couple of reasons why we're not flipping the switch quite yet. There's some more optimisations we have left to do, and the client (i.e. the .exe that plays the game when you launch it) has to be changed a little to understand the new server. As well as that, the client needs to remain unchanged as the client-side team are working on a few bits and bobs.
With that in mind, we've been working on many much-needed optimisations and a few little fixes that had to be put in regardless of whether we'd already moved over to Golang completely. This work includes:
- Abilities and Active Effects are now preloaded on the server, meaning it only needs to request the information from our SQL storage once, rather than every time. This massively improves login/character selection times. Additionally, this means that the active effects that were stored on every entity no longer need to be held there, and are instead taken from memory on the server rather than the entities themselves. This makes the total memory usage taken up by the code on the server a lot smaller.
- Target storage has now been implemented. This allows us to store AI's targets in the event that they temporarily cannot interact with their target. This is also used for some abilities that select targets, then interact with them in future turns.
- AI Intent has been created, which allows AI to intelligently figure out when enemies will use their abilities. This means, for example, that they won't stun someone who’s already been stunned.
That’s it for this week’s devlog - see you next Tuesday!