June DevLog | Game Development Summary
This month’s game development update for Depths of Erendorn takes you through character customisation systems, character modelling, asset creation, rock generation and sound design – to name a few. So sit back, grab a drink, and get stuck into how we’re developing our top-down fantasy game! Make sure to check out our Twitter, Instagram or Reddit for more updates.
Character Customisation System
If you were with us back in May, you’ll know that we’ve been working on building a character customisation system for the game (and if you weren’t with us, head over here for a little recap). After having already figured out a method for clothing customisation, by way of a modular pawn system, this month our 3D Artist was focussed on setting up a way to change a character’s body proportions:
- The body proportions of any playable character will be customisable in the game – so if you wanted to make your character appear larger, for example, the system will allow you to do this.
- This will be achieved using bone scaling and sliders. First, a system was created for deforming the body. This system scales, translates and rotates skeletal bones.
- We used bones for body deformation because bones are able to influence any mesh skinned to them – so if you change the size of a torso, for example, the clothing mesh on top will also adapt.
After running a few tests on some trial characters, we managed to get both the modular pawn system and the bone scaling/slider system working pretty well. We’ve set the foundation for very versatile character customisation options – but there’s still a lot more to do! Facial features and other miscellaneous enhancements will also be handled by this system, giving players total control over the aesthetics of their character. But there’s only so much one person can do on this system in a month – so, to give themselves a much-needed break, our 3D Artist jumped straight back into their bread and butter: character creation!
Modelling the Soldier Series
In Depths of Erendorn, Soldiers hail from the Human Kingdom, and can be encountered as either harmless NPCs or as low-level enemies. There are three ranks within this series, each one more powerful than the last. We represented this in their armour, or lack of armour, with the lowest ranking Soldier wearing only a simple helmet and unprotected tunic, while the highest rank wears a fully kitted-out armour set.
We had to be careful when modelling the Soldiers, however, because we didn’t want their design to be too similar to the Knight, a playable character who is also Human. This meant that we had to be quite original when it came to designing their armour:
- Rather than using a standard helmet, a great helm, or heaume was used. This covers the strongest Soldier’s entire face and has quite a menacing, medieval quality to it.
- The body armour was given overlapping plates in a way that is similar to insect bellies. This is a unique design element that differs hugely from the Knight’s smooth armour set.
- Small details were added to various pieces, such as studs around the waist and the illusion of buckled straps across the torso. We also outlined each armour piece with ridges for decoration.
At the same time, while we wanted the Soldiers to look unique from the Knight, we also needed to demonstrate that these characters are both warriors from the Human Kingdom. To subtly nod to this, a similar red material that was used on the Knight was also used to texture the undergarments of the Soldiers. This gives the hint that there is a common ground or shared experience between these two characters, while the rest of their design easily distinguishes them from each other.
After we had finished sculpting and texturing everything, our 3D Artist could begin adding the finished pieces onto the human base mesh – keep scrolling for the finished model!
Our Animator spent most of their time in the engine last month in a continued effort to get animations working for all characters. With that said, Animation Controllers were set up for a number of playable characters, with the most difficult being the Zentragal Illusionist:
- Since the Zentragal is a humanoid spider, its skeletal meshes are different from other bipedal characters’.
- This meant that our Animator had to figure out how blueprint functions worked using different skeletal meshes.
Even though it took a bit of fiddling around, the Zentragal soon had its Animation Controller set up, so we could continue working on the rest of the characters. Once they all have Controllers, we will be able to handle character animations and their respective transitions much more effectively, and will soon be able to add VFX and sound effects to them as well.
But it wasn’t just Animation Controllers that our Animator had to work on in UE4:
- Blueprint templates were created for all characters’ spells, abilities and skills.
- The blend transitions from a character’s idle to their walk cycle were improved.
- New animations were imported into the engine and adjusted to fit several characters.
- Triggers were then created for certain animations so that they know when to occur.
- A new run cycle for the Forest Druid was also blocked out.
Prop Design & Asset Creation
June was an exciting month for the Environment Art department because we welcomed a brand new and very talented Junior Environment Artist to the team! They quickly got started on creating a ton of awesome assets for the game’s environments – and if you follow us on socials then you’ve already seen how badass these all look:
- Two Altars were created, one with a darker, cultish energy to it and one that is more ethereal. The first altar is made up of jagged rock pieces and uses blood for the water inside. The second one, however, has a much purer aspect to it, and a blue light was even added above the water to really emphasise this purity.
- A Shrine was the next asset to be made. With our Concept Artist’s orthographic illustrations as a guide, the Shrine features glowing runes that have been carved into its surface in an emissive material. Candles were then placed around this asset in a spooky UE4 test scene to really up the ante of this environment prop.
- The Obelisk, which was the next asset on our Junior Environment Artist’s list, also featured similar emissive carvings, as well as a rough stone texture that was speckled in a mossy material. The team actually really struggled on deciding what shape to choose for the obelisk, so several were created and we may end up using all of them!
- A Cauldron was also made last month. This was a much more fiddly piece to contend with when it came to its geometry, textures and retopology – so if you’d like to see how we did it, check out this past devlog. But the important thing is that we ended up with an awesome, rusted Cauldron that will be used as a small set dressing piece in our dungeons.
- A Stone Chest was created next. Like many of our other stone assets, this was also given a rough, moss-speckled texture in order to make it look aged and weathered. As well as this, our Artist made sure to keep the lid separate from the rest of the piece so that it is easier to animate in the future – and yes, some stone chests will be able to be opened and looted by players!
- The Fountain was another impressive asset created in June. We decided to make it appear organic and almost naturally-formed, and rugged stone shapes were used to achieve this. We’re also still deciding on whether to have the water added as VFX or not, so for now it is an empty fountain that has been dried up by the dungeons!
- Levers and panels were among some of the smaller props made for the environment last month – but despite their size, they will add an interesting element to the game as they open up the possibility of having parts of the environment that players can interact with. Like the chest’s lid, levers were kept separate from their panels so that they’re easier to animate.
- A 5-Link Chain was the last of the props to be made. Instead of creating individual sets of unique chains, however, our Artist decided to use a blueprint that will allow the chain to tile along a spline in the engine. This will allow us to create 5-link chains much more efficiently.
Once all of these assets were completed, we brought them into test scenes to ensure that they fit in well with and matched the aesthetic of Erendorn’s dungeons.
To add a little more interest to our props, we also spent a bit of time last month working on a new feature that will allow our artists to paint a moss texture directly onto assets in the engine. Once we have this up and running, it will be a much easier way of having different variations of assets as some will be mossier, or more aged than others. The feature will save our artists from having to individually texture the same assets with different levels of moss, so we’re really excited to finish it!
While our Junior Environment Artist was kicking the ass in asset creation, our veteran Environment Artist was busy putting the crack back into it by creating a Houdini crack generator. This feature will form unique and organic fissures in our generated rocks, giving them more variation and realism.
Houdini was actually used a lot last month. It was used to create:
- Noise Generators: These will allow us to populate our cave dungeons with rocky formations.
- Cliff Piece Variants: Three different cliff pieces were generated to add variation to our dungeons.
- Cave Pillar Graph: This will aid in the creation of cave pillars and other environmental rock pieces.
When it came to applying texture to all of the above rock formations, our Environment Artist wanted a versatile material that wouldn’t be affected by the size of the assets. To accommodate this, they ended up creating a new Cave/Cliff master material that utilises masking and triplanar texturing. Not only does this material allow us to scale assets as much as we like without losing detail in the texture density, it also allows us to easily blend cliff assets together, and this really helps when it comes to creating epic vistas and huge dungeons. As the weeks unrolled, more roughness variation was added to this material, as well as a moss vertex colour erasing layer.
Just like our Animator, our VFX Artist found themself holed up in the engine last month as they worked on getting all visuals for abilities, spells and skills performing properly with their respective animations and sound effects. This work involved:
- Creating new blueprints for abilities and adding visual effects onto them.
- Adding visual fx onto all generic skills in the engine (and that’s a hell of a lot!).
- Tweaking and reworking visual effects that weren’t functioning or triggering properly.
- Testing VFX in the game to make sure they were working properly.
Although it’s been arduous work, we’re now getting to a place where visual effects are up running for most playable characters’ animations. We’ll be able to playtest it all soon when the next build is ready, so we’re really excited to see how all of these elements are coming together.
Earthen Dwarf Abilities
A lot of new sound effects were created last month, starting with the Earthen Dwarf’s abilities. Our Sound Artist already started this back in May, where the sounds of crumbling rock and other earthen effects were used in order to reinforce the fact that these are a race of underground miners.
However, Earthen Dwarves also possess some remarkable powers in addition to their robustness and brawn, and so our Sound Artist wanted to convey this by adding some runic mysticism to their sound design:
- Magical whooshes and mystic echoes were included in abilities like ‘Smite’ and ‘Stone Blood.’
- These were balanced out by hard impact sounds, which emphasise the Dwarf’s innate strength.
- Faintly metallic rushing noises and the tinkering sound of mining tools were also used for abilities like ‘Juggernaut’ and ‘One With The Earth.’
Another character race that had its sound design worked on in June was the Veloxian Centaurs, who appear as both enemies and playable characters in the game. After creating some generic hoofsteps for these creatures, our Sound Artist moved onto their vocalisations.
The Veloxian Centaurs are known as a race of disciplined and militaristic fighters, notorious for their raids on villages. In fact, there is something quite Roman about the lifestyle of these enemies, so our Sound Artist focussed on making them sound human-like and battleworn. Deep underlayers of grunts were used to do this, and these were made to sound like they’re being forced out, as though the Centaurs are in the midst of battle.
Attack SFX for Playable Characters
On the subject of vocalisations, some placeholder vocals were created last month for the Forest Druid, Earthen Dwarf and Human Bandits’ attack sfx. These were implemented in the engine and will be used when testing the game to see how sound effects work with animations and VFX:
- The Forest Druid was made to sound a little calmer during their attacks, since this character lives harmoniously with the earth and so wouldn’t sound quite so brutish, even in combat.
- The Earthen Dwarf was given a very deep, more impactful vocal to underpin his hits. These sound effects were used to help get across the fact that these characters have a lot of strength.
- The Human Bandits are a nefarious, unruly set of enemies in the game, so the vocals for their attacks were given a wild edge, as though they are out of control and self-trained.
Sound FX for Weapons
Weapons were the next things to get sound effects. Our Sound Artist’s aim here was to give each weapon a unique sound, especially when it came to one- and two-handed variations of the same weapon.
- Bow and Arrows: The basic fire and impact sound for this weapon was a lot of fun to create, and the resulting wet, swooping noises are always interesting to hear back.
- One-Handed Swords: The sound effects for this weapon were comprised of various different layers that worked together to create the sense of a light blade that sweeps through the air.
- Two-Handed Swords: The layers for this sword variation were made deeper than the original. A more intense metal scrape was also introduced alongside a slow whoosh effect that precedes the sword’s impact. Doing this gives the impression of a much bigger, heavier weapon.
- One-Handed Maces: This has more of a heavy, bludgeoning sound than other weapons. This was done to really emphasise the bluntforce impact of a mace hitting a target.
- One- and Two-Handed Staffs: It took some time to create the sounds for these as it was quite difficult to find a good balance between the different layers, i.e. the swooshes, the wooden sound of the staffs, and the final impact sound.
Speaking of weapons, our Sound Artist had a discussion with one of our Programmers on how to best implement weapon sounds into the game. So that a character doesn’t always make the same set of attack sounds, we’ve made it so that their sounds will change according to the items they have.
Our Sound Artist also dedicated a lot of time last month to implementing audio into the engine. This included sounds for generic abilities, spells and skills. With that work completed, every playable character should now have sound in the engine, which is a huge feat considering how many characters there are!
One of the main things our Programmers were focussing on last month was replacing internal walls with large environmental assets, like boulders or cliff pieces. This is so that our dungeons look like organically formed caves rather than constructed rooms. Here’s how we’re doing it:
- First off, we make a map of how deep the wall tile is. This is then used to replace the deepest walls with large assets.
- This process will be repeated until all necessary wall tiles have been replaced. In the future, we’ll create pools of different sized objects to fill these empty wall tiles with.
- When doing this, we will use different variations of assets so that all internal walls look unique. These assets will be a mixture of rock formations and smaller set pieces.
Internal walls are now at a point where the system just needs assets to bring them to life. To be ready for this, our Programmers have added the ability to detect and place differently shaped assets into a wall. Only 2×2 shapes are accommodated for now, but larger shapes will soon be included once the assets are ready for implementation.
Grid Node System
Moving on, a Grid Node System was created and implemented last month. We will be using the Grid Node System to improve the floors in the game by changing them from a rather boring flat plane, to one that adjusts its height according to its location in a room:
- In order to offset the floor, i.e. to make it rise near the walls, we are using the Grid Node System to store values near the walls.
- We will then be able to sample the system so that we can determine how close it is, or how much of an influence the walls will have on any given position.
- When sampling the node system, the higher the value it is, the more influence the nearby walls will have on this location.
- When it comes to building the floor mesh, the height of the floor will be determined by these values stored in the Grid Node System.
- Using this information, we will be able to change the floor material as well as the height offset of each vertex in the floor mesh.
By having the floor adjust its height, the floors will look naturally-formed rather than flat and static. The variations in height that the Grid Node System enables will, therefore, make the floors look much more realistic. During the process of bringing this feature to life, a few changes had to be made in order to accommodate it:
- The movement and spawning of entities had to be altered to avoid enemies and players spawning and walking through the floor.
- Since the floor isn’t flat anymore, the grid itself also had to be changed from a placeholder flat plane so that the grid wouldn’t get lost inside the floor.
- Now, instead of using this flat plane, a custom mesh will be generated to hold the grid. This way, the grid will remain on top of the floor because it deforms with it.
Upgrades to the Action System
Our Programmers made a few upgrades to the Action System this week in order to make it more user-friendly for the rest of the team. Some of the upgrades include:
- The ability to duplicate VFX on a single Custom Stepper was created so that visual fx work with multiple character sockets.
- This means we can now add a single rule that can apply multiples of the same VFX to a character at selected positions on their body.
- Another ability that triggers these Steppers on specific stat changes was added. This will cut down the need to distinguish when a relevant stat change has occurred in ability templates.
- Failsafes were also added to Custom Steppers. These will handle templates that contain null assets, which will in turn prevent crashes if files are moved, or if references are lost.
Set Piece Converter
Another tool created in June was the Set Piece Converter, which allows for the easy creation and implementation of Set Pieces. These refer to authored sections of a map that are added to the procedural generation and loaded in place when a room is built.
The Set Piece Converter will mean that any dev (an Environment Artist, for example) will be able to create a small level, mark which tiles are walkable and unwalkable, and run the Converter tool. This will then output the data required for a Set Piece to be used when a room is being generated. This means a new Set Piece can appear in the game minutes after its data has been generated by the tool.
With this in mind, our Programmers:
- Added the option for providing the server with positioning rules for that Set Piece, as well as the ability for the Set Piece Converter to accurately apply offsets.
- Offsets allow artists to create a Set Piece at any position in the level and still have it position correctly when it loads up.
- In the process of creating this tool, Set Piece hierarchies have been updated, as well as new placeholder walls that will blend in better with their surroundings.
In addition to the Grid Node System, the Set Piece Converter, the upgraded Action System and the successful replacement of internal walls, lots of odds-and-ends were boxed off in the engine last month:
- The floor grid now continues to work after reroll or a finished room.
- A number of keybinds were added for activating specific character abilities.
- This improves gameplay as players are able to use their spells much more quickly.
- The camera now only moves when following movement, or to display new turns.
- The ability bar was updated to scale depending on the number of abilities it’s displaying.
- A highlight ring was added to team portraits in order to denote when a team member is selected.
- A target widget was added to allow players to see who a targeted enemy is intending to attack.
Finally, the ability was added for aggressive enemies to update and display their targets as moves are made in the room. Doing this gives players an element of foresight, allowing them to read the room better and figure out strategies.
And that was everything we got up to in June! Remember, if you’re looking for a more detailed look at everything we get up to, check out our weekly devlogs that we post every Friday!