Creating ingame content for a mobile game has been always a huge challenge for an artist. Modern phones and tablets are extremely powerful, but still there are strict limits on the amount of polygon and texture’ sizes that can be used in a game. At the same time mobile display size is almost the same as a PC screen. As a result we have strict limits and high demands on the quality. What should be done in this case?
Developers of AAA titles have solved this problem a long time ago, and now we are opening this secret to you. The trick is in reusing textures for different models. Just think about it, why do we need to draw each board or stone independently for each building, if we can just make them once and use them later anywhere?
I’m going to show you how that works, and I will use our building as an example. At first we were planning to create high-quality versions of each building, and then create low-poly versions and textures… repeating this pattern for all other buildings. In this case we would get a lot of textures and spend a lot of time, so that’s why we rejected that idea. The second thing we did was to define similar elements of different buildings. We got several elements, which could be used to construct all buildings and we divided them into 2 groups: grass and the rest.
There is nothing very difficult in the creation of grass hills. The goal is to construct a correct mesh. Ths sly trick is in the correct UV-map: we did it without any seams and with little stretchings. We used a repeatable texture for that. As a result we got high quality grass in the game by just using a small texture. In case of keeping the grass on the same texture as other elements, we would never got the same quality. As a con, the tiny stretchings should be mentioned, but they are almost invisible.
For other elements we used independent blocks, which were created in zBrush according to our concept arts. When we were done with high-poly models of blocks, we created geometry for low-poly versions and UV-maps. We also used high-poly models to get a normal map, lightning map and a height map for our low-poly models. It’s very helpful in the texturing process.
When all blocks were ready, we had a kit for creating buildings and the most interesting and exciting part started. We were able to play with our blocks and create our buildings, like almost everyone did with toy blocks in their childhood. The good thing is that we only have 2 materials and 6 different buildings. It gave us a huge rendering optimization and a nice looking result. In the game we will have a lot of buildings, and it will be much easier to create all of them since we already have our kit.