Welcome back to another weekly devlog! In this update, we’re taking you through our process of creating one of our Frost Dwarves as well as our new Ice Cave environment. As always, check us out on Instagram, Twitter and Facebook for exclusive news about Depths of Erendorn!

3D Character Modelling

You might remember from a previous devlog how we created the Civilian and Merchant class of Frost Dwarf, a hardy race of characters that you can play against in the game. Well, this week we decided to start working on the Frost Dwarf Wrangler series. This is a different class of character that specialises in handling wild animals, namely the Glacial Boar which is a valuable resource for the Frost Dwarves.

When making the Frost Dwarf Wrangler, we recycled a few pieces from the Civilian/Merchant model, including boots, trousers, gloves and the tunic. There are a few clear differences between the models though:

  • The tunic was redesigned to better reflect the original concept sketch
  • Rope was added to the Wrangler’s belt, with a loop at the front which will be used for hog-tying!
  • A fur pelt was made using a similar technique to the collar and cuffs, where a fur shape was stamped on
  • The fur used on the pelt closely resembles the fur used on the Glacial Boar model in order to reflect the character lore in its design

Creating the fur pelt was actually the biggest challenge. In the first attempt, the fur pattern sculpt was too small and dense and from afar, it lacked the appearance of a voluminous pelt. In the current version, however, the stamps were used at a bigger size and the result is a lot more readable. 

Retopology

When it came to retopologising the model we tried to reduce as much manual work as possible in order to save time. We started by using the ZRemesher feature in ZBrush to retopologise the fur pelt. We then manually reduced its polycount afterwards. Next came the rope loops, which would most likely not need to deform much. Therefore:

  • The rope loops were dynameshed at a low count 
  • Dynameshing is a mesh generation tool in ZBrush that can fuse meshes
  • We used this because the rope loops were formed using a spiral
  • This meant that their geometry was not joined together at the sides 
  • Using Dynamesh allowed us to turn the loops into a blobby mass
  • ZRemesher was used afterwards to create cleaner topology and shapes
  • This step was important as it allowed for a closer approximation of the high mesh’s shapes
  • Finally, it was decimated to create a low poly mesh of the rope loops

Next was the tunic topology, which needed some changes. Thankfully it wasn’t anything drastic and so it could be done quickly. The rest of the retopology consisted of reusing the low mesh from the Civilian/Merchant models for the lower and upper half of the Wrangler’s body in order to save time. 

Animation

After recently updating the rig for the Parakaw Astromancer, our Animator spent this week also updating all of its animations so that they fit the new rig. While some of them needed more changes than others, it was a pretty smooth process and we managed to get through all of the animations, including all of the Parakaw’s spells.

The animations were then imported into Unity where animation clips were created and the Animator Controller was updated. Our programmers were then able to implement a playable animated prefab for this character. 

Environment Art

The Ice Cave environment that we have been working on over the last couple of devlogs was refined a lot this week:

  • A snow function was made to dynamically place snow on top of static props using Geometry Normals
  • We then overhauled the snow placement function in order to use Object Normal maps rather than Geometry Normal Direction. This produced a far more desirable, detailed and physically accurate result
  • New rock and object shaders were made to incorporate baked Normals, Triplanar Detail maps and snow material functionality
  • Parallaxing ice shaders and materials with vertex painted snow capability have also been added to the project, with the parallaxing effect giving the illusion of depth

On top of all of this, 14 new rocks have been made for this Ice Cave environment, along with 16 new architectural pieces like stalagmites and stalactites. We then worked on creating an example Ice Cave scene in order to demonstrate all of the above and to get an idea of how everything works together (you can check this out further down!).

Screenshot from Unity showing an Ice Cave scene from Depths of Erendorn
A snow function was made for our Ice Cave environment this week so that snow can be dynamically placed on top of objects in the scene

Server and Game Client

A few changes were made to Depths of Erendorn this week that directly impact and improve the overall gameplay experience. Rooms, for example, can now be joined by clicking twice on a spawn tile. This replaces the need to use the dialogue box which was the previous, more awkward method of joining a room. 

In addition, rebindable hotkeys were introduced for abilities in the action bar. Now, with these in place, 0-9 keys allow players to cast an ability. Before this, the only way to cast an attack was to click the ability icon, which was quite interruptive to the gameplay process. Introducing rebindable hotkeys allowed us to smooth out the creases in this area of the gameplay.

Abilities

Work continued on creating ability prefab templates this week, allowing for different trigger conditions, targeting methods, animations and multiple combinations of different VFX that can be used together. With this in mind, we also created and applied different ability prefabs for:

  • Blindside: Used by the Twilight Elf Assassin, this ability can only be used when attacking an enemy from the side or from behind
  • Crippling Strike: Another ability in the Twilight Elf Assassin’s repertoire, Crippling Strike deals considerable Damage and roots the enemy
  • Precise Strike: This ability is used by the Earthen Dwarf to deal a precise strike, its purpose being to target the weak points on enemies
  • Poison: This is a generic ability that can be used by players to poison an enemy, who then takes a small amount of damage every turn for 3 turns

Several abilities have also been fixed this week. In summary, it is possible again for abilities to be put onto cooldown by other abilities. As a result of this, the Forest Druid now has several abilities that share cooldowns. Meanwhile, the Zentragal summon was causing an issue where it would reorganise the players’ turn order, which was very confusing. To resolve this, we made it so that the Zentragal summon now has its turn at the end of the other players’ turns. 

But it wasn’t just abilities that required some fixes this week:

  • Weapon Damage was not being increased by Percentage Damage Increase during the Assassin’s Backstab ability. This is now fixed.
  • Disarm no longer increases an enemy’s attack Swing Cost if they don’t have a weapon to begin with.

More Visual FX have been created this week for abilities like Poison, Inferno and Thunderstorm. As well as this, VFX for abilities can now be more finely controlled, allowing us to determine how and where different ability VFX are spawned. Status Effects can now also use VFX which is very exciting. 

Fully textured 3D model of a Frost Dwarf Wrangler from Depths of Erendorn
To make the fur pelt, we used a similar fur texture to that used on the Glacial Boar model to show how the Frost Dwarves’ way of life is reflected in their clothing

But we didn’t just focus on VFX for abilities this week. We also made it so that VFX can be attached to specific character bones that move and change position. This is important to do because it means we can spawn VFX from a specific part of the model as the VFX will move with the bone it is attached to.