« Back to News

The 3 major components of creating a Trivia Game

Playing and creating trivia and quiz games is quite the rage, and has been for decades! Look at Trivial Pursuit, originated in 1979 in Canada and reached it’s peak in North America in 1984 with over 20 million games sold. And then there is Jeopardy, which originally aired in 1964, but has been recreated and popularized with Alec Trabek in syndication since 1984.  And more recently (for you millenials) Trivia Crack – a mobile app modeled after Trivial Pursuit.  It was the App Store’s most downloaded game in 2014.  Also in 2014 came the QuizUp_Logopopularity of QuizUp: it gained 20 million users, raised over $26 million from VCs and over a billion matches had been played in over 197 countries by March of the same year.  These games have contributed to the evolution of everyone’s use of useless knowledge into fun and entertaining online and mobile games.

TriviaGame

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).

Quizup-game

Let’s get started.  Following these three simple steps will get you quizzing in no time.

  1. Use mBaas for storage

For creating a game like QuizUp (or any other trivia game), questions and answer choices are the bulk of content for the game. So we need some kind of storage for storing this information. We also need to store user scores and user profiles along with questions/answers. Now we can easily deploy database (MySQL / NoSQL) on AWS which can store all the data for the game.

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.

  1.  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.

  1. 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.

Comments are closed.

About the Writer

  • Jitesh Lalwani
    Senior Software Engineer at Synerzip

How can Synerzip Help You?

By partnering with Synerzip, clients rapidly scale their engineering team, decrease time to market and save at least 50 percent with our Agile development teams in India.