Last week our teams were hard at work on some exciting stuff! The transition to UE5 has begun, set pieces received a refresh and a whole host of SFX were updated! As always, join us on Twitter, Instagram, and Reddit for daily updates on Depths of Erendorn - now let’s get into it!
Set Piece Design
Our Junior Environment Artist refreshed some of our old models last week, before moving onto an "edge wear" decal. Their work included:
- Revisited some older set pieces to tweak some materials and assets, including the indestructible box.
- Started working on an edge wear decal trim sheet. Our current way of doing materials means we're not sculpting each asset individually, which means that we lack some detail. So we wanted to experiment with edge decals to fake some sculpting into assets that need it.
- We tested out the trim sheet on one of the edges of the indestructible box's new platform, but it looks more like the edge has been hammered. This effect could be useful on some assets but wasn't what we were going for. Either way, the box has a fun new platform now, which hopefully will look cooler once we get the edge wear down!
Sculpting on our new cosmetic armour set continued for our 3D Modelling team last week. This included multiple revisions during the blocking phase due to design refinement. This is normal during the sculpt phase, as our teams discuss how a set should look, if it can be modelled in its current state and will it animate without any clipping or other visual issues.
The Programming team were incredibly busy last week, focusing on tweaking and refining the client and Golang server after the migration. It's important to thoroughly check things after a major milestone and eliminate as many bugs as possible to ensure a smoother ride going forward. Work completed this week included:
- Added a short Global Cooldown after each Movement/Ability/Attack command.
- Each player can only have one command in the queue at a time.
- Adjusted the way movements are handled.
- Stopped movement commands from being added when the entity is already moving.
- Added an extra command validation step to provide better feedback to the client.
- Fixed an issue with an AI edgecase that could lead to an infinite loop.
- Entities that die while moving no longer break the game.
- Reduced the number of dungeon generator workers needed per Dungeon Server.
- Reduced the number of database workers needed per Server.
- Entity rotation values now update when they move.
Extra work on the client also included:
- Following last week's implementation of Asynchronous Projectiles, this week has been about ensuring they and any other newly added features work as intended. We also laid the foundation for a similar method to be used on all abilities.
- Projectile Improvements - Changes have been made to the way in which projectiles find and calculate their trajectories, now making use of target entities and tiles as intended. All projectile templates have been updated to trigger at the right moment.
- Update Validation - The methods we use for validating gameplay updates as they are received has been updated to ensure no logs have been missed before proceeding or re-requesting the logs that were missed.
- Independent Steppers - In order to achieve a function similar to Asynchronous Projectiles (allowing game actions to continue without halting before each new one) with all abilities; planning has lead to devising a method to selectively ignore delays on any action that does not impact the next. Non-projectile abilities do not have the benefit of having their timings simulated to ensure accuracy. A method of validating dependencies before playing out an abilities consequences has been designed and will be implemented in the coming weeks.
The Golang team has been busy with more bug fixing this week, as we slowly work through roughly 200 (of the thousands planned) abilities. Thanks to the fact that the server has many new improvements over the Php server, a lot of abilities have been changed due to newly gained features from the server upgrade. Such as, anything that uses a projectile or anything that causes movement now works differently. As a result, there's a lot of tweaking and fixing we have to do to make these abilities work in the new system. A small amount of bug fixing has been done with some of the AI too, who were crashing when they tried to stand on the same tile as each other.
Although there's nothing visual to share this week, our Environment Artist has been incredibly hard at work, preparing for our imminent upgrade to Unreal Engine 5. This will be a major undertaking, and one will that involve much of the team to complete! Before that though, their work last week included:
- Terrain material improvements to allow for layer painting between auto materials.
- Improved sky, clouds and skylight.
- Megascans tiling detail and RVT blend material.
- Fixed issues with strange dark shadows appearing on large cliffs.
As always, our Animation team has been incredibly busy! Last week they turned their attention to the Stone Golem Slave:
- Worked on Stone Golem Slave basic animation set: idle, walk, run, attack, hit react, death; cleaned and exported.
- Started to work on winged lvl 1 humanoids : Bonelair Gargoyle
Last week our Sound Designer updated the Vampire Bat and Rhinogar SFX. It's common practise to revisit created sounds when additional work has been carried out, for example: SFX can be created from concept art, but once the model is complete and has been animated, the sound designer may want to tweak or change something they created to better match the new models. Take a listen to the updated sounds below:
Vampire Bat Wings
Vampire Bat Vocals
Rhinogar Hit Reaction
That’s it for this week’s devlog, but have you seen our monthly roundup of October yet?!