We’ve got some killer updates to show you in this week’s game devlog, including some stunning visual FX for our badass portal. Before we get into everything, remember to give us a follow on Instagram, Twitter or Reddit for daily updates on Depths of Erendorn – your support makes all the difference! 

3D Modelling

The week started off well for our 3D Modeller when they finished sculpting the Silver Iguana, a low-level enemy from the game. After the sculpt was retopologised and unwrapped, we were able to begin texturing this fantastical beast:

  • The original concept design shows the Silver Iguana as quite a luminous, emissive creature, with various glowing parts.
  • When texturing the areas that glow, we had to be careful because the emissive map could easily have overpowered everything else.
  • This led us to opt for a more subtle glow effect that would maintain the fantastical image of the Iguana, without overwhelming the design. 

To finish off the Silver Iguana, our 3D Character Artist gave the top, lightest layer of skin a metallic sheen in order to sell the silver aspect of this creature. They also used this metallic effect on a number of random scales so that there would be more skin variation. 

Animation

In our last game devlog, we mentioned that we had already started working on the animation sets for our Boar, an enemy that shares the same unique beast rig as other quadrupeds from the game. Well, more work continued on that this week as our Animator began creating the walk cycle, hit reaction, idle, attack and death animations for this creature.

Our Animator also worked on animation for the Charge ability that the Boar uses. This skill works the same as it does when used by the Knight or Earthen Dwarf – allowing the character to charge into an opponent and deal Physical Damage – only there’s a slight twist. If the Boar manages to run further than three tiles before attacking you, it will actually gain a decent amount of Energy for its first attack – so keep an eye on these enemies when you come to play the game! 

In addition to the Boar, our Animator also worked on the animation for the Bandit’s ranged bow attack. These nefarious outlaws travel in small groups and often ambush adventurers with their arrows, so getting a realistic animation sorted for this was a priority. 

The last enemy we worked on this week was the Wolvajin. After skinning his mesh to the updated rig so that it matches the unique humanoid rig that other bipeds share, our Animator could begin working on their animation set. They’re currently in the process of choosing a pose for the idle, so we’ll have more grisly animations for this character next week! 

Environment Art

This week in environmental asset creation, the trim sheet that was started in our last devlog was completed, and is now ready to be used for the base of the portal, as well as other concrete assets. The idea of trim sheets is to get a highly flexible texture sheet that can be applied to assets, turning plain props into highly detailed props in a matter of minutes. 

Once the trim sheet was applied to the base of the portal structure, the various pieces of the portal were baked and textured with a grunge material to make them appear weathered. The portal was then implemented into a scene in Unreal, along with the corresponding materials that had been created for it. 

It’s no exaggeration when we say that we are in love with the final results. A moss material overlay will be added to it soon in order to make it look even more grungy, but other than that, we’re nearing the end of this awesome project. Now all we need are some visual FX to go along with it…

Visual FX

With the portal nearing completion, our VFX Artist, who has been eagerly watching the creation process, could no longer resist the temptation: they finally caved and started making epic portal effects!

  • The early draft of the portal effects were set up so that we could easily change things like texture.
  • We knew we wanted the portal to feel ethereal, so a bright blue colour scheme was agreed on.
  • Three variations of portal effects were then created, and two were quickly singled out as the team’s favourites.
  • These two variations were finally combined to create what we have endearingly dubbed as the super portal! 

The result is a spinning blue portal with a purple effect pulsing in the centre around a small, black hole. We feel that this not only shows the portal as a fantastical, magical gateway to other locations in Erendorn, it also adds a chaotic element to the experience, and makes it feel more grand and exciting. In addition to all this, some refraction was added to the portal so that it distorts whatever is behind it, which will add a lot more interest to the game when players are standing around it. 

When they weren’t creating visual FX for the portal, our artist was working on bringing as many of the Zentragal’s abilities to life as possible. Carrying on from the work we did on this in last week’s game devlog, visual effects were created for the following set of abilities:

  • Easy Prey: A pretty useful ability, this grants you an increase in Energy and Energy Regeneration when there are five or less enemies in a room.
  • Quickening Poison: This deals a significant amount of Nature Damage to an enemy, and also increases your Movement for one turn.
  • Siphon Movement: When you use this ability, you can target an enemy to lose Movement, and in turn increase your own Health. You can even heal an extra 10% per Movement siphoned.
  • Arcane Arrow: This ability deals 1 Arcane Damage per tile, meaning that if an enemy is 3 tiles away from you, the ability will deal 3 Arcane Damage, with 6 tiles being the maximum range.
  • Unholy Bolt: This deals a significant amount of Void Damage to a random enemy.
  • Inject Poison: Another poisonous ability, this deals Nature Damage to an adjacent enemy as well as restoring a good amount of Health to you. 

Sound Design 

Our Sound Artist spent most of this week working on the Forest Druid’s abilities. While these playable characters are known for their tranquil disposition, having lived in perfect harmony with nature and its cycles, they’re also very powerful characters who possess a lot of awesome spells. 

For this reason, in addition to having sounds of nature present in their design, including things like shaking foliage, rustling leaves and gusts of wind, our Sound Artist also wanted to make their magic seem dark and mysterious. With that in mind, they went on to create sound effects for the following abilities:

  • Nature’s Rescue: The Forest Druid is able to use this spell on any team member who is below 50% Health, and heals them for small amounts of Health every turn for four turns.
  • Heal Wound: Like Nature’s Rescue, this ability allows the Forest Druid to heal a selected target, returning a significant amount of Health back to them in their time of need.
  • Binding Roots: A very useful ability when the going gets tough, this spell roots all one-tile enemies in the room for one whole turn, allowing everyone to get their shots in easily. 
  • Reserved Power: This spell does one of four things, depending on what the player chooses. It can either restore Mana each turn for three turns, Health each turn for two turns, Energy each turn for three turns, or it can inflict Nature Damage to a given enemy. 
These are the draft sounds for Binding Roots.
These are the draft sounds for Heal Wound.

Programming

This week, our Programmers changed how Ballots, i.e. votes, are handled on the server, as well as how they appear in logs to the client. This was done in preparation for the new Action System that was implemented last week, so that ballots will be more consistent with other events that happen on the server. 

In order to accommodate the changes to the Ballots, a few quality-of-life improvements were required on both the client and the server:

  • The stat panel now listens for updates, and updates itself when they happen.
  • The Turn Manager now expires stat changes on the turn start and end.
  • ‘Parsing’ and ‘Perform’ functions were added for removing specific stat changes.
  • These will be used, for example, to remove any stats that were changed by a status effect. 
  • Therefore, when a status effect is removed, any stat changes that are not permanent will now also be removed.
  • With this in mind, we added the ability to remove specific stat changes in the stats class.
  • We fixed the ‘expire stats’ function in the stats class and made it more usable.
  • We added a function that would check whether 2 entities are enemies.
  • We removed the ability for the player to attack themself or other friendly allies.
  • The gamestate updater was updated so that it would have the ability to remove the specific stat changes mentioned above.

The reason the above changes had to be made was because we were experiencing issues with entity stats going out of sync with the server. This was due to temporary stat changes not expiring when they were supposed to, as well as stat changes not being removed when a status effect was removed from an entity. 

Another quality-of-life-improvement that we mentioned was stopping players from being able to attack themselves or an ally, which was an oversight we made when adding the attack and move features. By making these improvements and bug fixes, our Programmers are able to make testing the game easier and more accurate. 

From left to right, these are the draft sound effects for Reserved Power’s Energy restoration, Health Restoration, Mana Restoration, and infliction of Nature Damage.

This week was also dedicated to building and testing the framework for our new client-side Action System that we mentioned earlier. This involved the following foundational work:

  • Converting how the game logs are collected and played out from consecutively to recursively: This means that instead of playing logs one-by-one as they’re received from the server, a log may become the parent of any number of logs and, when played, execute these through their child logs before continuing.
  • Adding a feature to the way logs are generated so that we now store collections of logs before initialising them: This means that before execution, we have access to the data contained within. We can then play around with the order of logs before they are played out, giving us much more control over translating server actions to client consequences.

When testing the game, it now plays through this new system while running as before. The key difference is that we can now create client-only steps that make use of animations, VFX and sound. We can then selectively add ‘before’ or ‘after’ server logs in order to create a more immersive experience and give life to the game events as they unfold. 

The last thing our Programmers did this week was add the ability for players to ping the map. Doing this will display a visual effect that draws the players’ attention to a specific point on the map, allowing them to point things out to each other. The visual FX are still being refined for this, but so far we like the direction they’re going in!

Screenshot from UE4 of glowing amber 'pings' on a tiled map grid
These are the currect visual fx we have for when a player pings the map.

That’s it for this week! Thanks for joining us for another game devlog. We’ll be posting to our socials over the weekend so make sure you keep an eye out!