Welcome back to another devlog! From 3D modelling and character selection scenes to visual effects and level generation, we’ve had a productive week working on Depths of Erendorn. Stick around to hear more about what our team has been up to!
3D Character Modelling
With the base form sculpted, we finished sculpting all the different versions of Rockbark Treemen this week, using bigger plates of bark and longer branches to denote the strongest type. We could then carry out the retopology and unwrapping of this intricate model.
Our Character Artist actually ended up giving our Animator an earlier version of the retopologised mesh so that they could test and alter it based on feedback. According to their feedback, the arms, body and lower legs of the Rockbark Treeman were kept as separate meshes. This is because, since they’re such rigid pieces, they will be a lot easier to animate by having less deformations. Not only this, but when our Animator comes to creating the Treeman’s death animation, they will want him to be able to break into pieces, so keeping the areas of the body as separate meshes also helps to achieve this.
In Animation this week, we were focussed primarily on transferring characters and their animations onto the new unique rig so that they can start being added to the engine. With this in mind, we finished transferring the Earthen Dwarves onto the new rig before turning our attention to our Human Knight:
- The Knight’s combat idles for when he wields a one-handed weapon, a two-handed sword and a two-handed mace were first transferred to the new rig before the animation was adjusted.
- The Knight’s combat walks were also then added to the new rig. This included the walk cycles for when the Knight is walking with a two-handed sword and a two-handed mace/axe.
Rounding things off, our Animator is continuing to transfer more animations that we have for our Human characters onto our unique rig so that they, too, can be added to the engine.
The character selection scene was improved even further this week. Sun rays were added to create some ambience and little clusters of mushrooms were added to the logs for some character. We also decided to create the illusion of rubble by placing small stones around the ground. In addition to this, in order to add more textures and points of interest to the scene, ferns, flowers and a campfire were also introduced.
The character selection scene also underwent some optimisation passes this week. This involved changing the background mountains and adjusting certain elements of foliage, resulting in a 65FPS increase from 15FPS to 80FPS. This is great because it means a smoother animation and gameplay, so we were pretty stoked about that.
When we weren’t working on the character selection scene, we spent some time adding spline tools to the game, including river splines and cave wall splines. These will enable a seamless and flexible dungeon generation. Landscape splines like these are really useful at making certain features, like cave walls, conform to a landscape. The cave wall spline is especially useful to us because it tiles in all four directions, meaning that we can have dungeon walls as high as we like!
Our VFX Artist started creating the visual effects for Drain Life this week, a generic spell wielded by characters like the Human Sorcerer and Zentragal Illusionist. As well as dealing Arcane Damage, Drain Life also restores Health to the player - so we had to make sure that the visual fx paid it justice!
We decided to show the Drain Life ability as a beam of green light. This wasn’t as straightforward as we anticipated, and our VFX Artist spent a few days racking their brains on documentation in order to figure out how to make particles follow the path of the beam. We’ll continue to work on this over the coming weeks, so make sure you keep your eyes open for the final result.
To get a break from beam planes, our VFX Artist also started reworking Heaving Blow, an ability that belongs to the Human Knight. At first, it was a little too fiery considering that it’s a physical attack, so we decided to replace the fire with a nice ground crack and some particle effects. There’s still a ways to go with this until we get it just right, and we’ll be experimenting with a few different elements - like giving more depth to the cracks and adding a dark effect for when it hits the opponent.
If you’ve been with us for the last couple of devlogs, you’ll know that our Programmers have been working tirelessly on level generation - and this week was no different!
- We added new example set pieces.
- We ported some C++ to our server code.
- Noise Generation was added to our Game Server.
- Save/loadable presets were added for noise generation.
- All random generations were given a seed so that the results are always identical.
- We collected and analysed different algorithm values in order to find suitable presets.
In addition to this, our Programmers upgraded the builder to use a tile class that would hold more complex information during the build process. Then, using this class, a new system was made and added for tiles to interact with the algorithm and influence their surrounding tiles. By using this system with set pieces, we are able to ensure that entrances can better connect to larger, open sections and cause walls to grow from sections we would rather block off.
Rounding everything off, and using what we learned from our client-based prototype, we have now started level generation using Cellular Automata on the Game Server. Stay tuned for next week’s devlog to see how it all goes!