How do we summarise everything our devs got up to last month? Well, they modelled new enemies, from armoured guards to fiery salamanders; they created new animations, VFX and SFX for player abilities; they revamped the settlement with trading tents, a new starting zone and an improved map; they added ambient sounds to Fire Dungeons and Ice Caves; they began implementing the in-game UI and, finally, carried out a lot of programming work.
Two classes of enemies were modelled last month: the Guard series, who players will commonly see patrolling the Human Kingdom, and the Fire Salamander, a volcanic creature who will accost players in Fire Dungeons.
Finishing the Guard Series
In Depths of Erendorn, the Guard Series is made up of three classes: the Guards, the Enforcers, and the Royal Guards. Ascending in hierarchical order, players will either see these characters in the Human Kingdom, where they’ll be patrolling the gates or inner city, or the dungeons, where they’ll be a little more antagonistic.
The Royal Guard is the most powerful enemy in the series, though all possess excellent combat and weaponry skills. After finishing off the sculpts of these characters last month, our 3D Character Artist kicked November off by completing their textures in Substance Painter. Here’s how they look:
Creating the Fire Salamander
The next enemy our 3D Modeller created was the Fire Salamander, a mid-level beast in Depths of Erendorn who’s native to volcanic regions and can breathe furious flurries of fire.
Fire Salamanders will most commonly be encountered in the pits of Erendorn’s Fire Dungeons, though they are capable of surviving in different terrains – so keep an eye out no matter where you find yourself!
Sculpting in ZBrush
The Fire Salamander was started in ZBrush, where its musculature and tertiary details were sculpted – our 3D Artist took particular delight in carving out the grisly gnashers.
When it came to refining the sculpt, many variations of tongue and nose shapes, as well as scale combinations were experimented with to ensure that it really nailed our Concept Artist’s vision. Once finished, the Fire Salamander was retopologised, unwrapped, and moved into Substance Painter.
Texturing in Substance Painter
It was a lot of fun texturing the Fire Salamander because of how incandescent and, quite frankly, badass this creature is. So, our 3D Character Artist quickly became absorbed in painting in veins of lava, and making them glow beneath plates of cracking, volcanic skin. Here’s a look at the step-by-step process:
- A lava material was created from solid colours, and used to cover the entire surface of the model. It was then hidden with a mask.
- Our 3D Modeller used various ‘rock/crack’ brushes to add large cracking details across the entire model, painting directly in the mask.
- Using a similar process, our Artist generated a mask from the skin material and used it to make the subsurface lava glow.
- The first iteration lacked colour and glow variation, so a cloud overlay was added and set to multiply. This created variation by adding areas that glowed strongly and more weakly.
- The last step was to do a side-by-side comparison to see how the Fire Salamander looked in normal light, as well as in the shadows – here’s the final product:
For Animation, last month was all about refining our characters’ movements so that they perform as optimally as possible. Our Animator also started working on a few new animations for our Earthen Dwarf’s casting abilities and attacks.
Optimising Animations & Testing in UE4
Our Animator carried out a lot of optimisations on our animations last month. This involved fixing a few timing issues, updating animation blends, and making it possible for the Earthen Dwarf and Knight to use the two-handed weapon idle.
We then began testing all of these changes in-game, ensuring that they looked as good and performed as well as possible. Check out some of these in-game clips below:
Creating Animations for the Earthen Dwarf
One area our Animator was particularly focused on last month was getting some new animations created for the Earthen Dwarf, a playable character who possesses both physical might and spellcasting prowess.
Alongside some generic cast effects and attacks, our Earthen Dwarf received some draft animations for its ‘Stone Form’ ability, which increases your Resilience while reducing your Movement, as well as for ‘Earthly Strike,’ which deals Damage to enemies on adjacent tiles, strikes through them and deals even more Damage to the enemies behind. Here’s a look at some of the WIP Dwarf animations:
In a sprint to finish the game’s first settlement, our Environment Artists spent all of last month in UE4 refining and updating the settlement with trading tents, terrain improvements, and a new starting zone for players.
Adding Trading Tents to the Game Settlement
After spending many weeks creating buildings for the settlement, including the Guard House, Tavern and Inn, our Environment Artists turned their attention to another vital structure: a trading tent. Players will be able to enter trading tents and strike deals with merchants, whether it’s selling your loot, making a trade, or buying something with your hard-earned gold.
Creating Tents with Marvelous Designer
The trading tent was created in Marvelous Designer because this 3D modelling program is perfect for creating realistic cloth assets with convincing folds and fabric textures. Whilst we were creating the trading tent, we decided to also create some smaller camping tents that will populate the open areas of the settlement.
With the tents UVd and textured, a custom stitching texturing tool was created by our Environment Artists inside Substance Painter. This was used to paint the stitching onto the tents, and the results were pretty awesome:
The next step was to set dress all the tents appearing in the settlement. The trading tent was prepared for future markets, and received some wooden stalls, placeholder weapon displays, and some moseying characters for good measure.
For the smaller tents, which will be inhabited by weary NPCs, set-dressing involved the addition of some basic items, like rolled-up blankets, cushions, and even a small campfire (which is only somewhat hazardous). In the future, more assets will be placed inside the tents until they start to look well-furnished, but here’s how they’re looking at the moment:
Reworking the Settlement Map & Terrain
Both the settlement map and terrain were completely reworked last month. One of the first changes we made was expanding the settlement borders so that we could space everything out a bit better. We then added some rivers, hills and placeholder mountains to the surrounding landscape so that players can gaze on some stunning vistas as they explore the settlement.
Some technical improvements were also made to the terrain:
- Far distance detail blending was added, and distance fog improved
- Virtual texturing was added to grass and small, scattered pebbles
- The map was improved and the height scale increased
- Terrain material now auto spawns rocks, grass and other basic foliage
- Distance blending and material colours were improved
- The cliff material was completely reworked on far-off mountains
Since the terrain and map were getting improved, we thought it was also high time to start optimising some of the assets and props used in the settlement. The goal was to get everything looking as high-quality as possible, no matter how big or small.
We ended up doing a huge pass on all the architectural assets, from wooden shacks and merchant wagons to market stalls and potion bottles. In fact, while they may sound inconsequential, potion bottle shaders were one of the major optimisations we made:
- Potion bottles will be sold by merchants, each one possessing various toxic and curative abilities
- These potion bottles were originally showing bad shader complexity because the material used opacity
- To improve the overall look, we optimised the shaders so that they an opacity mask and dithering, which is also a lot cheaper
Creating a Starting Zone for Players
The last thing we worked on in the game’s UE4 settlement was a starting zone for players. This is where players will spawn, and it was placed a ways away from the settlement itself so that teams can get the lay of land as they walk up to the gates.
The starting zone was set-dressed with some new props and assets, like tents, campfires and wooden shacks. Many small scenes like this have been put into blueprints, meaning that we’ll be able to spawn random events all over the world. Here’s how the starting zone is looking at the moment:
Creating VFX & SFX for Abilities
Both our VFX Artist and Sound Artist spent a lot of time last month creating visual effects and sound effects for some of our characters’ Talent Abilities. There were three characters we did this for in November: the Zentragal Illusionist, Earthen Dwarf and Twilight Elf Assassin.
In fact, as of a few days ago, we now have visual fx for every level 1 Talent Ability in the game! Talents refer to a set of spells or skills that players will be able to choose from and customise their character with. Here’s a look at all the abilities that got new VFX and SFX this month.
Zentragal Illusionist Talents
- Shadow Beam: Deals Damage to three tiles in front of you, as well as reduces the Movement of an enemy’s hit
- Empowered Obscurity: Increases your Mana Regeneration stat if you don’t get attacked on that turn. This is doubled if you continue avoiding attacks beyond this turn
- Cursed Ground: Allows you to target a 4×4 tiled area and cause all enemies within that range to lose a bit of Movement
SFX for Dark Magic Spells
To capture the sinister side of the Zentragal, who dabbles in dark, illusionary magic, our Sound Artist used a combination of Weaponiser, Tonsturm’s ‘Whoosh’ instrument, and Reformer Pro. The result was some really nice, whispery sound effects that perfectly echoed the shadowy nature of the Zentragal illusionist. You can take a closer look at the workflow in this devlog.
Earthen Dwarf Talents
- Earthly Strike: Has an impact so powerful that you’re able to strike through an enemy on an adjacent tile, causing a perilous tremor that then injures the target behind them as well
- Quelling Wave: Reduces the Strength stat for all adjacent enemies, as well as reducing their Critical Chance to 0 for an entire turn
- Stone Form: Grants you extra Resilience for two turns. Your Movement stat will be reduced when this is active to balance everything out
Twilight Elf Assassin Talents
- Imitate: Resets the cooldown of your last used abilities
- Shade of Recuperation: Heals you over three turns
- Shadow Assault: Allows you to teleport 3 tiles away and attack an enemy 3 times
- Void Flicker: Teleports you to a random square within a 3 tile range
When they weren’t creating sound effects for character abilities, our Sound Artist was focussed on getting some ambient sounds ready for various parts of the game, as well as some draft SFX for the in-game UI.
Creating Ambient Sounds for the Game
Ambient sound is important in games because it helps enhance the realism of the world that the player is experiencing. It’s basically background noise that immerses a player in a particular environment – and we have a lot of environments in Depths of Erendorn, so a lot of different ambient SFX will need to be created!
Fire Cave Ambience
The Fire Caves were the first to receive some ambient sound. The focus here was to create a warm atmosphere that was, at the same time, sinister and foreboding.
A lot of reverb was added to these SFX to give a sense of how vast these dungeons are, and some distant groans were also included as a nod to the formidable monsters that dwell in these fiery depths. But there are a number of delicious nuances our Sound Artist made to the various Fire Cave ambiences – take a listen:
Ice Cave Ambience
The Ice Caves were next. The ambient sounds for these perilous parts of the dungeons also needed to give an impression of a reverberant and sinister environment – but this time, one that was markedly cold and unforgiving.
Our Sound Artist embarked on an interesting workflow to achieve this: they started by playing a violin bow across cactus spikes, and then ran this recording through a synth. This created a resonant, almost crystallic sound, which was then manipulated to get different types of background noises:
- The notes were dropped down a few octaves to get deep background sounds
- The notes were moved up a few octaves to get quicker, passing shimmers
Another technique our Sound Artist used to create ambient sounds for the Ice Caves was recording the sound of ice dropping into a glass and being stirred around. They also added a drop of whisky to an ice cube – this is a great little trick because it causes the ice to splinter, allowing you to get some great recordings of ice stresses and squeals.
The next set of ambient sounds were created for the settlement. These included a lot of general woodland noises, like chirping crickets and the sound of breezes passing over grassland. A few more iterations will be worked on over the next few weeks, but here’s how they’re sounding so far:
Sound FX for the Game’s UI
With our Programmers beginning to implement the game’s UI (more on that later), our Sound Artist decided to begin working on some corresponding sound fx for it. In-game UI sounds need to be thought about carefully so that they reflect the mood and tone of the game, as well as the action they’re representing.
For example, since Depths of Erendorn is a dungeon crawler game, our Sound Artist created SFX for the UI with wooden percussion instruments, like war drums, because they reinforced the warlike genre and tense atmosphere. In addition to percussive hits, cymbals, shakers and vocalisations, like breaths, were used to add sound variation to our UI.
Last month, Programming was focussed on UI implementation, reworking the server code, setting up multi-user editing, and resolving an issue that was preventing ‘Turn Entity’ Steps from working properly.
Most of last month was dedicated to implementing the new in-game UI. This work involved:
- Assigning hotkeys to actions so that we’re able to perform the actions bound to specific action bars. To do this, keybinds for the 12 slots of the main ability bar and the 12 slots of the Ghost Bar were bound to number keys. For example, pressing Alt+1, Alt+2 or Alt+3 now activates the Consumable Bar.
- Improving and implementing additional UI features, including hotbar assets, like empty/active/unusable slots, hotkey text, and a new typeface; new hotbar functions, like hotkeyed slots that dynamically update according to the selected target; and a new save system for storing user information, though this is still being worked on.
- Implementing on-screen feedback messages that explain to players why certain actions may not be possible. For example, if a player attempts to move when they have no remaining Movement stat, or tries using an ability that’s still on cooldown, an explanatory text message will flash up.
- Exploring Rich Text formatting and Rich Text images as a way of getting better control over the style and appearance of text and images in the game. Rich Text will allow us to predefine a number of text styles that we can draw upon when displaying text. Rich Text Images will allow us to embed images within text, whether it’s including an icon with its respective damage type, or using emoticons in chat messages.
Many updates and changes were made last month in the continued effort to completely rework our game server. The reason we’re re-creating the server code in a new language is because it will be much more performant and, to put it simply, make our Programmers’ lives a lot easier!
In order to facilitate this rework, the following changes were made:
- We implemented new character selection commands, ability and active effect structures, and stat controllers and stat managers
- We renamed ‘Status Effects’ to ‘Active Effects’ in the code in order to prevent Status Effects from getting confused with entity States
- We added message compression and message splitting to the new server codebase, as well as methods for communication over a websocket connection to clients
- We also added new Lobbies and a Game Lobby Manager, as well as commands to start/leave/join/update game lobbies and get the list of open lobbies
Other Key Highlights
Aside from UI implementation and server reworkers, our Programmers also spent last month setting up multi-user editing for all of our devs. This will streamline everyone’s workflow by making it possible for multiple devs to work on the same level simultaneously. This will be crucial when it comes to making zones for the game!
We also improved synchronicity between animations and the game flow by resolving a bug related to the ‘Turn Entity’ Step:
- When turning to face a selected target, an entity, like a player, would begin their cast animation before the turn animation had completed
- This caused crashes because if the next action was successful, and there were no more Steps to play, the current Steps were removed and the memory was recycled, even if the Turn Entity still needed to complete its action
- To fix this, time sensitive Step types were marked for ‘Late Destroy’ so that they can be detected by the Action System when in-use
- This allows their removal to be delayed until their impeded function, like turning, has completed and a new queue of Steps is ready to be processed
Overall, this bug fix means a lot more can be achieved within the Action System as Steps can now exist in the background, as long as their function requires it.
That’s it for this month’s devlog roundup! For a more detailed look into our game development process, check out our weekly devlogs!