Troverse Development Updates [Q4 2022]

Troverse
Troverse
Published in
8 min readDec 24, 2022

Season’s Greetings, Troversians! 💎🎅

As the year comes to a close, we wanted to wish you all Happy Holidays 🎄, and share some updates with you on what we have been working on in the past weeks.

The upcoming build is very important to us for two reasons:
1. It’ll be the first time our Planet Lords will see the planets’ environments. 2. All the planetary systems we have made so far will be tested on thousands of machines in a UE5 build!

Although we made significant progress on the tasks we shared earlier on the roadmap for Q4 2022, along the way we decided to shift our focus for the time being and put other tasks and side systems on a lower priority, and instead, focus on the environment building as the key part of the early test builds we planned to drop.

Of course, most tasks should be done by the time we release the builds, so it’s mainly about the order of what we are working on, but we thought to share all the details with you in a few posts here on our server to give you a better idea of how we progressed so far. Some parts may sound more technical, leaving us with fewer materials to share, but that’s basically what we were doing; fundamental and technical stuff!

Also, based on our progress and what we’ve planned, the very end of quarter one or even April sounds more accurate than our previous rough estimate of Q1. It’s still a bit early to consider an exact date since many things are left to create. Also, some issues usually show up when the game is packaged, but we want you to know that Troverse team is working extremely hard with its full power, tirelessly, to deliver the best results as soon as we can.

â–¶ UE5 Migration

We successfully migrated to UE5, and everything is working fine! This was an important decision to make, and it took a significant time to fix some plugin compatibility issues and performance drops we faced for a few changes in the shader compilation system that Unreal did. But we thought it would be much better to do it at this stage of the development, sooner than later.

Unreal Engine 5 is developing rapidly with many exciting features and changes that can affect the production of Troverse in great (and sometimes in not-so-great) ways!

Lumen & Nanite

Although Nanite and Lumen will greatly impact the visuals and aesthetics of the planets, we found the performance impact noticeable in our tests. So it’s better to let players turn on Lumen and Nanite features as additional options and let everyone enjoy smooth gameplay, even on average machines. Unfortunately, we still need to do alternative methods like the trees imposters for long distances or illuminating the dark side of planets with skylight/second unshadowed light, etc.

â–¶ Environment Building

Again, environment building is the major task our team focused on to deliver as much as we could for the first build.

Concept Art & Asset Creation

Apart from all the technical achievements and optimization that we did for the environment, foliage asset creation had decent progress with dozens of concept arts and 3D models made for many biomes. We have yet to share all we’ve got, but here is a new sneak peek of a model we made for the Wastelands biome:

Barren Planet | Wastelands Biome — Large Rock [Concept Art]
Barren Planet | Wastelands Biome — Large Rock [3D Model]

If you liked it, make sure to check our Twitter and Discord to see more sneak peeks!

We are still progressing with asset creation and will share more with you along the way before dropping the build. (If we can’t prepare them all before the first build, we will use placeholder assets for generic/less important models and replace them as we continue with asset creation).

Troverse art team is doing a great job working relentlessly. We could have used stock assets for everything, but we wanted to give each biome a unique signature, and there is no shortcut to achieving it, so we decided to commit to it. Hopefully, you’ll enjoy the results when you explore the planets 🌎

â–¶ Surface Materials

In the last TroveTalk, we told you about the surface materials we made for all biomes. We are blending 5 to 6 different layers of materials for each planet. Usually, textures should be sampled 3 times and combined to cover a spherical shape in world coordinates, so that’s what we initially did; making a regular tri-planar projection, a common technique but not cheap!

Considering a minimum of 3 textures for each layer — Albedo, Normal, Masks (Heightmap, Roughness, Metallic, Emissive/AO/Subsurface/etc.) — we would need 9 textures sampled for each layer. For the chunks with 3 layers blending — like where two regions and mountain side intersects — we need 27 texture sampling to be done to get the results.

That’s not cheap, and that’s not even the whole part! Troverse planets are huge. We initially sampled separate texture sets with larger UV sizes for long distances to break the tiling.

We had 3 texture sets blending based on the camera distance to the surface. In total, it was 9x3 sampling for every single layer!

Optimized Materials With Dynamic Tiling & One Sampler Tri-planar:

A sneak peek of a Taiga Planet to demonstrate how the dynamic UV tiling system works.

High-end machines might work fine if the scene is populated with few meshes/FX, but we want everyone to be able to play Troverse. We designed a unique technique with many tries and errors to deliver a dynamic tiling system that can scale and adapt one single texture based on the distance, dynamically, without any stretching or distortion artifacts. We also added the support for a cheap tri-planar UV calculation that blends all world planes and then connects to a texture sampler. Having all said that, we can now use a single sampler to cover the whole planet from any distance instead of (3 world planes) x (3 ranges) for each texture! We updated all surface materials to use this new method.

[âš  This tri-planar method causes some intersection seam lines, but the trade-off is worth the optimization.]

â–¶ Liquid Surfaces

Tessellation Was Removed From UE5, We Made Our Own System!

It’s still unbelievable to see such an important feature removed. We counted on it for liquid surfaces to displace smoothly around the player while it is less dense in far ranges and the back side of the planet.

This made us develop our own system inspired by the Unreal Engine’s water zone mesh! Now we have a tessellated sphere that can transit to millions of quads based on the camera distance.

It supports custom LOD chunks with back-face culling. We can also assign separate (simpler) materials to the lower LODs. Pretty optimized!

World Coordinates Projection From an Arbitrary Position:

Again, one common practice for spherical ocean surfaces is projecting 3 texture samples to cover three world planes (XY-XZ-YZ) and blending them based on the world normals. Although it’s not a cheap method, the wave seams will be visible at the intersection of the world planes for the ocean material.

We did something unique instead! We came up with an idea to transform the world coordinate for the ocean material based on the camera position, something like what happens if a giant decal is moving with the player with only 1x sampling for the XY plane! The issue is with the textures and waves moving with the camera as we transform the coordinates in real time.

That’s where our technical team could calculate the offset based on player movement direction and apply a negative offset to keep the textures in place.

Utilizing these two systems, we can have planetary oceans with no blending seams but with the cost of a plane ocean, making room for adding real-time fluid simulation systems like FluidNinja.

Liquid Materials Creation Started With Frozen Ones!

We started working on the liquid materials for the close view (We were using simple materials for the space view), and frozen surfaces are the first ones to complete 🧊

As shared in a TroveTalk, we are excited to let players dig the ice surfaces and possibly reach the water beneath. We also wanted these surfaces to look different than other ice materials we made for the Frozen biomes. We decided to use some techniques to create the visuals of a thin surface with layers of cracks and details inside without sacrificing performance.

Fake Parallax Mapping Using Dither Map:

We could have used the parallax mapping technique, but it’s expensive for the pixel shader. Instead, we used the dither noise to offset the crack/dust textures based on the camera vector. It works fine for the XY planes by default, but we needed to calculate the camera vector for all world planes to give the same results on the side or bottom parts of the planet. Now we have cheap but good-looking ice materials for Frozen planets!

We also created snow materials with fuzzy shading and view-based sparkles âť„

â–¶ Work-in-progress Tasks

And now it’s time for the still-WIP tasks:

Resource Distribution System (WIP)

We are working on the resource distribution system to scatter the resources optimally with optimized resource node manipulation systems for gathering/depleting/replenishing in real-time on the planets. Using the K-D tree and similar algorithms is the key to achieving it.

Improving foliage spawners with overlapping detection (WIP)

We had no system to detect overlapped assets to prevent spawning a tree or a resource node inside a rock! We recently implemented another K-D tree algorithm to optimally check the overlappings and remove the smaller assets if they spawn inside bigger ones, or remove all assets that interfere with resource nodes.

Whitepaper (WIP)

We know many of you were looking forward to seeing the Whitepaper, and we genuinely apologize for the delay. We had significant progress completing important design details but couldn’t get back to the Whitepaper to complete it. Now that most fundamental environmental systems are ready, we will prioritize working on the WP to deliver it as soon as possible, hopefully in a month or so, but certainly before the first build!

Profile System & Client Launcher (WIP)

We had decent progress working on designing and implementing the launcher and profile systems, but we need to continue working on them very soon and prepare them for the first build drop.

Galaxy Explorer & Home Page Update

These two tasks are paused because of the higher priority tasks we had to work on. Although we would love to deliver these soon, there will be no set time on the roadmap update for these two tasks, at least for now. We hope we can do these by the build drop.

Alright! We hope you liked the updates. We will keep building and optimizing Troverse. From all of us on Troverse team, we want to thank you for your continued support đź’™

Cheers everyone!

Join our community

Follow us on Twitter and Join our Discord. See you all in the Galaxy! 🌌

--

--

Troverse
Troverse
Editor for

Troverse is a gaming Metaverse where players Own, Explore, Collect, Trade, and Compete in treasure-hunting adventures spanning a vast galaxy of 10,000 planets.