Hello dear Patrons and Followers! 😎
February has been an intense development and asset creation month. Since I decided to go for a semi-realistic stylized esthetics for the game (so that I can also use its props for the comics), I needed to build myself some tools to batch-process large volumes (literally thousands) of assets I already have. And for this I needed to develop my own tools in blender (a 3D software), in zbrush (another 3D software, specialized in sculpting and high-res modeling) and in Unreal Engine. The development alone was a particularly hard endeavor and easily took me half of the month including the weekends to do, while delivering the animation and artworks on the side. To make things even harder, my website had some technical issues that made me waste four precious days of fixing and working into the middle of the night. Needless to say, I am very tired, and despite the lack of publications in February, I did a lot, and I'm a bit frustrated that I cannot really show you the worth of this work as it doesn't translate in art yet, it's mostly just systems. I haven't been able to do more than a page of Lila's diary but I'll be back on it this week. But first, I have to show you what I've been doing 😊
🧩The Plugins
Mesh optimizerIt is a tool I made for blender to batch-process my assets, with an automated bridge to substance painter (a texturing software) to auto apply my stylisation effects. I spent a lot of time of coding and testing on this one and I'm planning to sell it once I'm sure it is ready.
Glb importerThe Glb file format is a new generation 3D file format. I use it because it is pretty handy, embeds and packs the textures together to save weight (whereas the "traditional" (not to say old) industry standard fbx is messy, I'm sparing you the details). However the glb are currently not supported by zBrush so I had to create a small plugin that can import it in zbrush so I can rework some processed assets.
Texture channel packerIt is a small utility tool that I have made to pack together the alphas for procedural materials. It works just like an ORM texture: Since the alphas are grayscale values, 3 maps can be combined into one RGB (one grayscale map per color channel), which save memory and drawcalls in the game.
Asset stylizerIs a utility tool I made inside Unreal Engine that basically does what the mesh optimizer does in Blender, but quite less well. It uses a custom made kuwahara filter (anisotropic filter, it "blurs" clusters of colors locally and creates a cheap painterly effect) and UE decimation system (or auto-LOD, same system). I use it for models created directly inside UE such as architectural elements, or big environment elements (big rock, cliffs, etc) or other things that are very level-contextual. If this tool is not enough, I can still export the asset out of UE and rework it it, though it's a hassle to jump from software to software, if the result is decent enough there's no reason to change.
📦Asset Creation
As I want Andromeda to have a unique flora, and also because the trees assets out there are either not what I want, or overly expensive, or unusable in terms of license within my budget, I had to create my own nature assets. Which was quite the heavy task, I had to learn, lost a LOT of time trying to make something decent with blender's geometry nodes until I realized I was going to far, the tree creator I had made was way overkill and unusable as a game-ready asset.
But That time wasn't so much lost though, because I learned a lot and as a result I made a pretty cool trunk/branch generator. With that generator, I created hundreds of branches, stems, trunks, and roots.
Once in UE, I will create a procedural tree generator that will assemble all these pieces together in a way so that each tree looks different while sharing the same elements (optimization once again). The parts looks pretty bleak here, but I will add moss, plants, mushrooms to it later on. The stylisation was quite depressing to do in this case because there was something so satisfying watching the super realistic bark cover the object generated by my branch generator, it looked so cool! But sadly, it is impossible to use these hi-res textures in game, I don't have the AAA systems to support that (most of the big studios use cutting-edge texture packing algorithms so that they can stream high textures size in game for a minimum vram usage), and anyway I am going for the stylized esthetics. Once it is in the environment, covered with vegetation, it will look great anyway!
The plant atlas looked like a tedious work, but I had to do it, and it was unexpectedly fun to do. As always, in an idea of optimization, the texture atlas is a standard in game industry; it is a space shared by multiple assets so that only one set of texture is used in memory for multiple plants, instead of one texture set per asset.
So I prepared a bunch of 2D leaves, petals, pistils, stems, grass, all with a system of alphas so I can make limitless variations in the game later on (the colors you see here are just place holders).
I did the exact same thing with the mushrooms, they all share the same texture set, and now I can adapt their shape and form (not too much bust still enough to make a good load of variations) without having to touch the textures again.
Hundreds of new assets: More scrolls, books, decoration items, fruits and vegetables, furniture, machinery, etc
I will focus on drawing for the next two weeks starting tomorrow because I miss it, and I'll spend my evenings working on my procedural vegetation. I'll be able to show you the progress, hang tight!
📅 Next tasks at hand:
Build procedural trees and fauna system
First environment: A scene for the character creator
Port game project to UE 5.7 and try new physics. In this new version, the physics system has been improved and I may finally find a way to solve the breast expansion and the breasts physics, which is hard to make them live together without sacrificing something. I have a few ideas that I want to try.
More assets creation
Completing the character creator (rethinking the UI and integrating the new races into the architecture)
Hope you like! 💖