Gruesome Zombies, dungeon set pieces, dazzling VFX and awesome sound clips - these are just some of the updates you can expect to see in this month’s devlog roundup. Remember to check us out on Instagram, Twitter or Reddit for daily updates on Depths of Erendorn - now let’s get into it!
For our 3D Modeller, last month was focussed on resculpting and retexturing pre existing character models so that they looked more refined. They already began this work in January, when they successfully remodelled the female base mesh, the Forest Druid and the Dwarves. But last month, their updates were carried out on some of the more gruesome enemies in Erendorn:
- Skeletons: Three classes of Skeletons were recreated, including the generic Skeleton, the Crumbling Skeleton, and the Abyssal Skeleton, each one more powerful than the last. The Abyssal Skeleton was particularly fun to create, given its four arms and set of horns - it’s no surprise that this is the second most powerful class of the race.
- Zombies: We also resculpted and textured three classes of the Zombies. As with the Skeletons, we started with the standard Zombie, and then moved onto the Feeding and Plagued classes. Feeding Zombies regenerate Health by gorging on corpses. The Plagued Zombies are the next class up and are known for being particularly rotten and disease-ridden.
Aside from enemies, our 3D Modeller also worked on a few other bits and bobs throughout the month, including some awesome new weapons:
After the Dwarves were resculpted in January to look stockier, their new meshes had to be rebound to the rig. So, at the beginning of this month, our Animator spent some time doing this for the Earthen Dwarf Civilian, Miner and Elite Minor, adjusting their animations and skin weights along the way:
A lot of animation work was carried out on the Human rig last month, including:
- Adjusting its run cycle
- Adjusting its basic idle so that it’s a bit simpler
- Adding the idle and run cycle animations to the engine
Next, our Animator transferred the ‘big cat’ idle and walk animations onto the Savannah Wild Dog, and then adjusted them to fit. Two sitting idles were also added before everything was imported into the engine:
Set Piece Creation
Loads of set pieces were created for Erendorn and its dungeons last month, including:
- A travelling alchemist set piece featuring a campfire, various wooden props, and a workstation covered in various alchemy doodads, like potion vials, scales and candles
- Two different types of altars, including a Rune Altar with an emissive blue material and a sacrificial Blood Altar, complete with scattered bones, candles, and the blood of poor souls
- An obelisk that uses the same emissive material as the Rune Altar. This set piece was placed on a plinthe that’s decorated with some intricately carved stone urns
- A cauldron set piece, which benefited from a function we created in the liquid master material that uses vectors to create a swirling animation, giving the potion inside a hypnotic effect
- A blessed pool that includes emissive rune carvings, candle clusters, and a rugged stone basin filled with health-giving water
- A blacksmith forge that uses a subtle shifting effect for the embers, making it seem as though they’re active
A few optimisations were made to the world environment last month:
- We created a new terrain material that utilises Runtime Virtual Textures in order to achieve highly performant and convincing seam blends with intersecting assets
- We set dressed the starter zone pathway with large cliff pieces and rubble to direct the players up towards the settlement
- The introduction of new foliage volumes will also be used to better guide players toward their destination
- Dynamic SSGI was enabled for the project in order to improve lighting. Settlement lighting was also made better by the removal of unnecessary point lights
Here are some recent screenshots of the world so far:
We’ve got quite the collection of VFX to show you from the month of February, so we’ll start with the visuals that were reworked for abilities:
- Quickening Poison: Deals Nature Damage and increases Movement for one turn
- Double Strike: Used to strike 2 enemies that are adjacent to the player
- Shattering Blow: Deals Physical Damage that is 25% more damaging if the enemy is next to a wall
- Savage Instinct: Deals Physical Damage to an enemy whilst restoring some Energy, Health and Mana to the player
- Counter: Counter the enemy’s next attack for 10% less damage and the chance to attack back without losing any Energy
- Cleave: Player swings and hits three adjacent tiles, dealing Physical Damage
- Swift Hit: Deals Physical Damage with a chance of stunning the enemy
- Charge: Player charges into an enemy and deals Physical Damage
- Hammerblow: Deals Physical Damage
The next set of visual effects we have to show you are for the Elemental Wisps, the lowest class of Elementals in Depths of Erendorn. Elementals are enemies made from the pure material of Erendorn, appearing in four types: earth, fire, air and water. As such, even the Wisps contain immense amounts of power. Here are the bodies that our VFX Artist created for these awesome enemies, along with a sneak peek at some first draft sound effects:
Last but definitely not least are the concepts our VFX Artist created for what will be the game’s first dungeon entrance. Since the dungeon depths are places of magic, danger, treasure and beasts, we want their entrances to have a fantastical element to them. The following five variations are all top contenders - but we’re still not sure which we like best!
In February, our Sound Artist tested and implemented a huge range of sounds, from cooking pots and settlement animals to woodland ambience and reverb systems:
- Cave ambience system: This was reworked so that it sends two tracks through an envelope and modulator in order to create the sense of a constantly changing loop
- Reverb system: Work began on this so that voices, effects and footsteps in the game are localised to their environment
- Characters and abilities: Loads of character sound effects, as well as their abilities, have been tested, updated, and bug-fixed
- Day/Night system: Our Sound Artist began working on a Day/Night system so that the in-game audio matches the sky’s cycles
- Campfires and cooking pots: These have been added to the game and attenuated. As a result, all of the fires that are currently in-game now have sound
- Procedurally spawned ambient actors: This includes things like fireflies and crystals, which add variation to the soundscape of the dungeons
- Woodland ambience: This was updated so that instead of one loop playing, a random mix of birds, wind and leaves plays as you walk around
- Settlement animals: Vocalisations were created for cows, pigs, sheep and goats. Our Sound Artist then created a sequence in their cues that plays silence in between their vocals so they don’t make too much noise
Ambient sounds of leaves
Ambient sounds of birds
Ambient sounds of wall crystals
In a continued effort to get the game’s UI fully implemented, a lot of upgrades were made to player, team and target portraits. As well as this, the Overhead Health Bars and the Turn Display were improved while the layout and functionality were adjusted:
- Portraits: We implemented new UI assets and updated functionality to show Secondary Resources (i.e. Zeal, Inner Grit, Ancient Power) as bars alongside Health, Energy and Mana stats
- Overhead Bars: As well as the new assets that were added here, friendly health bars were also made green to help distinguish players from enemies
- Turn Display: The Turn Display now shows which character is selected by displaying a highlight behind their respective portrait
- Layout Adjustments: We updated the layout and functionality of the stat panel, turn display, turn timer and debug panel. We also added an animation that plays in the center of the screen when your turn begins
A new animation plugin, Dragon.IK, was added to the engine last month with the aim of being used with bipedal characters, including players, NPCs and small beasts – like cats, rats and boars.
Dragon.IK is a plugin that makes creating realistic IK (Inverse Kinematics) for characters much easier and smoother. This system might need a few adjustments in the future, but for now we’re just seeing how it functions with our bipeds.
Work On the New Golang Server
As many of you who’ve been following us for a while will know, we’ve been in the process of reworking our game’s server for a few months now, with the intention of making it more performant. That said, it was a hard grind working on the new Golang server last month, with the following updates being made:
- We added a function to display the game’s map in text form. This is to help us fine tune and fix the random dungeon map generation without having to launch the game itself
- The servers now have the ability to segment messages between themselves and the client, meaning we can send huge lists of characters and information without any performance hit in the slightest
- We added a new line of sight function to the server, allowing it to calculate whether a given point is in the line of sight and in the range of another point
- The framework for the combat system of the Golang server has been planned and written, and includes the creation of a Ballot system
- Stat regeneration at the beginning of the turn was created. This can be for anything from Health, Energy or Mana, up to specific character stats or anything else we want to trigger at the beginning of a turn
But perhaps the two most important elements of the Golang server that got worked on last month were the test client and real-time system.
The test client is now fully complete for its first stage, meaning we can now join a game with it connected to the settlement and dungeon server. We can also use the test client to create and delete randomly generated characters, providing the gateway for fully automated debugging and stress testing, should we ever need it. We can even create fake bot ‘players’ that we can use as AI companions, should we ever feel the need to
We began planning a real-time system to allow players’ actions to happen immediately. Before this, players’ actions were put into a queue, and each action was done after the animations were completed for the previous action. This would lead to some annoying mistakes where, for example, you would attack an enemy, only for someone else to already be killing them in the queue and for your attack to be wasted.
With the new system, everything will happen the instant the player clicks, meaning that teams can coordinate to pull off their combos better. To handle this new real-time system, the way servers handle commands had to be overhauled to accept delayed damage (as the spell flies through the air) and other parameters. We’ve still yet to code this new system, but will be working on it in the near future!
And that concludes our devlog roundup for February! Remember to check out our weekly game development updates for all the juicy details!