The share of mobile games has grown significantly in the last few years. Today, mobile games account for 53% of the total gaming market, and the value is still increasing (source: Newzoo Global Games Market Report 2022). More and more users are reaching for smartphones – not controllers or mouses and keyboards. Why? Mobile games, unlike video or PC ones, are more accessible, simple to use and relatively inexpensive. 2.4M people were playing on smartphones in 2020, and this number is expected to grow to 2.675M mobile players by the end of 2022.
Table of contents
The challenges that mobile game developers face
A game development differs from a “traditional”, software one. The product has to meet technical and functional requirements or securely store and process data but also has to be attractive to the audience and deliver entertainment without any interruptions. Bugs in games are almost unforgivable – up to 62% of users will uninstall an app if it crashes or lags (source: Intel Developer Zone).
Developing mobile games presents many challenges. What are they?
- It is necessary to have a highly available infrastructure that scales in seconds, adapts to the number of users and doesn’t hold back growth.
- Apps process user data (and sometimes payment information), so ensuring the highest level of security for user log-in, data storage, and processing is a must.
- The game must work correctly on various devices – smartphones and tablets from different manufacturers, with different operating systems, resolutions, sizes or screen configurations.
- The game mustn’t have bugs, crashes, or lags; it must run smoothly and efficiently.
- Bugs and crashes must be tracked down as soon as possible and the previous version replaced with a new one, tested for changes.
- A high pace of development must be maintained, with new versions and features being created and deployed regularly.
- In addition to the technical aspects, the owner has to keep the app engaging – analyse user behaviour and how they carry out gameplays, track down where many of them get stuck and react so the fun doesn’t turn into frustration.
Fortunately, Firebase is helping to solve these problems.
What is Firebase?
Firebase is a cloud platform for creating and developing mobile applications, including mobile games. It’s Google’s product, designed on top of Google Cloud Platform infrastructure and is compatible with GCP services.
Firebase consists of fully scalable and stable backend and infrastructure services that are relatively simple and fast to implement into the app. By providing out-of-the-box solutions, Firebase can save hundreds of developer hours and thousands of lines of code. In the long term, using the platform can also result in increased speed of growth, ease of making changes and introducing new features and relatively low infrastructure maintenance costs.
In addition to services that support the app development, the platform also provides services for testing and improving the quality of the game, as well as tools dedicated to reaching out and engaging users. What’s more, the Firebase environment can be extended with additional services to ease the burden on the development team – e.g., automatically sizing graphics that are transferred to Cloud Storage, exporting data from Cloud Firestore to BigQuery and performing advanced analysis, or deleting information about a user from all databases the second they shut down an account. Firebase can also be integrated with other Google products (i.a., Google Ads, Google Data Studio) and external apps (i.a., Slack, Jira).
Build: develop an app on Firebase
The Firebase platform minimises the amount of work spent building the application backend and maintaining servers. It enables administrating of infrastructure from the code of implementing event-driven functions. The workforce can be transferred from maintenance to development, making space for implementing new ideas and elevating the app’s amusement.
Firebase’s portfolio of services for building apps includes:
- Cloud Firestore – a cloud-based NoSQL database that synchronises records in real-time and keeps track of user changes, even if they were made offline.
- Authentication – user registration and logging-in service that includes various authentication methods, i.a., by email and password, Google account or Facebook profile.
- App Check – an additional layer of security that helps protect backend resources from abuse, such as billing fraud or phishing.
- Cloud Functions – a serverless framework for creating basic functions and automatically running them in response to events.
- Hosting – fast and secure web hosting service with free SSL certification or blazing-fast content delivery thanks to caching files on SSD disks at CDN edge servers around the globe.
- Cloud Storage – a service for storing and serving files, such as photos or videos made by users.
- Realtime Database – a low-latency database for JSON data.
- Extensions – pre-packed solutions that can expand the Firebase environment, i.a., streaming data to BigQuery, enabling in-app purchases, or detecting toxic behaviour or content.
Release & monitor: ensure the app’s high quality
Of the one-star reviews in mobile stores (e.g. Google Play), 42% relate to the poor performance – that apps ale slow, lag or crash. In contrast, 72% of users who rate apps five stars indicate that they are flawless and run smoothly (source: Intel Developer Zone). Therefore, it’s essential to conduct QA tests and trace any issues on the live version.
But assuring quality is a bit problematic area when it comes to games. Manual tests are expensive because a specialist has to go through every scenario at every level and repeat the job if a new version is to roll out. Furthermore, popular QA automation frameworks (such as UI Automator, XCUITest or Espresso) don’t work for mobile games. Firebase solves these issues by delivering services for quality testing, error tracking and crash reporting:
- Crashlytics – a crash reporting tool that tracks all in-game errors and, i.a., user reaction to bugs. The data is presented on an easy-to-read dashboard. Production bugs can be traced in the code thanks to stack traces files. Crashlytics allows setting up notifications every time an issue occurs.
- Performance Monitoring – a service that monitors the performance of the app, enabling, i.a., the control of HTTP requests or product initiation time without the need to write additional lines of code.
- Google Analytics – a well-known analytics tool but for mobile products. It lets the app’s owner read user behaviour data from dashboards and charts. Combined with the BigQuery cloud data warehouse service, it allows running comprehensive analysis from various angles, including multiple data sources.
- Test Lab – a service for running tests on the app on virtual and physical devices. Test Lab provides more than 1,000 devices with different technical specifications, OS versions, languages, locations, and size or screen resolutions. After completing the tests, the results are presented as a report with statistics, performance metrics, loading times, or CPU and memory consumption levels, all synchronised with video recordings of the events in the game.
- App Distribution – a service for sending a pre-release version of an application to a group of trusted Firebase testers.
- Machine Learning – machine learning capabilities that can be implemented into the game to increase its level of amusement.
Engage: enhance players’ loyalty
To maintain a high level of engagement, it’s necessary to get to know the players, their needs or pain points, and respond to them quickly and adequately. Carrying out analytics, engaging users in a personalised way and sending tailored marketing messages will translate into marketable product stability, a number of downloads and, at the end of the day, revenue.
To achieve this goal, Firebase services can be used:
- Remote Config – allows making changes to the app UI for all or groups of users without rolling out a new version.
- Cloud Messaging – a push notification service.
- In-App Messaging – automatic sending of personalised messages inside the game. The dispatch can be triggered, i.a., by actions taken by the user.
- A/B Testing – a helpful service for introducing major functionalities or changes to the game. It allows running A/B tests on groups of users.
- Dynamic Links – service that automatically creates URLs, e.g., referral links to install the app.
Would you like to know more about Firebase, the cloud and the cooperation with a certified Google Cloud partner? Drop us a line.