This week has been a busy one! More updates to the Golang server meant a whole lot of bug fixing, our latest heavy armour set nears completion and our Junior Environment Artist brought some of Erendorn's "darker" assets to life. 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
This week our Junior Environment Artist has been creating a whole host of set pieces that will feature in-game. This time focusing on the darker side of things - gallows and cages. These objects will be found in towns, cities, bandits camps, and anywhere else that may require the 'discipline' of Erendorn's inhabitants. The team is also working on stockades and a stretching rack, which should be completed very soon!
3D Modelling
This week our 3D Modelling team started to wrap up work on our latest heavy armour concept. Over the last few weeks this model has taken shape and seen a couple of revisions, based on feedback from the team as a whole. This is a common occurrence at Project Gamechanger, as we're all passionate gamers and have plenty of experience within the industry. Check out the concept, WIP and finished sculpt shots below, and stay tuned for the finished version very soon:
Programming
It has been a bug-busting week for the programming team, both in our Golang server and within the client itself. This is totally normal for this stage of development, where the transition to a new server is completed and things need to be calibrated correctly. Firstly, let's focus on the client - This week we:
- Fixed inconsistent variable naming with ballots.
- Fixed a bug where the number of votes required for a vote to pass was off by one.
- Added Turn length to server logs so it can be dynamic instead of being hard coded.
- Fixed the client getting a duplicate log after first joining a session.
- Updated Stat IDs in the client.
- Updated to new Damage Type information.
- Added a new Movement object to the client in preparation for implementing the new Simultaneous Movement/action system.
- Adjusted the turn manager to handle the 'new turn' information sent by the new server.
- Updated some of the message handling to match the new server messages.
This week has seen further updates to the Client in the way that logs sent by the server are utilised during gameplay. We are now also at the point where rooms are built, ballots can be voted on and characters are spawned when a Dungeon Session is joined.
- Ballot Handling - Voting on ballots is now possible using new commands made for use with the new server, allowing players joining dungeons to decide whether to reroll the room or not.
- Character Spawning - Spawn tiles in any given room are now detected and presented to connected players when joining a room. The Client is now able to select and spawn players and enemies into rooms.
- Log and Event Handling - A large amount of updates have been performed on the classes that handle the various different Logs and Events the Server uses to communicate gameplay. Steps and Steppers (the actionable Blueprint form of Logs and Events respectively) now make use of the new Session/Combat hierarchy described earlier this month. This means that the majority of Step functionality that has not changed shouldn't require any more attention, for us to get back to playable.
Golang
With the new Testclient now able to start combat like the original could, we've uncovered and spent the majority of the week fixing a whole host of bugs that've been created as a result of testclient being separated. Most of these are caused by variables no longer being local to the individual modules, and being passed in incorrectly, or not at all. Additionally, we've added two new targeting functions, which are used by abilities and events to get target tiles or entities (for example, a 3x3 area on the ground, the nearest ally, or the furthest 3 enemies within line of sight). These two new functions are 'AllPlayers' and 'AllPlayersAndAllies'. These were needed for use in events, which often target only the players and not their allies (such as summoned pets). Using these, we can make the events we need for our dungeons.
Sound Design
This week our Sound Designer carried out some work on some of our 'older' characters models/abilities. This meant our Zullra SFX needed updating to reflect the new animations that we showcased last week.
Work also began on our Chapel's ambient sound.
Environment Art
Our Environment team have continued work with UE5 this week, adding things like virtual texture support to landscapes, improving normal blending between material layers and optimising the material texture sample count.
Animation
Our Animation team began work on our lumbering (no pun intended), Rockbark Sapling! This consisted of:
- Updating, reskinning and cleaning the rig. Then importing it into the engine.
- Creating the animation set: idle, walk, attacks, hit react and death.
- Cleaned/exported animations and imported them in engine.
That’s it for this week’s devlog, but have you seen our monthly roundup of October yet?!