Video shows the summary, text shows the technical!
This week:
Ridiculous Success
Flower Tech
Planning
Ridiculous Success
From the bottom of my heart thank you again.
Back in 2018 when I first made Viva, I was humbled when people said "Wow I'm going to get VR for this!".
Today in 2025 people now say "This is a good use of AI!". Flattery of galactic proportions.
Regardless, it's great that I can spearhead use cases for new technology and make people reconsider adoption. I look forward to working on this as a full time job to make it a great Steam release!
Flower Tech
So this is a very important tool to have because till recently I haven't had a way to mass instance art assets. Unity's built in terrain tree and grass tools are not good and have way too many draw calls. In comes the MassSpawner class:
In my professional life I write graphics solutions; shaders, compute shaders, the works. So when I saw Ghibli fields of flowers I said "I want that for MyRobot". So I designed a class to instantiate millions if not billions of an asset to properly simulate a lot of that asset.
The way it works is simple, you spawn spheres of influence, bake positions and normals, and the GPU instantiates a given model across each point. The tricky part is that if I bake 1B points on the ground, I don't want 1B instances in the GPU's memory, that's just inefficient. So I partition all the points onto a square grid of cells:
Each multi-colored square has its own data to instance an asset. Now whenever the camera moves, I calculate the nearest grid cells and update the GPU transform buffer to only carry what is nearby. This allows me to prevent the upload of every single data point onto the GPU, saving memory. So now there's only 2k/6k/9k instances at any point, depending on preferred view distance.
Another optimization I did was adding levels of detail. The first LOD is the highest quality model, it's a flower I made in Blender (64 triangles).

The next LOD is an impostor of this first LOD that only appears at medium distances, it's an animated 3D billboard. (6 triangles).
The last LOD is the least detailed and it is a mesh that simply fades in and out as you approach it.
With all of these tricks combined, I was able to simulate 12M triangles as 12k triangles.
The annoying part was injecting code to all 3 LOD shaders to share colors and wind animations so that transitions between LODs was smooth. But it turned out very well! This is just the tool, the flower assets are subject to change and will absolutely be used with grass or some other stuff like trees.
Planning
The Kickstarter ends in about 26 days. Since I am not releasing a build this month, these 26 days are being used to work on tools and bug fixes and polishes so that I can hit the ground running developing the full Steam Release.
The tutorial at the beginning is being changed and so are all the aspects of the spawn area to streamline the game and improve gameplay performance. The nice thing is that all the tools and scripts are already written so it's just a matter of moving stuff around.
However, it's always nice to get ahead and so I'm using this time to do things that I probably won't be able to do during the game's core development next month.
Stay tuned!
Hounddogie
2025-02-16 02:52:41 +0000 UTCGrayson Jacobs
2025-02-12 03:12:39 +0000 UTCsgthale
2025-02-12 03:11:54 +0000 UTCGrayson Jacobs
2025-02-12 02:48:26 +0000 UTC