While our settlement was treated to a bit of a facelift last week, with optimised assets and improved terrain, our Earthen Dwarf was spoilt with new animations and sound effects. In between all this, we finished sculpting the Fire Salamander and fixed two major bugs in the engine. Remember to check us out on Twitter, Instagram or Reddit if you like what you see - now let’s get into it!
Finishing the Fire Salamander ZBrush Sculpt
The first thing we have to show you in this week’s devlog is the finished sculpt of the Fire Salamander! This mid-level, fire-breathing enemy was sculpted in ZBrush, where our 3D Character Artist had to make a few important decisions:
- Several different tongue shapes were trialed and tested - the key here was to make sure that our Animator would be able to work with the finished shape
- Some team members mentioned that this creature actually looked quite cute because of the nose, so it was squished down a bit more - we want the Fire Salamander so strike fear and awe into players’ hearts, not make them want to cuddle it
- Different combinations of rough skin and scales were experimented with on the face, specifically around the eyes, where the first scale iteration looked a bit scarce - so, we reused the cluster of scales on the shoulder so that the face was more consistent
Once the sculpt was done, this fiery boi was retopologised and unwrapped, and is now waiting for texture in the depths of our 3D Artist’s project files. We’ll hopefully have an update on this next week, so stay tuned!
New Animations for the Earthen Dwarf
Testing Cast Effects & Attacks in UE4
Our Animator was focused on the Earthen Dwarf this week, a mighty playable character from the game who received four new animation drafts for cast effects, as well as an attack. These haven’t been assigned to specific abilities yet because they’re still being adjusted, but it’s always great to have a bank of animations raring to go.
We exported the new Earthen Dwarf animations and added them to the engine. Here, they were assigned Animation Controllers and tested in-game. Check out the Dwarf’s new moves below:
Here's how the Earthen Dwarf's new animations look in-game
Optimising Assets & Improving the Terrain
In a sprint to finish off the game’s first settlement, this week for our Environment Artists was mainly about tweaking and optimising all the different areas of this small community. For example, new blueprints and assets have been created so that we can bulk the zone out a little bit. We also did a huge pass on all props and architectural assets, making small improvements here and there to get everything looking as high-quality as possible. One example was optimising the potion bottle shaders.
You may remember our potion bottles from a few devlogs ago; they’ll populate merchant stores, and will have various toxic and curative abilities. Previously, these potion bottles were showing bad shader complexity because the material used opacity. Now, after some optimisations, they're much better because they use an opacity mask and dithering, which is much cheaper.
Here are some of our assets are looking after optimisations:
As well as this, a lot of technical improvements were made to the settlement’s terrain. Here are some of the key highlights:
- 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
Here are some of the latest in-engine screenshots of the game’s UE4 settlement after some terrain improvements:
Synths, Ambient Sounds & Earthen Dwarf SFX
Our Sound Artist was playing around with a lot of synths last week, not only because it’s just pure and simple fun, but also because it allowed them to test out new software, processes, and approaches. As a result, we now have a huge bank of magic glyphs and buffs, as well as a really simple method for creating them.
In between all this synth-work, our Sound Artist added a fair bit of SFX to the settlement:
- Cleaned up and balanced ambient sounds for the settlement so that there aren’t any noticeable elements that would distract from the game
- Created new settlement ambience from this work, and added it to the engine so that we can test it inside the settlement itself
- Added warm, fiery sound effects to all of the wall torches in the settlement, before setting up the attenuation settings
This is how the settlement ambience is sounding so far
The Earthen Dwarf also received even more attention this week with the creation of new sound effects for two of its Talent Abilities: ‘Quelling Wave,’ which reduces the Strength and Critical Chance of adjacent enemies, and ‘Stone Form,’ which increases your Resilience while reducing your Movement. Take a look at how their new sound fx work with the current VFX:
Bug Fixing Entity States & ‘Turn Entity’ Steps
Last week was dedicated to fixing two prevalent bugs that were impacting testing:
- Entity States
The first was an issue with how Entity States (Stunned, Disarmed, Rooted, etc) were being handled in the client, resulting in incorrect durations and crashes in builds.
This has been fixed by taking a closer look at the requirements of the system and restructuring how States are updated. This issue hasn’t returned since the fix has been implemented, so that’s one less thing to worry about.
- Steps in the Action System
The second bug was related to the Action System, where certain types of steps, namely the "Turn Entity" Step, were causing crashes. For example, there were some cases where a Step may have finished it's required function, but still performed an action in the background.
In the case of Turn Entity Steps:
- When turning towards a cast target, an entity would begin their cast animation before their rotation had fully completed
- If the next action was successful and there were no more Steps to play, the current Steps were removed and the memory was recycled
- This posed a problem because the initial Turn Entity may still need to complete its action, causing crashes
The fix for this issue has been worked on over a few weeks, but has finally been fully implemented! It basically involves allowing the Action System to handle Steps that are marked for 'Late Destroy'. This means certain time sensitive Step types are detected when they’re run, and their removal is delayed until their impeded function has completed and a new queue of Steps is about to be processed.
Overall, this addition 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.
Continuing on in our effort to completely rework the game’s server, a lot of additions were made last week, including Lobbies and a Game Lobby Manager. Our Programmers also added:
- Message compression and message splitting to the new server codebase
- Commands to start/leave/join/update game lobbies and get the list of open lobbies
- Methods for communication over a websocket connection to clients
Reworking the server is going to be a long haul, but it will be worth it once we have a server that is more performant to our needs.
That’s it for this week’s devlog - see you next Monday!