It’s been a bit of a 'devvy' week for the team working on Depths of Erendorn, with lots of new programs and workflows being explored. From understanding Inverse Kinematics in UE4 to learning how to world-build with Houdini, our devs are working hard to improve their workflows and optimise the game as much as possible. We've also got some brand new game world ambience clips to play you, so stick around to give those a listen. As always, join us on Twitter, Instagram or Reddit for daily updates on Depths of Erendorn - now let’s get into it!
Refining the Vaznarite Sculpt in ZBrush
More sculpt work was carried out on the Vaznarite, a high-level enemy we started modelling in last week’s devlog. Our 3D Modeller is currently trying to figure out all the tricky areas, particularly rock plating, since this creature will be armoured in volcanic rock.
Another important element we’re planning for is the transition between rock and skin, though that will be easier to do once we’ve moved onto the texturing phase. This is how the current sculpt is looking in ZBrush so far:
Understanding Inverse Kinematics
In Animation last week, some new moves were drafted for our Earth Dwarf’s casting and channelling spells. These will be perfected over the coming days before being assigned to one of the Dwarf’s pre existing abilities.
Our Animator also started to do some research into the Inverse Kinematics (IK) system in Unreal Engine. There are many advantages that come with mastering this system. For example, IK will allow characters to keep their footing on uneven ground, and is great for creating realistic interactions and movements in a game. What’s more, by being a 2-bone system, using IK in UE4 massively improves how joint rotation is handled, especially for the arms and legs.
Environment Workflow in the Engine
Last week saw the introduction of our Junior Environment Artist to the underlying systems used for procedural rooms generated in Depths of Erendorn. With the guidance of our Programmers, they figured out how to create blueprint assets that are set up to be used in set pieces and to spawn in the dungeons.
They also learned how to make set pieces themselves, as well as how to make sure that assets and set pieces are in the correct environment profiles. As a result, new documents outlining prop and set piece implementation have now been created, and should smooth out the process of getting assets from being in-engine to appearing during gameplay.
In between all this, a bunch of naming conventions for BPs, meshes and materials were organised, and two cage variants were created with the help of a nice, rusted metal instance. These will be used to further set dress our settlement and dungeons - what do you think might be kept in them?!
Working in Houdini
Whilst our Junior Environment Artist was being shown the ropes, so to speak, our leading Environment Art was busy studying Houdini, unearthing all of its world building wonders that we’ll be able to take advantage of. This working included:
- Researching terrain creation techniques, scaling, and resolution
- Researching world composition as a tool inside UE4
- Researching asset scattering and instancing
- Researching terrain material masking
Then, with this new-found knowledge, our Environment Artist began creating a landmass that will eventually replace the terrain in the first settlement - it’s only just been started, but here’s how it’s looking:
Game World Ambience
If you were with us for our devlog roundup last month, you’ll know that our Sound Artist has been busy making some game world ambience for Erendorn's various caves, dungeons and settlements. Well, in addition to the awesome SFX that were created for the Ice Caves in November, even more ambience has been worked on for these frozen, hostile levels, this time with some dynamic elements like falling rock and cracking ice, which add a nice textural quality to the atmosphere.
One thing our Sound Artist kept in mind when adding in these various elements was that they needed to be able to be easily removed or added-in: we don't want the game world ambience to be too overpowering during gameplay, but we also wanted to be able to liven certain areas up if we needed to. Our Sound Artist has made it super easy to do both, which will give us a lot of possibilities when it comes to implementing these sounds in the game.
These are the new ambient sounds for the Ice Caves
Last week, our Sound Artist also created sound effects for the first ever river! These use both up-close recordings and distant recordings, which will hopefully give a nice spread of detail. Our Artist then looked at ways to implement the sound in the engine - we may have found an interesting technique using river splines, but we’ll have to tell you more about that once we’ve tried and tested it!
These are the new ambient sounds for rivers
Improving Tooltips and Combat Logs
This week, the Client has seen improvements in tooltip display details, as well as the beginning of combat log implementation:
- Ability Tooltip Data: The way ability information is stored and displayed during gameplay has been updated so that players can use tooltips to easily read key properties, like resource cost, range, or whether line of sight is required. By having this information accessible to the Client, it also means we’ll be able to calculate potential targets, or communicate why an ability is currently unusable before the player has chosen its targets.
- Combat Log: Work on the combat log has begun, with methods for allowing different gameplay systems to communicate and categorise their events having been added. The combat log is an important feature of many RPGs and will allow players to check the details of combat as they occur.
As well as this, our Programmers also worked on reintroducing set pieces and re-implementing the level generation preset and rules from the previous programming language. A programming test was also created and evaluated in preparation for a new Programmer we’ll be adding to the team in the New Year - we can’t wait for you to meet them!
That’s it for this week! See you next Monday!