Arthur Pacaud
Posted
After a few month of work, we’re happy to announce an integration of Firebase in GDevelop! If you want to see it in action, check the Firebase example.
Firebase is a Backend-as-a-Service. It offers multiple service for your app or game, is scalable, cheap, and powerful, while staying generic enough to be used for almost any project.
This post will present the most notable features of Firebase and how you can use them to improve your game.
Remote Configuration is a tool that let you change some constants of your game without having to deploy a patch.
It is useful for enabling and disabling specific features.
For example, you can set up a secret level that is disabled by default in the configuration. Then, for a special event, you can turn on the configuration of this level, and all your players will automatically have access to it.
You can also combine it with analytics to let dedicated players access special features automatically, or combine it with A/B testing to enable the feature only for a fraction of your players. This way, you can make sure that if you do something wrong, you get notified and can fix it, before too many people are impacted.
Authentication let you make user accounts easily and securely.
Doing authentication right is difficult, as there are many things that can go wrong. Firebase provides a strong and secured authentication system, battle-tested by a lot of popular apps. It supports social log-in (for browser games only for now), a very popular way of authenticating your players today.
This lets you securely and reliably identify users and can bind data to a specific user.
This also let you ban a user from using your game, or restrict your game to some users. It is especially useful when combined with other services, like Firestore, Analytics, and Remote Configuration.
Firebase provides an analytics system based on Google Analytics. They can help you collect user data about your audience to adapt your game accordingly.
Note that GDevelop also provides a built-in analytics service preserving the anonymity of your players. We recommend that you test it first: read more on the page about the Games Dashboard in GDevelop.
The hardest part of making a game is not the development, it is reaching and maintaining an audience. Analytics help you to get to know your audience to make your game better and more adapted for them. That way, they will be more satisfied and will probably continue playing your game longer.
By using the action to enable analytics, you will collect default data that is enough to already provide a better user experience.
You could discover that a big part of your audience are children, and could adapt how your game is presented. If you see that a large part of your audience is speaking Spanish, you can prioritize translations for this language.
Knowing who your audience is useful, but you can also learn how they interact with your game by logging events.
For example, you can log an event every time a player plays a level with the name of the level, and another event for every player death. That way, you can discover that a specific level is very loved by the community, and try to make new similar levels, or that one level is too difficult and decrease a bit its difficulty.
Firestore is a document oriented database that let you store data online securely on Google datacenters.
With a set of security rules, you can define who has access to what parts of the database, and how they can access those, to prevent cheating or hijacking other users data.
With Firestore, you can save and load lots of data online. You can allow users to share UGC (User Generated Content), like custom levels or new items. You can add social features, like comments and likes, but also leaderboards, multiplayer, settings/save file synchronisation…
This is one of the most powerful Firebase features.
Firebase adds lots of new possibilities, allowing you to easily build better user experience for your players. We only gave a few examples and showcased some of the top features, but there is a lot more. Firebase is especially useful when combining those service together. Read more about them on the GDevelop documentation about Firebase.
The latest version of GDevelop also contains numerous improvements and fixes. We can’t wait to see what you will build with this!