How To Build A Drawing Game App Like Draw Something
Mobile apps are increasingly a part of our day-to-day life, including game apps. Art-loving people are using drawing game apps like “Draw Something” more and more. It‘s a growing market, therefore, entrepreneurs are trying to cash in on the craze for such apps. If you are one such entrepreneur, then this guide on how to build a drawing game app like Draw Something is just the one you are looking for.
An introduction to Draw Something
Draw Something is a popular mobile app, and this was launched in 2012 by OMGPop, a game studio. The app quickly gained popularity, moreover, it won key awards. Zynga, a gaming company subsequently purchased the game as well as OMGPop.
The app is a very interesting social drawing game, and at the time of writing, users of this app have created over 7 billion drawings using this app. Users don‘t need expertise in drawing. Once you select a word, your friends will try to make a guess, draw, and share them with you.
The market for drawing game apps
Mobile drawing game apps enjoy high popularity and Draw Something had 50 million downloads within 50 days of its launch. Read “Inside Draw Something‘s perfect storm: from the brink to 50 million installs in 50 days: with Wilson Kriegel, CEO of HrtBeat Audio” for more information on its popularity.
Draw Something belongs to the larger games category of mobile apps, and this category has the highest popularity. In 2018, mobile gaming generated $63 billion in revenue, which was half of the global gaming revenue in that year. Read “Games rule the app stores: most popular genres revealed 2019” for more information.
The features of Draw Something
Draw Something is available on Android and iOS, and it offers the following features:
- App users can draw fun pictures using this app.
- There is a turn-based drawing feature, where one user can show his/her drawing to friends.
- There‘s a “Guess Something” mode, where one player can guess what others are drawing.
- The app features a great list of words, using which players can carry playing this game.
- Users can access a range of colors for their drawing, moreover, they can earn badges for their work.
- The app offers in-app purchase, and it has a great “User Interface” (UI).
How to create a drawing game app like Draw Something?
A software development project to build a drawing game app like Draw Something involves the following steps:
1. Agree on a software development methodology
You are building a mobile app, which is a customer-facing tool. We call these apps “Systems of Engagement” (SoEs), and such projects use the iterative development approach.
Entrepreneurs launch a “Minimum Viable Product” (MVP) first, and then they enhance it based on the feedback from the market. Agile is the right methodology for such projects, as I have earlier explained in “Waterfall vs Agile: which methodology is right for your project”.
2. Define the project scope
I recommend that you define the project scope as following:
- Build an iOS and an Android app.
- Include features like drawing tools, social sharing, text chat, in-app purchase, and online payment. You need to also include push notifications to engage your users.
- Launch in one geography to start with.
Note: You should design and build the app in a way that makes future expansion into other geographies easier. This requires you to use “app internationalization” guidelines, e.g., keeping the code separate from the content. Learn more about app internationalization in “The ultimate guide to mobile app internationalization”.
3. Formulate a development approach
I recommend that you use the following development approach:
- Use a “Mobile Backend as a Service” (MBaaS) platform for managing the mobile app backend, which also frees you up from cloud infrastructure management.
- Utilize “Software Development Kits” (SDKs) and “Application Programming Interfaces” (APIs) to implement core features like drawing tools, text chat with friends, in-app purchase, online payment, and push notifications.
- Make use of “Integrated Development Environments” (IDEs) and frameworks to expedite the project.
4. Build your project team
The development team for this project needs the following roles:
- Business analysts;
- UI designers;
- Android developers with Kotlin skills;
- iOS developers with Swift expertise;
- A project manager (PM).
You don’t need a mobile backend developer or a cloud platform architect since you are using an MBaaS platform.
I recommend the scrum technique for this project, which works well for agile projects. The PM should perform the “scrum master” role, and build small, cross-functional “scrum teams”. These teams will work on iterations, called “sprints” in the scrum parlance. You can read more about scrum in “How to build a scrum development team?”.
5. Sign-up for an MBaaS platform
You would like to get going with the development quickly, and not spend time on IT infrastructure management. I recommend using an MBaaS platform since you will get the following advantages:
- MBaaS providers manage the cloud infrastructure, persistent storage, etc., therefore, you can focus on the front-end and business logic.
- While mobile app development can be complex due to the variety of mobile platforms and devices, using an MBaaS platform helps in managing this complexity.
- You can integrate 3rd party APIs, implement security features, and incorporate user management easier when you use an MBaaS platform.
- Scaling a mobile app is easier with an MBaaS platform.
I have explained these advantages earlier in “How to choose the best Mobile Backend as a Service (MBaaS)?”. I recommend Kumulos, a reputed MBaaS platform, for this project.
6. Find an API solution for a drawing tool
Providing a comprehensive set of drawing tools to users is the most important feature in this app, and I recommend that you use the solution from Adobe for this. Note the following quick facts about this solution:
- “Adobe Creative Cloud” APIs enable access to Adobe Illustrator, a comprehensive drawing tool.
- These APIs allow access to other reputed Adobe tools like CC Storage, Photoshop, Animate, etc.
- You can read about Adobe APIs here.
- Adobe also offers extensive documentation about its APIs, and you can find it here.
7. Get an API solution for text chat
App user would like to play the drawing game by coordinating with their friends, therefore, a text chat solution will help here. I recommend that you use mesibo, an excellent provider of chat APIs, and SDKs. The development team can access the following resources to use this service:
- The overall mesibo platform documentation;
- Tutorials offered by mesibo;
- API overview;
- This guide to the mesibo Android SDK;
- The mesibo iOS SDK guide.
You can check out mesibo pricing plans here.
8. Use an eCommerce API solution for the in-app purchase feature
Implementing the in-app purchase feature is easier with an eCommerce solution, therefore, I recommend that you use BigCommerce in this project. BigCommerce has a robust API solution which offers the relevant eCommerce features, and there is extensive documentation. You can check out their pricing plans here.
9. Find a payment gateway API solution
You will need an API solution to implement the online payment feature, and Stripe has the right solution for this. You can use the following resources for implementing this solution:
- Stripe platform documentation;
- A guide for implementing card payment;
- Stripe API reference;
- This guide for using the Stripe iOS SDK;
- These instructions to use the Stripe Android SDK.
Stripe has published their pricing plans here.
10. Get a bulk SMS API solution
Hire expert developers for your next project
1 200 top developers
us over the last 3 years
11. Find the required development tools
You need the following “Integrated Development Environments” (IDEs) for this project:
You also need an enabler for testing the mobile app, so that you can access a wide range of mobile devices on the cloud. Experitest offers its “Mobile device and browsers lab” on the cloud, which you can use for this. You can also use its “SeeTest Reporter”, which provides excellent test reports and analytics.
13. Use the platform-specific guidelines for the mobile app UI design
It‘s now time to start the mobile app UI design. There are different guidelines for Android and iOS app UI design, therefore, your UI design team should consult the following resources:
- “Human Interface Guidelines” for the iOS app UI design;
- “Material design” guidelines for the Android app UI design.
14. Use the right mobile navigation menu pattern
There are several popular mobile navigation menu patterns, and you need to choose the right one for the UI design. I recommend that you use the “Hamburger menu” since this menu pattern helps users to focus on the most important feature of the app.
Drawing is the most important feature in the drawing game app that you building, and Hamburger menu will help users focus on that. Read more about this in “Mobile navigation menu examples”.
15. Find the appropriate color scheme for the mobile app UI
The drawing game app you are building will require its users to understand the workflow. They would guess what others are drawing and share their own drawings. The UI will need some illustrations, and you should choose an appropriate mobile app UI color scheme for this.
“Colorful illustrations” is the appropriate color scheme for this app. You can read “8 trends in mobile app color scheme” for more guidance on this.
16. Design icons for the mobile app by following the appropriate best practices
As a next step, you need to design icons for the mobile app UI. For effective design, use the following best practices:
- Keep the design simple, and restrained.
- Design recognizable icons that are easy to remember.
- Use the right tools for icon design, e.g., Adobe Photoshop.
- Study similar apps that have high popularity, and follow the practices used there.
- Ensure that the icon looks good on various mobile platforms/devices, against different backgrounds, and irrespective of its size.
- Maintain consistency with the overall UI design, and follow platform-specific guidelines.
- Use established icon/functionality associations, like a pencil for drawing.
- Differentiate your icons sufficiently, and limit the number of symbols in icons.
You can read our guide “How to design the perfect icon for your mobile app?” to learn more about these best practices.
17. Develop the Android app
You should use Kotlin to develop the Android app, since it offers several advantages, e.g.:
- Kotlin has a lightweight library, which helps in coding fast and performant apps.
- This open-source language has a concise syntax, which helps a developer achieve productivity.
- Kotlin offers powerful features, which help in avoiding common coding errors like null pointer exception.
I have earlier explained the advantages of using Kotlin in “Kotlin vs Java: which is the best choice?”.
Developing an Android app involves the following steps:
- Use Android Studio to code the app, following “Get started with Kotlin on Android” for guidance.
- Integrate Adobe, mesibo, BigCommerce, Stripe, and Twilio SDKs/APIs in your app.
- Test the app using Espresso, and the Experitest mobile device lab on the cloud.
- You can follow this guide, for publishing the app to Google Play.
18. Code, test, and publish the iOS app
The workstream of iOS app development involves the following steps:
- Use Swift, the popular language for iOS development. This language has powerful features that offer high productivity, moreover, apps coded in Swift are easier to maintain. Swift enables bug-free coding, furthermore, you can code fast and performant apps using it.
- Code the app using Xcode, and integrate SDKs and APIs for the key features like a drawing tool, text chat, in-app purchase, etc.
- You can use XCTest, and the Experitest mobile device lab on the cloud to test the app.
- Publish the app to the Apple App store, by consulting this guide.
19. Use an effective PM tool
Senior Blockchain Developer
Senior Mobile Developer
Mid-level AngularJs Developer
Mid-level Blockhain Developer
Mid-level C# Developer
Mid-level Web Developer
Mid-level Mobile Developer
Web & Mobile Developer
- Ionic Framework
A scrum team has several key activities, e.g.:
- The team estimates and prioritizes requirements in “sprint planning meetings”.
- The scrum master gathers the project status in “daily stand-up meetings”, and resolves issues.
- Business stakeholders approve a sprint in a “sprint review meeting” after the team demonstrates the app.
You should use a robust tool to manage these activities, and Jira is a great choice for this.
Planning to build a drawing game app like Draw Something?
This guide elaborates on platforms, APIs, SDKs, IDEs, and frameworks that will help in the development, however, the market for mobile game apps is highly competitive. Building an app that stands out could be complex, and you might need to take professional help. Read our guide “How to find the best software development company?” before you engage a development partner.