Introduction
Today we have a special DevBlog update for you. We’d like to show you how we place our grass and ground textures and the development we have gone through with this process. Firstly, we’ll show you our first approaches and why we had to change them ASAP. Secondly, we’ll introduce you to our current implementation, as we used it for the Arena. This goes to show how you can always optimize processes if you’re doing your research and keep looking for alternatives.
The really old approach
When we initially started Drova’s development, nobody had a specific approach to the grass/ground placement. Tiles were used to illustrate paths and a uniform color for the ground, with small grass objects placed on top of them. The results seemed rather artificial, monotonous and unflexible. But it does have a certain charm to it, doesn’t it? After all, neither of them is an artist!
The not so old approach
When an artist joined our team, it was finally time to reiterate our old approach. We decided to use small patches/decals and manually place them so the environment would seem organic and natural. This approach was working fine for the game world up to that point but when we developed the Teaser, we quickly realized how bad of an approach this really was. To put this into perspective, our artist spent over 100 hours solely on placing tiny, little grass patches in the Teaser’s world. BORING!
The new approach
So we had to find a solution to this problem that is applicable for a bigger world. Our artists can’t spend all their time placing grass, they need to create assets! We decided to do some research. How do other developers solve this problem? What can we learn from them?
Especially the ground textures in Stoneshard and Songs of Conquest looked interesting. Let’s just contact the developers responsible for the implementation, we thought. And they answered! Kudos to those cool devs helping out a small indie team. :slight_smile: In particular Texture Splatting, as it was used in Songs of Conquest, piqued our programmer’s interest from a programmer’s point of view.
Usually, Texture Splatting is used in 3D games and allows a flexible merge of different textures. It had to be tweaked a little in order to work with pixel perfect assets in a 2D environment. After implementing a small Paint Tool for Unity, our artists tested the approach to give us some feedback and to improve the workflow. The following GIF shows how we used the tool to place some ground and grass textures for the Arena:
A major advantage of this implementation is that it’s simply a lot less time consuming. An area the size of the arena would’ve taken our artist about 20-30 hours, with our new solution it only took him about three hours. Moreover, the transitions between different assets seem a lot smoother and more natural.
The placement is generally easier and more intuitive, this enables other team members than artists to achieve satisfying results. Let’s be real, no one wants to spend 100 hours placing small little grass and ground objects! We’re still using small objects but they’re just to add some detail. There will always be fine-tuning to a small degree.
Conclusion
That’s it with today’s DevBlog! Do you like this new style of showing you one particular problem of development? Should we even go into more detail or break it all down even further? Share your thoughts on our Discord so we can adapt the DevBlog to what you personally would like to see! Until next time.