What we’re talking about in this week’s devlog: carnivorous plants, tombstones, urns, and the skittering sound of spider feet. We’re eager to show you everything we’ve been working on this week for our upcoming online RPG, so let’s get stuck into it! (You should also get stuck into our Twitter, Instagram or Reddit if you’re hungry for a new indie dev to follow).
3D Modelling
Our 3D Character Artist started working on some brand new, deadly plants this week. You see, in Depths of Erendorn, you’ll be forced to fight a menagerie of enemies, from colossal Rotwood Treemen to dangerous and carnivorous jungle plants:
- Predator Plants are terrifying enemies not only because they strike an uncanny resemblance to that psychotic, lightbulb-wielding anglerfish from Finding Nemo, but also because of their flesh-eating tendencies and ability to deal high amounts of damage. But they can only attack one target at a time - so think strategically before ‘plant-based diet’ takes on a whole new meaning.
- Hydra Plants look more like the evil cousins of the Venus Fly Trap - so make sure you can tell these two enemies apart. They, too, are carnivorous, and lie silently in wait until their victim is close enough for a quick bite. But here’s how you can kill them: their energy lowers proportionally to their health bar, so you gotta hurt it - and hurt it fast.
There are also regenerative versions of each of these plants, and these classes are able to heal a bit on every turn. As you can imagine, these enemies were fun to sculpt; but their design also made them quite a complicated character to replicate, so our 3D Artist started this project by coming up with an efficient workflow:
- The deadly plants are made up of multiple parts, such as the head, stem segments, leaves and roots. This meant that every part could be sculpted separately and, therefore, more easily.
- Some preexisting foliage that was created for our environments will also form a part of the deadly plants. This ensures that they fit well with the environments - and it also speeds things up again.
Starting with the Hydra Plant, our 3D Modeller sculpted the head and stem segment in ZBrush before modelling some leaves and roots for it. Creating the Predator Plant involved a similar process, though this is a slightly more complicated design and so required a bit more precision. Sculpt details were then added to both ZBrush sculpts, bringing to life things like subsurface bumps and other gross, organic textures.
The final thing our 3D Character Artist did before moving on to the next phase was carry out a very important animation test of the Hydra Plant to make sure that its mouth closes and opens well. We’re hoping to start texturing these enemies next week, so keep your eyes peeled!
Animation
More animation blends and controllers were created in the engine this week, this time for the Jaguar, Lion and Grey Boar. A simple run cycle was then added for these creatures, following a quick update to their animation blends so that they move more seamlessly.
In addition to this:
- An SK mesh of the Earthen Dwarf Miner was added in the engine.
- Sockets were added to the unique skeleton for smaller bipeds like rats, cats, boars, etc.
Our Animator also had to update the SK meshes for the Knight, a playable character, and the Bandit, a nefarious enemy. This is because they were using a slightly older version of the rig, which was causing the mesh to deform incorrectly. As a result of these issues, our Animator then had to re-export all of the human animations, which both of these characters use, and update the unique skeleton, which they and other humanoids share.
Environment Art
Carrying on with asset creation, more variations of tombstones and urns were created this week. We’re using these to set dress some test environments so that we can see how they’ll look in the game - and let’s just say, we can’t wait until we get to implement them properly.
In last Friday’s devlog, we mentioned how we were using decals to project damage onto destroyed versions of these assets. While this was already an efficient method, our Junior Environment Artist improved it even further this week by just using normal maps rather than also having a base colour. This meant that they didn’t have to colour match the damage because normal maps don't produce colour. We’re still wrestling with this method a little bit, but the decals are definitely working better than they did before!
Aside from asset creation, a variety of updates were made to Erendorn’s environments this week:
- Changes were made to post processing volume in order to increase contrast in darker areas.
- These changes will also help to reduce any colour washout that is caused by near fog.
- Placeholder weapons were created, including a two- and one-handed staff, and a two-handed warhammer.
- These weapons were then textured and implemented into the engine, where we used them as set dressing pieces.
Our Environment Artist has also started work on creating a new scene in UE4 that will be used for future character poses and equipment renders. If you follow us on social media, you’ll know that every Thursday we put out a character profile highlighting a particular entity from the game. This will soon be revamped by having the new UE4 scene as the backdrop - check out the comparison below!
Visual FX
This has been another week of testing for our VFX Artist, who has spent a lot of time testing the Forest Druid’s and Zentragal’s visuals in every situation they could think of. Luckily, everything seemed to work a-okay, with just a few tweaks made here and there to a couple of the Druid’s abilities:
- We changed the sizes of the VFX for Reserved Power, making them a little bigger so that they were more impactful and noticeable.
- We also changed the visuals for Earthbloom because, since it was the first ability created in UE4, it didn’t really look cohesive with the newer VFX that had been made.
Sound Design
The Zentragal’s footsteps were implemented into the engine this week, which required more thought than you might think. Since Zentragals are humanoid spiders with 8 legs, we couldn’t line the footsteps up to each individual ‘foot’ because this would have overlapped too much and, quite frankly, would have just sounded bad. So, our Sound Artist had to find a way around this issue, and they ended up using a method that is used in films all the time:
- The steps were only applied to some of the feet, rather than all eight.
- This reduces the amount of overlap and creates a more natural sound.
- The same technique is used in films for dogs, where only three paws are recorded.
With that out of the way, our Sound Artist began adding SFX for the Giant Rant into the engine before assigning the sounds to the relevant animation, thus creating a new Sound Profile for this enemy. A little more work was also carried out on weapons, specifically for a one-handed wand that will be used for melee attacks - not spellcasting!
https://doe.horus.ninja/wp-content/uploads/2020/07/SFX_Wand_1H_mixdown3.wav
These are the draft sounds for the wand.
Programming
Programming this week has been focussed on adding to the prop placement and distribution methods that we’ll be using in the room building phase:
- We added a function that determines the open spaces in a given room, and then populates these spaces with Prop Volumes, i.e. an amount of props that is influenced by how big the space is.
- We then added a method that detects the remaining open space around a Prop Volume, allowing the props to fill and make better use of the area so that they aren’t too clustered together.
- Three Rubble Prop Blueprints (Large, Medium and Small) were created. The Prop Volume was then given the ability to select from a number of mesh variants when placing each rubble prop.
- We then created a phase of prop placement that targets whole sections of the map to provide a less focussed distribution for less specific props (e.g. rubble and others more general props).
Speaking of making new additions, line tracing was also added to light placement this week. With this in place, the light data is now baked into the Grid Node System, making it available to use in other systems. In fact, there was quite a bit of work carried out on the Grid Node System this week:
- We added the ability to apply a ‘mask’ or ‘filter’ to the system. This enables or disables the given nodes or tiles.
- When used creatively, a mask or filter will give us more control when manipulating specific parts of the grid.
Our Programmers also added more functionality for Grid Node Retrieval. The functions that were added are generic, in that they can be used for many different things. For example, we now have the ability to retrieve nodes that are within specified areas, and we can then filter these using the filtering features to give us more control.
These functions for retrieval impact a lot of areas, but most noticeably light placement:
- To test everything out, we added placeholder light assets to a room.
- We then added the first pass on light placement logic.
- This should add some nice colours and light to our dungeons.
Last but not least, our Programmers updated movement calculations and entity spawning calculations. They now use a new helper function that makes sampling the height at a given location simpler and much more maintainable.
That’s it for now - see you next week!