For a common user, a mobile game is a program that gives him/her pleasure from the process of playing a game. But what does a game means for a developer?
A video game (from a developer’s point of view) is a complex, exhaustive process that brings constant inaccuracies, changed during the whole development cycle.
J. Schreier described the factors that influence the development process in his book “Blood, Sweat, and Pixels”:
- Constant technical progress that positively affects the development, on the one hand (new tools, improvement of the previous ones) and on the other hand –negatively affect it (more complex optimization, the appearance of bugs as a result of the conflict between functions and weaknesses);
- To properly evaluate the game quality, you should play it yourself. This, in turn, doesn’t give the possibility to build the action algorithm.
- Thanks to game interactivity, developers wish to develop every game detail completely and this consumes a lot of time, which is really limited.
Video games vs mobile games
To properly define the differences between them, you should divide a game into such components:
- A game process;
It’s hard to properly develop all these parts since the resources of mobile platforms are always limited.
Game’s performance will be at risk if you create the improved modern graphic, and if you thoroughly build a game process, you may have issues with its control.If you don’t take these components into account, you’ll receive a poor-quality game that makes a user reluctant to continue playing the game.
In other words, a mobile game provides more limited possibilities for a team than a desktop game. This makes, in particular, a development process more complicated.
Types and mechanics of mobile games
Due to the conflict between mentioned 4 parts of a game, its types and subtypes are quite contingent.
The following types of games are the most popular:
- Table games;
- Race games;
- Platformer games;
- Match 3;
- Arcade games;
- Hidden object ;
- Adventure games;
It’s logical to define certain mechanics, used in games:
- Mechanics, based on a hygroscopic sensor. This type may be implemented by a simple auto turn that impacts the location of interface details and complete mechanism of helping to set the scope in certain shooters;
- Touch/swipe/Multi touch. They are considered the main types of control in mobile games, are quite similar to common mechanics of PC (click, drag, and drop). They are mainly used in adapted RPG games, arcade games, Match 3, Hidden object and table games.
- Virtual gamepads. This type of mechanics is no way near to the mechanics of a simple gamepad, that you can study on PC and consoles. Since it consists of various active details, there is a high possibility that there will be a conflict with other components of the interface. Moreover, we’d like to admit that virtual gamepads have wide customization. This may increase the possibility of a bug’s appearance. Virtual gamepads are considered a versatile type of mechanic, so they can be used in arcade games, race games, adventure games, platform games, and RPG games.
Requirements for mobile game testing
First, a mobile device that will be used for testing an application must be reset to default settings, to ensure that it has no conflict with the software that was previously installed on it.
If a game supports the function to interact with other programs, you can install them since this test completely meets end-to-end testing standards.
Process of testing:
- A build’s structure:
- A structure has icons for all necessary or required display sizes;
- The version of the SDK that was used for game creation is the same as the SDK of a completely supported device.
2. When you launch a game for the first time, you should certainly test:
- A landing page (it’s displayed after launching the product) which shows all offers of a developer;
- A splash screen – the capture that appears while the application is being loaded, it’s mostly a logo of development studio or of a publisher;
- A loading screen – the screen where all thematic artworks with a progress bar are shown (developers add sometimes game tips there);
3. When a game has been loaded, you should test:
- Publisher’s data;
4. When you are inside the application, you should test:
- The correctness of sound reaction;
- Saving of game levels.
5. If there is the function to add third-party services or social media, you should test linking to each of them separately.
Main peculiarities of mobile game testingMobile devices, in contrast to PC, have a set of certain peculiarities that can slightly or greatly impact the development of an end application.
Peculiarity 1. Screen dimensions
Today numerous mobile devices with not typical, unique screen dimensions are developed. Therefore, if the game texture will look great on a mobile device with a small HD screen, it will look mediocre on a device with the Full HD dimension.
We should also mention the interface adaptation: since most of its parts correspond to pixel location, there may be the element overlapping on some of the devices (this happens due to different dimensions).
And some parts of the interface may be not accessed, due to the Apple company’s implementation of unique slots on screens.
Peculiarity 2. Touch interface and gestures
Touch/Swipe/Multi-touch help developers to build a logical, clear game control. But these possibilities go together with responsibility.
Every element of the interface is a separate block that may crash because of any, even the most unexpected reasons.
For instance, multiple tapping on the same button may lead to function conflict, the button may always stay in a tapped mode or become untappable.
Peculiarity 3. Systemic disorders
It’s the system interrupts and gestures.
System interrupts: calls, alarms, program exit, and its close, audio rendering, battery death, notifications.
System gestures: picture in picture, status bar call, notification call, notification menu call, split screen, physical buttons.
A game mustn’t crash at any of these stages. If you need to do something outside the game, a game should be automatically paused and user achievements should be saved in the game server or in a cloud. After returning to a game, there should be no braking of the performance.
Peculiarity 4. Internet quality
As we know, we can access the Internet via WiFi or Mobile Data (Edge, 2G, 3G, 4G, etc.) on mobile devices.
By analyzing both types of connection, we can see that their principles of work are similar, and the quality and reliability of a network depend on the level of load and coverage.
Still, we should check positive and negative scripts while testing.
Peculiarity 5. Performance
Frequently, this factor is ignored by developers, though it’s crucial. It’s the speed of game scene reproduction, the frame rate of idle scenes, the frame rate on complex locations and during loaded scenes.
To perform complete motile testing optimization, we can use special location benchmarks or do this manually.
To measure a frame rate in games, we can use embedded functions of an engine or various FPS software that needs thorough configuration.
Apparently, mobile game testing is a quite intensive but really fascinating process, to which you should properly prepare, before its execution.