I was wondering if anyone here had some good input or links to resources for creating game art for mobiles. I had a friend that told me, just avoid Alpha's, they kill performance. Now, I'm not too certain about this but I was hoping to find something to either back this up or refute it, but it basically lead me to thinking maybe there are more things like this to keep in mind. Anything would be helpful. I am creating all art included, environment, props, buildings, and characters. Rigging and animation will be a collaboration, but anything to keep in mind will be helpful. Basically now I'm keeping things uber low poly and resolution, but if there are other things other than those general rules of thumb like the 'say no to alpha' thing, I'd be happy to hear. Thanks!
Replies
They usually have recommendations in the documentation.
Imo. the reason why mobile as a platform is so restricted is because of its lowest common dominating platform: and that is often your crappy cheap android phone and the iphone4 (with its retina resolution but to weak hardware to truley push it). At least at my work that's our most common low platform. The iPad 2 is also a popular platform though in some cases faster than the iPad 3 because of the lower resolution.
For those platforms we noticed often the following as slow
But far from performance issues you will easier get into memory issues e.g. can't use often 4k and up textures but instead split into multiple 2k textures if you need a lot of texture memory. Also when using more complex shaders that support normal maps, specular maps,... all that is in a way a memory issue for those platforms.
I think its not by surprise that a lot of "mobile" games come with such a simple look and that is to cater in a smart way for such a tiny hardware.
Also always talk to your dev - he is usually the one who has to deal and debug performance matters: he might be a good source for those questions.
http://joostdevblog.blogspot.nl/2014/11/using-2d-daylight-assets-to-create.html
I'd image having a model with a low poly cloak that has a texture with two holes cut out using an alpha wouldn't be too much of an issue. It's when you have like 100 things with alpha showing at once, layering on top of one another, or don't cut alpha where you have no need for it. That's when you start having problems.
Avoid it when you have other smarter options, sure, but in my experience it's not going to kill most devices if you just use it when you need to.
EDIT: Full disclosure, we were 2D. Meshes were used from time to time, but because of that I have trouble giving you any other "tips" haha. Good luck, btw.
Than try to use object pooling, especially if using unity to stop stutter from the GC kicking in, and write and optimize all of your shaders. I was able to get a nice fps gain in my last mobile game by simply writing my own shaders that only use the feautures I need and allow of optimizations specific to my game.
8-bit alpha is actually cheaper than alphatest on iOS afaik.