And the ogre is out of its cave again! Last time I gave you a presentation about myself and told you what I would write about next time. Today is that next time so I will tell you more about how it is to work as an artist towards mobile platforms with all its restrictions and so on.
As you may or may not know, we at Triolith Entertainment work in Unity3D, a cross-platform 3D-engine, able to build games for Web, PC/Mac, iOS, Android and most consoles. Since it’s a 3D-engine, it’s a lot more demanding on the hardware, especially on mobiles, so one has to be careful not to completely ruin the fluidity of the game.
Well, let us start with a few obvious restrictions. One thing we have is the screen size. There are many different screen sizes out there from many different phones to different pads, but all of the screens are quite small. So with a small screen size we have to think about a few things.
When creating 3D models it is generally a good thing to keep the amount of tris down. Many modern mobile platforms can handle quit a lot of tris but as it is such a small screen we won’t see all the details anyway. I’ve seen good character models well under 500 tris. But from my experience anything between 300 to 1500 tris is good. You might need the extra detail if you plan on showing the character up close. What we overall want to achieve with the model is a good silhouette so we can add all the details to the textures instead.
Textures are quite basic when working towards mobile devices. You should do just fine with only diffuse maps but for MEGATROID we’re using a few light maps as well. One important thing I’ve learned here is to have contrast between the different layers the player will interact on. Try to have different colours on the play area, the background and things affecting the character such as enemies or objects the player can interact with. You want to help the player to understand the game and with a small screen size if everything looks the same you might end up with having no idea of what is what.
Lights are something we have worked with and tested on MEGATROID. Lights can be very expensive on performance depending on how you use them. As with the models you can fake a lot of lights in the textures and in that way save some performance. The main problem we had was that most types of light broke the batching on our meshes (batching in Unity combines meshes into one large mesh for performance and is pretty much crucial). So what did we do? Well, directional lights were one answer as they didn’t break the batching. Then we made layers to what the lights would affect so we could control our lights a lot more. With the layers we could start playing with lights affecting specific things such as the character. As she wasn’t being batched and is a focus point on the screen we could add a lot of light affecting her.
Overall: think of how you use your resources and spread them out so you have an even amount of details or add details on points where the player is focusing. No need to add allot of work on something that will never be seen, instead add those details where it actually will be seen.
Might be quite a short post but if you want me to explain something more in detail don’t be afraid to drop me an e-mail at [email protected] and we’ll see what we can do!
Now I shall go back and eat gingerbread cookies, drink mulled wine, julmust and probably wrestle a bear or whatever we do here in Sweden at times close to Christmas.
I want to wish you all a merry Christmas and happy New Year. We here at Triolith Entertainment will take a few days off now, so see you again next year!