With the spread of app developers in the world (and “wanna-be app developers), I bring you the three major components of building your own QuizUp type of game (for those with some technical development skills). It’s fun, it’s simple and you’ll start to learn how to be a game developer.
When creating a trivia and quiz game, you need to know the elements involved:
- Storage: game content, such as questions, various choices for answers, player scores, user data, leaderboard, etc. needs to be stored somewhere
- Gaming logic: the game needs to be able to find opponents through your FaceBook friends, random opponents, etc.
- Mobile app: when creating a mobile app, you have iOS or Android (or both!)
If you have even some previous skills in iOS or Android app development, you should be able to make a good looking game like QuizUp in less than 1–2 months with moderate UI (User Interface).
Let’s get started. Following these three simple steps will get you quizzing in no time.
- Use mBaas for storage
The problem with this approach is that we will also need to write an api to fetch data from the database, which is time consuming, and than we will need some server to host these api(s). This requires some knowledge of backend server along with mobile development.
Instead of this, make use of a new technology called mBaas (Mobile backend as a service). We won’t do a deep dive into mBass now, but to understand in short, mBaas is a model that provides some sort of database and readily available sdk(s) to fetch data from the database; hence we don’t need to write/expose any api for storing / fetching any data. There are many mBaas providers available today that can provide these services. I suggest using one that is specifically designed for games such as app42 (shephertz) / playfab.com.
The following list is services that are provided by app42 (shephertz) / playfab.com which can be consumed in app by using their sdk(s):
- User Management
- Leaderboard
- NoSQL Storage (for storing quizzes)
- Avatar management (for profile pictures)
- Buddy management
- Message service (for chat)
- Achievement service
Using their services, we don’t have to write a single line of code for backend, nor do we have to maintain any database or worry about its scalability — all these issues are taken care by the service providers themselves. We now have to concentrate only on our app UI.
- Use service provider like appwarp (shephertz) / photonengine for gaming logic:
Any multi-player game (like QuizUp) requires gaming logic, like match making, (to find an opponent), room creation (virtual room where games are played), realtime logic (to play game in realtime / live). Gone are the days where you have to write complex logics as mentioned above on server side. We can take advantage of these platforms using their SDK(s), and the following are services provided by them:
- Multiplayer management
- Turn-based game logic
- Match making
- Connection resiliency (handle game in case of poor network on app)
- Real time messaging
- Room creation
Again we don’t have to write a single line of code for above gaming logics and just have to consume them in the app.
- Create android / iOS app (Requires Mobile Development Skills):
This is where actual work is created. Instead of worrying about gaming logics or storage (server side management), we just have to concentrate on our app UI. Using the above mentioned service providers, our time to market is reduced substantially. All service providers mentioned above have exposed their SDK(s) for iOS, Android and other mobile platforms.
If someone is looking for a single service provider, shephertz can be the optimal solution since they provide both mBaas (app42) and gaming logic (appwarp). One can also combine playfab (mBaas) with photonengine (gaming logic). The best part of these service providers is that they are free for a certain number of users, after which they charge as per the model “Pay as you go”.
With these components, you can create game like QuizUp in 3 easy steps.