Another weekly devlog has landed and with it comes some brand new updates on our upcoming fantasy RPG, Depths of Erendorn. Our Modellers have been modelling, our Animator has been animating, and our Programmers have been pulling their hair out after wrestling with the spline generator for walls. You know how it goes by now – head over to our Instagram, Twitter or Reddit for regular updates on our indie game, now let’s get into the madness!
This week, we finished sculpting the Fen Elf Scout that we began in last week’s devlog. Whilst our 3D Character Artist was retopologising everything, they decided to change how they were planning to split up the low meshes. The change involved having the t-shirt be independent from the shoulder strap in order to allow for more versatility with character customisation in the future. This will basically make it easier for us to generate different designs of Fen Elves in the game, rather than just reusing the same one.
So, with that in mind, the sculpt of the t-shirt was edited so that the groove the strap was making could be removed. That brought the retopology to a close, and allowed us to start texturing the Fen Elf Scout. We only had to texture the clothes and accessories, since the base mesh of this character had already been created a while ago:
- Since Fen Elves hail from the swamps, we made their clothing a khaki material to match their sludgy, overgrown surroundings.
- The cloth was textured to be rough and almost threadbare, given that this is a race that is struggling to survive, and the availability of new, well-made clothes isn’t an option.
The next thing we worked on was one of the more unique aspects of this character: its adornment of hanging vines and leaves, inspired by ghillie suits. Our 3D Artist planned to make these with textured planes because it would have been faster than sculpting and retopologising them separately. But we ran into a few obstacles along the way:
- The first attempt didn’t go too well because of Substance Painter’s tools, but it helped our 3D Modeller to figure out what to change in the painting process.
- Our 3D Modeller then decided to add two planes to their texturing file so that they could paint two variations of these hanging vines.
- The final version featured two variations of flowering vines, which added a lot of depth to the texture. Some colours might need changing later, but for now, we’re pleased with it!
With the hanging vines now painted, the next step will be to create lots of planes that have their UVs mapped to the vine texture. We will then place these around the Fen Elf Scout’s body to create the final look. These vines will help to convey the idea that Fen Elves like to lurk in the flora, watching their victims from afar before ambushing them, or firing a swift arrow.
Now that we have a unique rig for some of the smaller quadrupedal beasts in Erendorn, our Animator had to go back in and make refinements to some of these enemies. Starting with the rat, our Animator made a few more updates to the rig by adding a bone that was previously missing from the back limbs. They also:
- Adjusted its skin weights.
- Transferred its current animations from the old rig.
- Adjusted these animations to fit the new unique rig.
- These animations include its idle, hit reaction, death, attack and run cycle.
Our Animator also spent some time this week working on the Jaguar, another creature that will be sharing the new unique rig for quadrupeds. As with the rat, the skin weights were worked on first for this character, followed by the creation of a new walk cycle animation for it. We’re currently working on the idle animation for the Jaguar, so we’ll hopefully have this finished in the next few days.
One of the most exciting things in the Environment Art department this week was seeing the recently completed stone portal imported into UE4. It was awesome to see this asset come to life in a test scene, and it was also imported with variable emissive colour parameters so that we can play around with the strength of its light emission.
A few more of the smaller assets you’ve seen us working on recently were also imported into the engine this week, including the urns, firepits, stone coffin and runestone. Now all we need to do is start dressing our dungeons with these environmental props in order to get them looking as decrepit and ancient as possible!
Speaking of asset design, our Environment Artist actually worked on a new portal asset this week. Unlike the stone portal, which will appear throughout the world, the new portal will likely appear in settlements alone. Using the original concept design, they started by blocking out the basic shapes in MAYA and getting the proportions right. Making sure we’re using the right scale is very important when creating assets, so they also imported a UE4 mannequin into the MAYA scene as a scale reference.
Once our artist felt like they had the right proportions down, they started working on all the different design elements that make up this portal. This included the swords that decorate the outside of the portal, and the stone gargoyles that are featured within. They created both of these by using subdivision modelling in MAYA. We’ll continue to work on this portal over the coming weeks, so we’ll keep you posted on how it turns out!
Our VFX Artist spent a lot of time this week looking into ability systems and how they function through the eyes of a visual effects artist. After doing this, they made a little write-up for the Programmers, with features that our VFX Artist will need and want, and the pros and cons to everything. This is really helpful to do to ensure smooth communication between the different departments that work on a game, since everyone will have different needs depending on their work.
In addition to this, a couple of new visual fx were made this week:
- Arcane Rain: This encompasses a 6×6 tile radius and deals Physical Damage to every enemy within that radius. They also have a chance of getting stunned, so it’s a really useful ability.
- Frost Fire: Our VFX Artist had a burst of inspiration this week and decided to create visual effects for some new spell possibilities – Frost Fire was just one of their ideas, and is very aptly named.
- Holy Blink: They also had fun creating VFX for another potential ability, Holy Blink. While we’re not assigning these abilities anywhere just yet, there will be tons of spells and skills in Depths of Erendorn, so they’re sure to find a home in the future!
Another moment of inspiration our VFX Artist had this week was when they saw the new portal that our Environment Artist was working on. This really motivated them to hop on the bandwagon and start making some early drafts for activating the portal, using the portal, as well as the portal’s idle effects.
The visual effects for the portal aren’t to scale yet, since we don’t have the portal mesh itself, but changing the size of the VFX should be no problem – so next week, our artist is hoping that they’ll be able to make a video clip of the portal with the effect active on it, so keep an eye out!
This week, our Sound Artist has been working on the vocalisations for all the different Elven characters we have in Depths of Erendorn, including the Fen Elves, Storm Elves and Twilight Elves. All of these characters are enemies in the game, except for the Twilight Elf Assassin class, which is a playable character.
The Elves in general need to have an Elven quality to their sound design, one that is distinct from Dwarves, Humans and other humanoid characters. At the same time, each of the three Elven races also need to sound distinct from each other. So, in order to do this, our Sound Artist has been focussing on their unique backstories and lore, and used these to inform their sound design so that each Elf echoes their own respective environment and history.
- The Fen Elves: A race that was long ago forced to live in the fetid swamplands of Erendorn, these characters spend every waking moment simply trying to survive. Their living conditions put them in a very precarious position, with disease as well as swamp monsters threatening their existence. They are proficient archers, however, and have keen eyes that cut through darkness.
Our Sound Artist decided to make the Fen Elves sound slightly more hoarse and strained because everything is a struggle for them, so this needed to come across in their sound design. They also wanted to give a hollowness to their voices, as though the swamplands are making them sick. This idea can be mirrored in their character design, which features a sickly green pallor and lean body.
At this stage, the sound effects are very much in their first draft phase, so we’re hoping that the end result comes across like they are really fighting to survive – this means that every time they make a sound, it has to seem like they’re putting more effort into it than the other Elves, because they have to.
- The Storm Elves: This race lives in a part of the Plains that is plagued with massive electrical storms. Over the years, the Storm Elves have built a tolerance to these otherwise deadly storms, and have even managed to harness lightning magic. They have also been heavily scarred by the lightning, leaving them with branching patterns all over their bodies.
Since lightning is such an integral part to these characters’ abilities, customs and physical appearance, our Sound Artist thought it would be best to convey this by blending thunderous and electrical crackles into their speech, as though lightning is coursing through them.
We didn’t want to go over the top with these sound effects, though, because that would give the impression that Storm Elves are actually made of lightning, which isn’t the case. This is why we have chosen to keep the electricity in their voice subtle enough to suggest that they have an affinity with lightning, but strong enough to keep them unique from the other Elves.
- The Twilight Elves: These characters are incredibly enigmatic and secretive, and their settlement houses the blood-curdling Guild of Assassins. Twilight Elves have also attuned themselves to the Void, a dark shadow realm that grants them with powerful, taboo magic. This race is also skilled in toxic warfare, another illicit practice that shows just how dangerous and wicked these Elves can be.
Since Twilight Elves drip with mystery, and are bonded heavily to the Void, our Sound Artist layered their vocalisations with breaths and whispers in order to make them sound like they are a part of the shadows themselves. This eerie quality to their sound design helps posit the Twilight Elves as dark and deadly creatures.
Meanwhile, the inscrutable mystery of these characters was pushed even further by our Sound Artist inventing a non-audible, fake language for them. We have plans for them to whisper this during combat as a way of really emphasising their elusive and private nature, but we’ll have to test it first.
Continuing on with the redesign of the game site, this week we set up file storage in the new CMS. As we mentioned in last week’s devlog, we’ve decided to use Digital Ocean Spaces for file storage because it will be useful for effectively storing and distributing media throughout our site.
With the file storage set up, we:
- Created a media content type and migrated all the media from WordPress, our current CMS, to Strapi, our new CMS.
- We then migrated all of our posts to the new CMS and linked featured media to their respective posts.
This completed our migration of data from the old to the new CMS, so the next step was then to start working on the actual website. We have begun by setting up a project structure for the site and configuring the GraphQL network later for querying data. We have also created API endpoints in the CMS for high, low and medium priority contents. There were a few challenges while working with media content API in the beginning due to a lack of documentation, but we eventually figured it out and it’s working fine now.
After setting up an outer gameplay loop in our last devlog, more work was carried out on this by our Programmers as we added the ability to correctly clear a game scene before the player returns to the menu. With that said, objects and connections in the game are now correctly cleared before being destroyed. This allows new games to be found and joined without closing the old one.
We also spent some more time on getting the walls in the game looking good, after creating a way to grid them into ordered points on a spline last week. We’re happy to say that the walls now look somewhat passable, which is a bigger feat than it sounds given all of our troubles with sizes and overlaps, and a lot of failed attempts! We still need to put some more work into the variety of models we use for walls, as well as increase the number of them, but they do work for now.
So, keeping that in mind, our Programmers created the walls by:
- Looking at the grid data and grouping them into connected wall pieces.
- These points were then expanded into faces, which needed to be rendered.
- The faces were linked up and ordered to create a flowing spline that covered every face.
This was actually a much more difficult task than it would seem, but the job is done now and the spline generator works really well, so we’re pleased about that. The spline generator works by:
- Detecting loops and linking up the start and the end points.
- These generated splines are then used by the room generator.
- The new blueprint generates the meshes and takes note of where the corners are.
- The meshes are then chosen, scaled and placed along the spline.
- These all then link up with each other in order to create our walls in the game.
There were some crazy bugs and mistakes made while working on this, leading to some walls looking like they were from Mordor, which was weird for many reasons, namely because we were using meshes that were supposed to look like natural rock formations. While more meshes and textures will need to be made in order to get the walls up to snuff, we’re at least happy that their base is now functioning. We’re also happy that we were able to make it so that when looking at them from behind, the walls disappear. Instead, you’re left with a little rim at the bottom, which indicates where the walls are to the player – if they’re looking from behind, that is.
In the future, more work will have to be done in the art department in order to make the system truly shine. As well as this, random variations and props will be placed at arbitrary points along the spline in order to add more visual interest – we don’t have these assets yet, but once we do they’ll really help in pulling all this work together.
When our Programmers weren’t working on the walls or the gameplay loop, they were ticking off a few more to-dos on their list, starting with animation:
- A blueprint interface was created for bipedal characters.
- A blueprint template for bipedal animations was then also created.
- We added blends for walking and attacking along with the blueprint integration.
- We also created logic that allows ability animations to be triggered and listened to.
- Finally, we explored the usage of all this in an upcoming Action System.
The Action System is a development structure we are planning to implement that will allow animations, visual FX and sounds to be triggered and dealt with around abilities, status effects, room event actions and any other situation where we want to use combinations of these assets.
We’re having to consider the functional underpinnings of how these assets can be used together in modular ways, while keeping focus on the workflow that we aim to provide for the respective devs, e.g. the Animator and VFX Artist, so that they can implement and modify their content. Therefore, using an Action System will open up the project to better in-engine collaboration among team members.
Our Programmers also explored navigation options this week so that we can make the best out of character animations. Following this, they then implemented NavMesh to room generation in order to allow simple pathfinding to test walk animations with.
That’s it for this week! We hope you all have a great weekend – and remember to keep an eye on our socials for more updates on Depths of Erendorn!