How to Make Your Own Mobile Game (Based on Creating Cup Horizon)
Thanks to the rise of smartphone technology, thousands of mobile games have found homes in app stores worldwide. Mobile games these days come in all sorts of shapes and sizes. Developers are constantly playing around with creative mechanics, art styles, and design choices to deliver fascinating titles. Though it may seem intimidating at first, really anyone can make their own mobile game with the right amount of time and commitment.
In the span of six months, I created a mobile title called Cup Horizon. It’s an arcade-style casual game that involves you timely dropping pong balls, stacking different cups, and winning credits. It is available for free on the iOS App Store (link here). For this game, I did almost everything on my own, including designing the levels, programming content, and developing art assets. The parts I decided to outsource were sounds and music. Going in, I really wanted to experience the different creative processes that occur while making a game. Having scope in mind definitely helped and I’ll talk more about that later.
For this guide, I’ll quickly go over some substantial parts of the mobile game development process and share my experiences with Cup Horizon (CH).
Inspiration
If you have an idea in mind for a game, you’ve already completed the first step of the process. If not, that’s also perfectly fine. It is true when they say inspiration can come from anywhere. In this case, it may be a smart choice to research games currently being downloaded on the app store. But don’t rely solely on that. Look into games from various generations and study their mechanics. Peek into different films, books, music, art pieces, and sports. You never know what ideas can spark from simply observing your surroundings.
For CH: During December 2019, I was binge-watching the television show Silicon Valley. It inspired me to create a tech invention of my own and somehow, the idea of developing a game involving cup pong slipped into my mind. I decided to go with it and started prototyping a mechanic of virtually bouncing a ball into a cup. This idea would eventually evolve into the “Coin Machine” that’s in the game.
Branching Out and Solidifying Ideas
Once you have one or more ideas, think deeply about the mechanics involved. How do they connect cohesively to form a game? If the game is composed of only one mechanic, how can it be manipulated so that the player won’t get bored easily? Who is the target audience? Questions like these will help you gather your thoughts and solidify them into strong concepts. You have to start considering scope as well. Are you planning on developing all parts of the game or outsourcing some? Do you have the knowledge to program the mechanics or are you willing to learn? Can you create the art?
For CH: The only mechanic I had at first was bouncing a ball into a single moving cup. Though it felt addicting, I knew I needed to have more. I started remembering a game I used to play at arcades. It involved pressing a button to drop a ball in front of you. If the ball landed in a specific moving hole, you would win many tickets. I thought, “What if I took this concept, but added obstacles for the ball along the way. What if the player had to obtain and use credits, like in real life? What if the player needed to perform a task to get more credits?”
Since I had experience with programming and developing, I felt this was all feasible to do. I wasn’t expecting highly complex visuals either, so I decided to take on art as well.
Prototyping
After deciding on a game idea to pursue, begin prototyping the mechanics for it. Paper prototyping is a simple, but effective method of doing so. Drawing everything on paper or using a graphics editor can help visualize your thoughts and spring ideas for art assets. Afterward, try building a simple version of the mechanics in the game engine of your choice. Experiment with different variables and factors associated with the gameplay.
For CH: I hand drew many sketches of how I envisioned the gameplay to look. Using the web application Vectr, I replicated the sketches virtually. During this process, I designed the basic look of the cups and obstacles as well. Eventually, I brought some art assets into the game engine and programmed elementary mechanics. I started to experiment with things like ball movement, cup speed, and obstacle placement.
Themes for Art
It is critical to spend time thinking about how you want your game to look aesthetically. Art is what brings games to life. Without it, games are simply interactive shells. Consider which visual themes, color palettes, and emotions you wish to pursue and evoke. Look into different forms of media and eras for inspiration. Experiment with different designs and compare. Ask yourself, does this take away from the gameplay or pair well with it? Will it help deliver the intended experience?
For CH: With old school arcades in mind, I wanted Cup Horizon to have a somewhat retro aesthetic. I specifically looked into 80s and early 2000s art styles and classic video game fonts. While designing, I enjoyed listening to nostalgia-inducing music genres such as synthwave. I felt it helped keep me focused on the themes at play.
Designing Systems
Once you’ve fleshed out the mechanics for your game, it’s time to look at the bigger picture. How do you want these mechanics to work with each other? What are the overall goals for the player? Are there items, in-game currency, or properties that the player has to collect? If so, why are they collecting them? Does the game get more difficult as time progresses? Does it need to? How will the menu system work?
Answering questions like these will help raise the foundations of the game and allow you to start implementing key features. Considering that implementation can take a reasonable amount of type, it is better to have a well thought out system designed beforehand.
For CH: Once I set up the mechanics for dropping the ball and stacking cups, I decided on attributes for the overall system. I wanted to create a level-based game that increases in difficulty as the player progresses. The difficulty would directly correlate with the types of obstacles and the speed of the moving cups. I wanted cups that could benefit the player and cups that could detriment them. To mimic real-life arcades, it would cost one credit to drop the ball. If the ball lands in a negative cup, the player loses more credits. If the ball lands in a positive cup, they gain credits. To beat a level, the player must land the ball in a golden cup. Credits gained by the player could be used to unlock various cup skins.
Iterating
As you develop your game, you might realize some features don’t work that well or think of new ideas entirely. This is completely fine. Part of the design and development process is iteration. It gives you the opportunity to view your game from different angles and understand what functions best and what doesn’t. Don’t be afraid to test various options for gameplay and visual/audio design.
For CH: Iterating provided me with some important changes to the game. Originally, the background colors were a bit too dull. When I finally noticed and swapped the colors with more vibrant blues and greens, I fell in love instantly. Also at first, the player only needed to land in a golden cup once to beat a level. As I built more levels, I found myself beating each one relatively quickly. I decided to implement a stacking system for the golden cups, so that the player needed to land in it three times to win. This added the right amount of challenge that the game needed.
Testing
Testing might be one of the most essential parts of the development process. You need to test, test, and test. If you are able to, have friends, family, colleagues, and/or strangers play your game. Try not to give away too much information before they start and ask them afterward how they felt while playing. The more feedback, the better.
For mobile games in particular, it is crucial to perform ad hoc tests on mobile machines. Since most development occurs on computers, it is important to know how the game feels in your hands.
For CH: Periodically, I would ask my friends, professor, classmates, and even parents to review and playtest the game. Their feedback greatly helped me solidify design choices and potential ideas. Ad hoc testing also allowed me to know which features were working properly and which were not. It unveiled a critical bug near the end of the development cycle, so I was especially grateful for that.