It has been an exciting week for the team! The 3D modellers have started sculpting the Druid enemy, while the coding teams have been working on world combat and stabilising Open World to Dungeon travel. Additionally, the environment artists have been implementing a brand-new hero tree to the world, as the animation team creates a stampeding rhino enemy! Finally, the VFX team have been working on updating older abilities to bring consistency to gameplay. 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!
3D Modelling
Having moved on from the Zentragal armour, the team worked on the Druid enemy. Starting with a block out for the cloak and skirt of the enemy, the team outlined the detail they went on to sculpt later in the week. Natural details have been added to the clothes of the Druid, further portraying a creature infused with nature. Such as shoulder guards that imitate the shape of a leaf and vines wrapping up the arm from the wristguard. The team will continue to add details to the Druid through the coming weeks. Examples of the initial sculpt can be seen below.
Programming
Client
This week was spent continuing the implementation of World Combat by unifying some of the primary Client classes to allow them to work with and share functionality when switching between Sessions and Combats. Base Manager, Core UI and Step classes are now capable of behaving differently depending on the context they were created for, allowing us to keep what we need from Dungeon Combat while being able to apply unique methods used in World Combat. As we are now dealing with potentially multiple Combats which have different requirements based on their Session type, a project-wide improvement on how classes reference relevant Sessions and Combats has been underway. A breakdown of other work completed by the client-side team can be seen below.
- Created and reparented Core UI Widget classes adding Session and Combat switch functions.
- Updated Session and Combat switching for Gameplay UI and it's initialisation methods to use the Core UI classes.
- Created the CenterPanel Core UI Widget to handle individual panel windows.
- Created the UtilityBar Core UI Widget to handle settings, inventory and other menu options.
- Updated all classes that use outdated Session and Combat referencing methods (there were a lot).
- Continued updating to the new Inventory UI, fixing stat display, item population and equipped item display.
- Fixed the equip display for two-handed weapons.
- Tweaked how context menus are handled in the Inventory to fix offset issues.
- Continued building the Inspector window, but on hold until Gameplay UI is updated.
- Started integrating UI menus into the new Core UI widgets.
Server
This week the server team has mostly been focussed on tying up the end of a dungeon combat into returning the players back to the open world. A lot of refactoring and updating old code that concluded dungeon combat has now been done, including some overhauling of the dungeon complete and dungeon notify code. Along with this, a bunch of other backend fixes have been implemented to make things run smoother behind the scenes, such as A GetTilesAtRadius function (to effectively draw circles for the purposes of finding people at specific ranges or circular shaped abilities), allowing summoned allies to be able to follow you to the next room of a dungeon. We also created a function that'll send your new stats to the database when you buy an item or complete a dungeon, and completed a slight reworking of what logs are sent at the beginning and end of combat to the client. Other work completed by the server-side team can be seen below.
- ActivityLog structure created.
- Re-implemented BallotComplete trigger.
- Adjusted the order that the logs are sent to the client at the start of a world combat.
- ZoneNav data is now wrapped and instanced between sessions allowing us to make multiple sessions with different NavData from the same base zones.
- Added a method to blend between instanced zone data and the base zone data, this means we can have World Events affect the walkable area of zones.
Environment Art
The environment team have been tweaking the structure of the Hero Tree throughout the last week. Once they had finalised the design the team implemented the great oak into the engine. During this process the team took the time to compute a variation of wind speeds that will cross the world of Erendorn and using the SpeedTree program the team was able to export this simulation into the engine. This process has also given the team the ability to further optimise tree generation by using an atlas that will be shared between all oak trees. An atlas is a texture set which contains multiple assets, in this case the atlas contains the twigs and leaves that will be used for all the varations of oak tree across the world.
Once these trees were implemented into the game engine, the team started the process to make master materials for the leaves and the bark. These materials will be added to each tree to give them consistency across the land. This process will also optimise the placement of the tree by the server, meaning it won't need to render many different textures. Finally, the team would go on to create procedural placement profiles for the oak tree and place them into the world. These profiles will make implementing the trees much more efficient and smoother.
Animation
The animation team have continued their work on the quadrupeds. Over the last week, they have focused on rigging and animating the Rhino enemy. Completing the animations for the idle, walk, and run cycles. The team have focused on adding weight to the creature, taking reference from the Rhino in our world. The swaying of the creature, while it walks, portrays the effort needed to move the weight it holds. While running, the Rhino shows its strength with long slow strides that will build with power over longer distances. Examples of the new animations can be seen in the video below.
Visual Effects
The visual effects team has focused on some of the abilities created earlier in the project, bringing all effects to a more consistent style. The team have worked on the level one visual effects for character classes of Erendorn. Taking the time to update the abilities for the Forest Druid, Watertarg Excursionist, Earthen Dwarf, Parakaw Astromancer, Twilight Elf Assassin, Zentragal Illusionist, and Human Knight. As the team has progressed through the abilities needed by character classes, some of the earlier visual effects can look dated. The team have learnt many new techniques that will refresh many of these earlier visual effects, bringing them in line with ones completed more recently. All examples of the newly updated abilities can be seen in the video below.
That’s it for this week’s devlog, but have you seen our monthly roundup of July yet?!