If you're a passionate gamer, this thought might have crossed your mind once in a while: "How could I create my own game?" It was also a thought that occurred to Chris Moss, ZEBEDEE's Head of R&D, way back before he was pumping out games like it was child’s play. And the first thing he did? He Googled it and learned some basics from YouTube videos. Now that making games basically comes as second nature to him, we've asked him for some tips to hopefully inspire your own mobile game dev career and help to put your ideas to paper.
Well, in this case, into a code.
Below is what we learned, with some quotes from Chris about specifics in his own words.
Chris Moss is co-founder and Head of Gaming R&D at ZEBEDEE. He is the pioneer of Bitcoin gaming, having been making Bitcoin games since 2013, long before most people even heard of cryptocurrency. In 2014, he published his first Bitcoin game, SaruTobi – a simple pixel game that he based on a Flappy Bird tutorial. He developed over 100 apps for different clients and is now at the helm of producing ZEBEDEE’s own games, like ZBD Kart and ZBD Brawl (coming soon!).
The basics of mobile-game development
How to start? With theory, of course. Developing mobile games requires a wide skillset. But before you get to coding, you need a creative concept or idea of how your game should look. If you think of it very generally, it's all about transforming games from a concept to a playable reality. A mobile-game developer designs, builds and then maintains a mobile game app. Here’s what the job description typically includes:
- Developing new ideas for game design
- Translating them into code
- Trying out prototypes
- Monitoring stability and quality
- Reviewing and improving existing code
Game developers who work at larger game studios collaborate on these things with designers, producers, artists, analysts, a marketing team and many others. But if you're at the very start of your game dev career, you're probably a solo act… for now.
Do I need formal education?
While an engineering or computer science degree isn't always necessary, it can help you get familiar with the base technical skills required for success. But it’s no problem if your classroom days are over, as there are many online resources to choose from as well (both paid and free).
When equipping yourself with the knowledge, try to:
- Grasp the basics of stable software design
- Understand the software development process
- Follow productive development methodology
- Learn key programming languages
Even though some platforms allow you to create a mobile game without programming, you'll eventually need to know how to write code if your goal is to do this more seriously. The most common programming languages used in game development are C# (C-Sharp) and C++. If you’re not yet fluent in these languages, check out some quick online courses here. Or, you could be more like Chris and learn it all from YouTube tutorials:
"I started learning how to develop mobile apps from YouTube videos. Sounds funny, but these step-by-step videos really helped me develop my first app. It was called jPuzzle, an app that lets you turn any photo into a jigsaw puzzle. After that, I made my first game called Kosmo, which was a kind of a space puzzle, and then a time travel puzzle game called RoboWrap. So, as you can see, I started with well-known mechanics and something easy."
Plan out your brilliant idea
Game development starts with an idea and a concept. Often, the idea is based on a modification of an existing game concept and may fall within a specific, or several different, game genres. A game maker by nature, Chris sees great new game ideas everywhere. The concept for Takara, one of his first Bitcoin games, sprung to mind in quite an unusual place:
"I was at this party and after a few beers, I looked at the floor and saw coins lying there. They turned out to be bottle caps. But it got me thinking, what if I could make an app where people drop Bitcoin on the floor and others can pick it up? So, I did it, and it was a success!"
Sometimes you think of a great idea, but it may need more than one pair of developer hands. You need to be aware that regardless of how many hours you put into your project, it may still require the help of additional team members. Chris stresses that, at first, settling on something you can pull off alone is crucial:
"Try to make something simple and aesthetic rather than complex. It's always tempting to try and make something with AAA graphics. But, to be honest, you probably won't pull it off as a beginner. However, indie devs can still make something in a beautiful artistic style that’s relatively simple. Monument Valley and Two Dots are good examples of technically undemanding games that are popular just because of their visual appeal."
There is no standardized development method. Everyone does it in a way that suits them best. However, some commonalities exist across all methods. When you have an idea, you need to write an initial game proposal that describes the basic concept, story, gameplay, the setting, a list of features and other possible actions.
Choose the right programming language and software
Picking the best programming language for your project comes down to two things: your fluency in a given language and your long-term goals. Coding in a language you’re most comfortable with will obviously be faster and easier, but you should also consider compatibility if you ever plan to extend your game across more than one platform. This is a lesson Chris learned the hard way:
"When I first started making mobile games, I made them natively for iOS. But when it came to making an Android version, I had to rewrite the game in Java from scratch and then manage two code bases. So, make sure you think about that before building your mobile game and use an engine which supports building for both platforms, such as Unity."
Coding doesn’t all have to be manual labor. Luckily, there are several really useful development tools that do a lot of the coding for you so that you can focus more on the creative aspects of your game. These are the most popular:
- Unity: The most widely used software among mobile game developers that’s entirely free and has very high graphics capabilities. It's a cross-platform game engine that allows you to develop 2D and 3D games. That’s what Chris went with, and it remains his first choice.
- Unreal Engine: Devs have come to expect high quality software from Epic Games, and for good reason. Unreal is a free, real-time, 3D creation tool that will help you create photorealistic visuals and immersive experiences. You can even start building on a pre-made basic project, which makes it even easier to get going.
- GameSalad: A drag-and-drop tool that requires absolutely no coding knowledge, as it uses a "behavior-based logic system". It’s remarkably powerful and allows you to easily port your games onto iOS, Android and Windows with the click of a button.
Start to develop and design
It’s tempting to think of developing an AAA game with a fantastic story, effects and mechanics, but Chris points out that you shouldn’t get ahead of yourself:
"The best way to start is to think of a game you'd like to make and find a tutorial for something similar. For example, if you want to make something like Sonic the Hedgehog, you can easily find a tutorial online, like ‘How to make Sonic the Hedgehog in Unity’. It's so much easier now, when we have so many resources online, than it was 15 years ago."
Try to keep things simple when you start, so you can quickly see the results. You should do something small and basic at first, like creating a simple behavior or movement mechanic. Make the controls easy and intuitive. When you get that going, the next step is to design your first level and add an engaging storyline. This is also the part when you import your graphics into the game.
You can create graphics yourself in Photoshop (for 2D graphics) or 3ds Max (for 3D graphics). But sometimes, it's better to outsource your graphics to another designer, as they can often do it much faster and produce better results. Chris collaborates a lot with others, like his sister Rachel Moss – a designer at ZEBEDEE.
After you're done implementing graphics, it's time to test. And then… test again. And again. When you’re confident the game works as intended and you’ve ironed out most of the glitches and bugs (and there are bound to be some), you can proceed to the next level: creating the interfaces (screens, menus, options). Don't forget to add some sound effects and create the mood by using fun, but not distracting, music.
What's next? Another round (or hundred) of testing, of course.
Think about monetization and retention
If you want to earn revenue from your game, you need to develop a monetization strategy. Several approaches can help you make your game profitable:
If you're an indie developer, you'll probably choose the first or the second option. But be careful how you implement ads and in-game purchases, since these kinds of monetization tactics can take a toll on your game’s appeal and overall user retention. If you want a sure-fire way to attract users and keep them playing, there is another way: Enter ZEBEDEE. We offer a completely different mechanic for introducing money into your game in a seamless and, most importantly, fun way. We do it using Bitcoin.
Have you ever heard of the "Play-to-Earn" concept? It’s simple: you play a game and you’re paid a little bit of Bitcoin if you do well. Developers employing Play to Earn report that in-game rewards massively lower acquisition costs and can double player retention (check out the stats here or here). You can even spice up your in-game mechanics and have specific actions trigger micro-payments (or nano-payments). All this is made possible through an easy-to-use Developer Dashboard with all documentation and instructions you need to add a real economy to your virtual worlds.
Release your first mobile game
- Submit your game to stores
Before release, you have to make sure that your game satisfies the criteria of the platform where you’re publishing. Take some time and read through all specifications required to submit your app. Google Play and the Apple App Store have strict (and very different!) requirements that need to be satisfied before submitting.
"When I came across Bitcoin in 2013, I didn't know anything about it, but it seemed awesome that you could have programmable money in games. The first thing I wanted to do was let people make in-game purchases with Bitcoin. But when I submitted my game to the App Store, it got rejected by Apple because, at the time, you weren't allowed to do that. So, I turned it all around and decided to put Bitcoin in the game as a reward for players. Anybody who downloaded and played the game would get some Bitcoin. My app was published and got a lot of success. So, don't give up when you get rejected or can't find an audience for your game. Look at it from another perspective, try different mechanics, and I'm sure you'll find an even better solution than you had at the start."
2. Do a soft launch
Your first game will never be perfect, so avoid the common mistake of trying too hard to get it right the first time. It will only delay your game's proper release. It's better to get the game to market and see if it finds an audience. You can plan a soft launch first, releasing your game only in select countries or stores. This will allow you to have a semi-closed off testing environment where you can fix glitches and improve the game before a larger, global release. Having a group of enthusiastic players explore every nook and cranny of your game first won’t only make it easier to catch bugs, it will also give you lots of motivation to continue developing.
3. Promote your game
After submitting your game, make sure you polish every detail of the game’s profile page to a mirror finish. Provide an intriguing description and visuals, include a video with gameplay, and don't forget to research which keywords to use for optimal search engine visibility. App store algorithms always look for keywords, a well-written description, and optimized titles. Deciding on those before your game's release is ideal. Make sure you also have some spare budget to promote your game outside of your friend circle by paid advertising on social media, leveraging GDN, creating a website, or even visiting gaming conferences.
Feeling up to the challenge?
Developing your own game isn’t easy, but it is a dream come true for those who really love gaming. Chris says he enjoys his job so much it feels more like a hobby rather than a grueling 9-to-5 affair. Seeing how many people play and love his games always brings a smile to his face – it's definitely worth all the learning, designing and coding.
We’d like to thank Chris for taking some time and sitting down with us to share these really helpful tips. If you need more specific advice, feel free to contact Chris Moss on Twitter.