This post is particularly addressed to developers of mobile games that use or used Parse integrated into their mobile games or app for getting great features such as push notifications, multiplayer, user management and much more! We all know how the existence of tools like Parse save our time and resources.
But Parse is over so, what to do now? Here you’ll find an explanation of what we did in our particular case. We have some popular quiz games for Android and iOS based on Parse with more than 17 million downloads and around 100 thousands active users everyday. We couldn’t just let them die without doing nothing!
The Parse announcement:
“We have a difficult announcement to make. Beginning today we’re winding down the Parse service, and Parse will be fully retired after a year-long period ending on January 28, 2017.”
Parse Team, 28th january 2016
As developers of mobile games, one of the best tools we found (and use indeed) was Parse and receiving this announcement was not easy. Our games were based on Parse for implementing multiplayer mode, push notifications as well as many other features that Parse made easy to manage.
In fact, last year we decided to update all of our games to work with Parse. Bad decision? Not at all, we learned to work with Parse but now we were dependent of them. Until now.
THE AWAKE FROM SHOCK AND THE ACTION: MIGRATE FROM PARSE TO OUR OWN PARSE SERVER
That’s it! We decided to migrate all to our own server and be fully independent.
Ok, but how?
First of all, we look for lot of suggestions for other developers, we tried to understand what to do and where to start.
The starting point was following the guide “Migrating an Existing Parse App” to create a Parse server in our own VPS, just for testing around.
We found that it wasn’t as difficult as we initially thought and even best: it was a way lot more flexible and customizable than Parse, although we still have a lot to do to make it as complete as the original (Analytics, Jobs, …).
Ok, so far, so good.
Since we had a few games with custom APIs and millions of users and our current setup was not enough to support the added Parse server, so we decided to get a dedicated server and make all the configuration from scratch.
We based our work on this Parse-server-example and we started by installing NodeJS and MongoRocks for the database engine.
Ok, now things started getting more complicated. The guide for the MongoRocks was not very clear and helpful so we had to find a way to get around the problem. We searched a lot, before finding this miraculous tutorial. It made our day!
INSTALLING PARSE SERVER
To install the Parse server we cloned the git repository and we used the NPM (Node.js libraries). After the installation we configured the index.js file and we had our first parse server working. Great!
WORKING WITH OUR PARSE SERVER (iOS and Android): HELPFUL TOOLS
To manage the development, we created a git repository to update the CloudCode so we can make the deploy of our code quick and safe.
Having an user interface is always a great help and improve our productivity, so we installed the parse-dashboard, by cloning the repository and using NPM to install and make the customization easier.
Using NPM modules: definitely, a great benefit!
Using NPM modules on the parse server represented a significant help for us. For example, the “mysql” module that allows access to a SQL database from PARSE. Is that so important? For our case, definitely! Our database of users is a SQL database and with the mysql module we can directly access through the Cloud Code.
QUIZIT GAME: OUR FIRST GAME MIGRATED TO OUR OWN SERVER
After installing and configuring our own parse server, it was time for serious stuff: we had to start migrating all of our games to the new server. We considered our most relevant games: Quizit, Millionaire, Mega Quiz and Word Grid.
The first victim was Quizit and let us tell you: along with the migration we’ll add a couple of new features, made a lot of improvements and the game will definitely rock the store!
This game has a lot of players, lot of content, multiplayer mode, challenges, points, achievements, ranking, statistics, push notifications… Phew! What we wanted to say, is that is perfect for testing the biggest part of the server in the real world.
ALL IN ALL
Migrating from Parse to our own server was a BIG challenge but it worth it. We didn’t launched the game yet but we’re already on the final testing and we can share with you some improvements that we noticed:
- Efficiency: The connection between the game and the server is significatively faster
- Flexibility: The level of customization of the server is higher than Parse, which make it perfect and adaptable to our games, efficiently
- Freedom: with our own parse server, our games not depending on a third part anymore for features as multiplayer, push notifications, among many others.
- Technical skills: we improved our technical skills, mostly related with server side and interaction with mobile environment.
SO, WHAT NOW?
After we launch our first migrated game to the new server, we’ll migrate our other games and of course we’ll keep exploring the possibilities that this new server offers, to improve with new features and useful tools.
We hope that this article can be very helpful and motivating for you, as developer or as a part of a mobile game development team to create and configure your own parse server.
Feel free for sending us your feedback, suggestion or even a comment about it. We’re wide open to listen and help! 🙂