Welcome to this week's development log for Depths of Erendorn! The team has been busy fixing bugs and implementing new features after a big team playtest. The turn timer has been updated to be accurate to server time, with warnings given 30 seconds before a player turn ends. The sound team has been working on implementing sound effects and fixing audio bugs, while the environment team has been focusing on UVing castle pieces and testing tessellated mesh displacement. The animation team has been creating stun animations for special group one creatures and character blueprints for human civilians and birds. Let's take a closer look at what the team has been up to this week! As always, join us on Facebook, Twitter, Instagram, and Reddit for daily updates on Depths of Erendorn. Alternatively, join our Discord for all the latest! - now let’s get into it!
Set Piece Design
The team made more general improvements to assets this week. The main focus was on the playtest, which provided valuable insights into how assets look in actual gameplay. This helped the set piece design team identify the need for more material fixes, particularly in the specular values of some bridge assets. Additionally, the team also worked on improving asset collisions. During the playtest, inconsistencies in specular values were noticed in certain elements such as the bellows, anvil barrels, characters, and weapons, and the team is working on addressing these issues. Examples of the areas that will be worked on throughout the coming weeks can be seen below.
Programming
Client
This week was focused on getting the Turn Timer working correctly across multiple combats and bugfixing in preparation for the group playtest we had on Thursday. A summary of work completed over the past week can be seen below.
- Updated turn time display to be accurate to server time across multiple combats when updating the Turn Display.
- Added settings for and updated the function of turn timer warnings 30 seconds before a player turn ends automatically.
- Updated how players joining combat's turn status is handled when joining late on either a player or enemy turn.
- Updated how turn status is checked across the game to reflect the new changes.
- Fixed a bug where the End Turn button wouldn't appear if you ended turn before your last Combat concluded.
- Fixed a bug where killing an entity that has a death animation but no death animation timeline event prevented them from dying being removed from the Session.
- Created a bug spreadsheet ready for the team wide playtest.
Server
This week was spent fixing various bugs and newly found server crashes in preparation for a big team test and upgrading our server restart/hosting configuration to improve it. We now use a dedicated logging server to aggregate server logs and provide features which react to these logs giving us a new powerful tool. Our servers now auto-restart on a server crash meaning lower downtimes and server recovery if it does crash. Additional work along with some bug fixes can be seen below.
- Party's will now disband once everyone in them disconnects.
- Refactored party leaving code.
- Fixed deadlock stopping quick session closing.
- Refactored AdventureEnd handling.
- Fixed a bug in detecting if everyone in a party is disconnected.
- Added Chat messages for any time loot is distributed mostly for debugging.
- Fixed server crash when notifying a server about an incoming player if they didn't have a party.
- Fixed server-to-server reconnect code.
- Updated equip/unequip to fix a server crash.
- Fixed server crash on removing players from a party.
- Added some fault tolerance and error correction on entities joining combat.
- Fixed a server crash on a 0 length movement generated by the servers pathfinder.
- Fixed a server crash caused by pinging when not in a party.
- Added Server start time to server info.
- Created first implementation of server cleanup code on successful reconnection between servers.
- Added slack notification on server crash.
- Fixed broken effect blocks on some of the old abilities in the game.
- Altered log data sent to the client when the turn changes, including what unit of time turn length is measured in.
- Clients not being able to go on a second adventure in some circumstances, depending on how their previous adventure ended.
- Simultaneous combat ambushes not causing enemies to phase into a single tile at the end of their movement.
- Better shut down + disconnect code for a dungeon if people fail to connect to it.
Sound Design
The sound team has implemented sound effects for the pings, starting with the generic ones, but anticipate having different visual pings in the future that require unique audio that's distinct from each other. They have also fixed an issue with the Lionman vocal audio that was playing too loud in the engine by lowering its volume. After the recent playthrough, the team went back over the recordings and took note of all the audio bugs they encountered, as well as general mixing notes, and have begun working on them. To give you a glimpse of their progress, some examples of the work throughout the week can be seen in the video below.
Environment Art
The environment team has continued its work on UV mapping castle pieces and conducting texture tests. Additionally, they've been testing tessellated mesh displacement using a height map for Nanite geometry. The team is excited about the potential of this feature and is eager to see how it will enhance the visuals of the castle ruins. Examples of the work completed on the castle's textures can be seen below.
Animation
Before going back to player fixes, the animation team wanted to finish working on special group one creatures (quadrupeds) such as Mammoth, Sabretooth, and Rhino. The team created animation blueprints, animation blends, and implemented stun animations, as well as character blueprints for each type. Additionally, for birds, the team created an animation controller for the Eagle, character blueprints for each type, and implemented a stun animation. Lastly, the team created character blueprints for each human civilian shirt variation using one SK_mesh. Examples of the newly created stunned animations can be seen below!
That’s it for this week’s devlog, but have you seen our monthly roundup of March yet?!