Happy New Year, Tromies! 🎉🎇
We hope you all enjoyed the holiday season and are geared up for a spectacular 2024, where we plan to release more Troverse updates and the next playable builds to bring you the experience you’ve been waiting for!
Right before we hit the new year, we released our most recent dev updates in an X’s broadcast to show you what we have been working on since August and after releasing the Pre-Alpha build.
This blog post will review the updates and briefly explain each one that falls into one of these four main categories:
- Character Customization System
- Animation System Improvements
- Multiplayer Core Components
- More Foliage Assets
Character Customization System
We believe that by leveraging the true ownership of virtual cosmetic items in video games, we can push their potential beyond what has already been explored if delivered in a compelling, visually astonishing way and transcend through interoperability, where the items are part of an open Metaverse.
That’s why we have focused on building a character customization system based on the best practices that AAA titles have established and improved for years in the industry and be eventually able to build what we can call “virtual fashion” in Troverse.
Space Suits and Body Parts
The pipeline we designed is mainly inspired by games like Destiny 1 and 2, Anthem, and a few other games offering similar customization systems where players combine separate body parts to form their playable characters and apply different Shaders or paints on each part to build their own favorite fancy look. This way, we can maximize the variety with optimal efforts and game asset creation costs.
Let’s take a look at what these parts are:
- Helmet
- Chest
- Arms
- Legs
- Backpack and Jetpack combined in one part
- Players can also apply the same Shaders on weapons and vehicles.
We crafted multiple character parts and weapons to test the system we built and demonstrate how incredible it works!
You can see each part highlighted in this animated GIF:
We can easily switch the parts with the second character set we built to see how it changes in run-time:
Now, let’s apply a different Shader (paint) that we made to alter the visual and materials of the same body parts:
Here’s how the second shader applies to the first character set:
Sections
To ensure the compatibility between body parts and shaders, each part should be crafted in a special way; our artists will divide each part into six various sections, which are the segments composed by the Shader applied to them.
Check the visualization of these sections on the first character set:
Shader Creation
Now, let’s see how the Shaders, or generally material instances, are crafted and how quickly we can make a new one that looks much more different!
We have created several texture arrays that include detail textures, wear masks, noise patterns, iridescent lookups, and so on to keep the shader creation completely procedural without any additional resources per crafted shader.
And, here you can see how it applies to the second character set with no changes in the body parts meshes:
Now that we have two character sets with three shaders, it’s time to randomly combine them all in the game to pick the one we like:
Optimization
We love how versatile this system works. However, high-fidelity always costs more, and we have to think of the possible performance issue that rendering multiple body parts could cause in run-time when we have tens or hundreds of skinned skeletal meshes wandering around, mostly impacted by high numbers of draw calls.
To reduce the draw calls, we need to merge the body parts that each player picked with all their textures to ensure only one material instance is applied and be able to render the entire character in one draw call.
UE5 offers a skeletal mesh merge plugin, but it doesn’t handle merging the textures, and that’s where our technical team achieved to make their magics work!
We can now generate texture atlases in run-time in the target resolution of our choice, which includes all textures of the selected body parts. And the greatest part of our texture merging plugin is the ability to generate textures from render targets and compress them in real-time in the middle of the game!
Here, you can see the moment that the game runs in the editor, and in a matter of seconds, the merging happens, and all parts and textures are combined. We set the target resolution to 2K atlases, and if you look closely, you may notice the minor changes when the merge occurs:
Thanks to this system, we can switch the master material with a simplified version, removing all the customization for section masks, detail textures, wear and tear, and many other details that will be baked into the textures atlases after the merge.
Below, you can see that the pixel shader in the merged material is much more optimized.
To do a stress test, we copied our test characters and made an army out of them with 400 characters in the scene! You can notice how the draw calls drop from more than 6K to less than 2K as soon as we run the game and the merge procedure works:
Later on, this will enable us to host many more playable characters in our region-less social hubs in the Citadel or Stations, replication permitting.
Interoperability
As a final twist to our character system, let’s see how they look beyond the realms of Troverse! We extended our plugin to export the characters we customized in Unreal Engine with the body parts and shaders of our choice in GLB format.
We can now import these GLB files in any WebGL or WebGPU renderer to have our characters in the browser! Imagine the possibilities and how we can play with our Troverse characters in other games or Metaverse projects that we partner with or simply support the UE5 Skeleton, paving the way to an open Metaverse, where players’ items are not limited to the boundary of a single game.
Animation System Improvements
Of course, our gorgeous characters would not convey the AAA look and feel we desire without a state-of-the-art animation system that brings them to life! That’s why we iterated on our animation pipeline and improved it with many procedural features after releasing the first Pre-Alpha build we launched in Summer 2023.
Algorithms Animated!
We love modular systems, like what we achieved with the planets, and generating thousands of them procedurally in run-time with planetary systems like directional gravity. We decided to apply the same mindset to our animation pipeline and are excited to show you the results.
Locomotion System
We implemented a minimal and modular animation graph that enables us to edit the existing poses and movements in rapid iterations or even add more movement systems in the next updates, like crouching, swimming, sprinting, and so on, with much more ease without needing many animation clips that would be a burden for teams of our size to make or alter them more often.
Overall, it’s clean, performant, and very manageable to extend and build upon.
Below, you can see how smoothly the directional strafing works with all the start and stop animations and no visible jumps with quick moves and direction changes, which annoys players in third-person shooters.
It works great with gamepads when the speed changes gradually with a smooth blend between the walk and run cycles and works seamlessly in all directions. See it in action below:
Although the locomotion system looks very well-crafted and polished, it would be more interesting to know that it only uses very few animation sequences to work for all directions and various player speeds, thanks to the Orientation and Stride Warping nodes.
Here are the animations used for the ground locomotion:
- Idle | Run Fwd & Bwd | Walk Fwd & Bwd | Start & Stop - Fwd & Bwd
Even the horizontal aim offset is handled procedurally, and only two poses are deriving the vertical aim offset.
Jumping and Falling
After the Pre-Alpha build, we improved the jumping system and used different animation sequences for both jumping and falling. Check out how it looks with the new update:
Turn in Place
This is the only system that we are switching back from a procedural method to actual animations because of some flaws we noticed in the Pre-Alpha build! Now, it works perfectly when the character passes a certain aim rotation threshold, and the hip rotation curve reduces the delta rotation when the animation is played.
Hands IK
Creating and using different animation sets for various weapon poses is a thing of the past! Initially, we were planning to implement weapon poses like Fortnite, where upper body movement data is applied on top of single-frame weapon poses as additive animations while the lower body is playing the actual locomotion animation set.
But now we are using an even more simplified and modular system by applying location and rotation offset to the right-hand bone holding the weapon, adjusting the arm using IK nodes, and attaching the left hand bone to the spot of our choice to grab the barrel using another set of IK nodes that are also adjusting the location and rotation of left hand and arm.
This way, we can alter the weapon-holding pose by just inputting a few numbers instead of extra poses or deriving all the movement with additive animations and making redundant state machines.
It only needs a few nodes to work:
Hand Stabilizer
This control rig controls how much movement is transferred to the right hand bone to control the weapon's stability in running, jumping, and other movements to reduce excessive shakes caused by the animation.
Below, you can compare the absence of it on the left side and how it removes most weapon’s movement when set to full weight on the right side:
We also utilize this control rig to point the weapon toward the direction of our choice, like pointing to the center of the screen, or use it to create a different weapon holding pose that needs rotating the weapon with no animation authoring. Here, you can see how it turns into another pose similar to holding a grenade launcher by just inputting a rotation!
Let’s make a Relaxed (Rest) Pose with Numbers!
It’s time to test our hands IK setup. Let’s put our weapon into the rest pose without additional resources and just by inputting the right hand offset to bring it up and change its rotation to look downward to build a pose that previously needed extra steps and animation sequences to work.
Watch the magic below!
Procedural Recoil
Weapon recoil is our best friend to give the shooting much more oomph!
We are doing it with our recoil control rig, which makes it procedural using only two input variables that define the speed and intensity of the recoil to match what we need for rifles or Terra-Gun.
Multiplayer Core Components
This one is perhaps the most anticipated piece of update we have been working on! It also excites us the most!
There is no doubt that UE5 offers the best replication systems possible, the exact same system battle-tested in Fortnite. However, since we customized the linear z-vector gravity of the engine to be directional for the planets, we are using a customized version of the character movement component, resulting in somehow reinventing the wheels by redoing many of the replication logic that UE5 handled by default.
It takes longer to build the multiplayer gameplay on the planets, and we have just done the core components like the ground locomotion, jumping, and flying and are working on other parts to be ready by the end of Q1 2024 to start benchmarking and see how many players can play on each planet at the first stage.
We are thrilled to show you this footage of three of us joining a session to try it for the first time:
And the test didn’t end up peacefully, just like every other time we human beings held a gun!
We just started working on the weapon component and its replication and expect to prepare its first playable demo in the next few months.
Foliage Assets
We have built many more foliage assets to populate our precious biomes with them and give all our 38 biomes the unique signature they deserve.
The design and 3D modeling still continue with the Scorched biomes recently started. We expect to wrap up most biomes with environmental details like liquids, clouds, atmospheres, and so on in Q2 2024.
World-building was the biggest chunk of Troverse development so far, from many technical and detailed systems to artistic aspects and assets involved to deliver the best results.
If you enjoyed the updates with the animated GIFs, you might also like to watch them in the original resolution uploaded on our YouTube channel:
Please make sure to subscribe to our channel for all the exciting updates that drop later this year, and don’t forget to share your thoughts in the comments!
We hope you liked the updates. We will continue working on the gameplay, weapon systems, and multiplayer parts to prepare the next playable build as soon as possible, hopefully launching with all completed planets in the next few months. From all of us on the Troverse team, thank you all wonderful Troversians for your endless support 💙💎
Join our community
Follow us on Twitter and Join our Discord. See you all in the Galaxy! 🌌