01 June 2019

Three Issues with Mobile Gaming

I do not hate mobile games as much as I might let people think I do. Something that's probably obvious for people reading this blog. The reason I avoid mobile gaming so vehemently has to do with the issues that come with it.

Heat Generation

Really nice in the winter, very worry some in the summer. Our current generation of smartphones does not support any cooling mechanisms. Usually, this is not a problem for most applications. For games, however - oh boy. I've seen plenty of games that heat my mobile phone up to +40° celsius / +104° Fahrenheit and that got me quite worried. So much that I have an app that warns me once I reach those numbers. I did a quick search online to determine the lowest value that is unhealthy for my mobile phone and went with that.

Battery Life

I never have to worry about this on my tower PC at home. 
This one doesn't have batteries aside from those that are used to save BIOS or UEFI data like what time it is. (Yes, I had an empty button battery once and it reset the time to the 1st of January 1970 and 0:00am I think?) So, no reason to care about such a thing for desktop games. However, when developing games for smartphones, tablets, and laptops people are not gonna be happy with a game that literally sucks their power out of their mobile phone like a vampire. You play for what feels like 5 minutes and your battery already dropped by 20%. Extremely scary. Especially if you're a long time from a nearby power supply. Of course, you could argue that people can use those compact power cell battery thingies... but do you really want your user to run around with a bag full of battery packs? I hope not.

User Input

This is like one of the more known issues that I've already mentioned but here we go again. For most people, the only input they have on their mobile devices are six buttons and a touch screen. Many of these buttons contain system features such as going back, lower/higher volume, switch off, show other processes and go to the desktop. This means we're pretty limited if we don't want to or can't overwrite these functionalities. Additionally, not every device features multi-touch. That means some devices can only work with up to two touches at the same time. So, if our game needs three inputs our game is nearly unplayable. Another issue that rises from touch input is the limited view from the hands obstructing the view.

Design Goals

So, all these issues need to be considered when designing games for mobile devices. We need to optimize the performance to reduce unnecessary heat. Examples here would be less code in the update loop and working with events like concepts (only call when necessary), reduce graphic effects and/or frames per second and lastly reducing the quality of the graphics.

Same about the battery life. Interestingly using a lot of light colors takes more power for the display than darker colors costing more battery life.

Make sure to design your game that it either is not necessary to stay up to date with the screen or have the input somewhere outside where coverage doesn't matter much or even better at all. A good way would be to implement controls inside of the HUD or menu. Non-action or round-based games don't have as much of a coverage issue. Another thing is to make sure your game can be played with at least two touch inputs at the same moment.

A good option is to also give the user the ability to change the settings to decide if they want more quality at the respective cost or not. I don't care about battery power if I'm at home, I can just charge the phone! Or put some ice on it in the hope of cooling it. Into the freezer, here we go!

At least until we get a new generation of mobile devices that attempts to fix these issues.

Liked the post? Noticed an error? Wanna discuss the content or leave a comment*? You can join or check into the discord to do so! (*Note: Comments are disabled to avoid saving user data on this website.)
>> Join Discord

About Me

My photo
I'm a junior game developer and software developer and I created this blog to share my ideas, thoughts and whatever I'm working on or doing.