Essential iOS Game Design Tips, Pt. 2

About two weeks ago, I posted Essential iOS Game Design Tips, Pt. 1 to celebrate the beginning of what I affectionately call “Game Conference Season.” 🤪  In that article, I touched on some basic iOS Game Design principles as well as some key User Interface and User Experience considerations that I thought would be helpful for all you game designers out there.  Now, in Part 2 of this series, I’m going to go a bit deeper into a few other really important topics: On-boarding and Core Loops. 

I think we all know that on boarding can make or break any experience — games or otherwise (if you didn’t know, now you do!).  From hardware, to software to even checking into a hotel (gaahh… memories of a recent crappy experience), well executed on-boarding is like a great first impression that can quickly win you customers, or quickly turn customers off.  Equally as important is creating a great user experience.  This can really lock users into your product, experience or brand.  So let’s jump in and discuss some essential on-boarding and user experience tips. 


Creating great on-boarding is important — really important.  But, it also can be difficult—  really difficult. So, as game designers, you need to make sure you are spending enough time scrutinizing your on-boarding and tuning it to be as effective as humanly possible.  The goal is to teach the user the principles of your game in a short, concise, effective and fun way.  Nothing will replace iteration but the themes below will help you think about your on-boarding in the right way. 

Make Learning fun

Have you ever had really… REALLY.. REALLYYY boring class?  Likely, it wasn’t just the content, it was the teacher! haha.  People learn much better when they are motivated because  it helps them retain information more effectively. While teaching your users  make sure your on-boarding doesn’t feel like a chore. Remember, if users are not REALLY enjoying your “class” (your game), they simple will close it, delete it, and move on.  They are not obligated to stay in YOUR class if you are the boring teacher! 

Try doing things like teaching them before the game even begins by using loading screens to keep users engaged an entertained before getting into the game.  Also, always stay away from bouncing arrows and hands (OMG phantom hands! ugghhh!)  These make learning mundane, boring and ineffective.  When you use either bouncing arrows or floating hands to direct people through your on-boarding process, they just end up mindlessly tapping objects to advance without learning anything. The floating hands (again, argh) also have another unique problem —  they tend to block a good amount of the actual app User Interface. Instead of using bouncing arrows and floating hands, do as much of the directing as possible with subtle, elegant animations that encourage users to tap interactive elements. One of the most important strategies to use during on-boarding to help make learning fun is to allow users to learn through actually playing. Don’t just talk AT them, but build your game in a way they NEED TO PLAY to learn.  This will give your users a sense of adventure, excitement and enjoyment even as they are still learning the game experience. 

Clear & Concise 

One of the iOS design principles that I touched on in my previous post was Clarity. There is literally nowhere in your app where clarity is more important than in on-boarding. Simple, easy and unambiguous on-boarding is a must! Your users should not have any doubt as to what you are directing them to do. 

Alto’s Odyssey by Snowman does a great job of teaching the basics in a clear & concise way.

In addition to being clear, you also need to be concise. Users are not going to have the patience to go through tap after, tap after tap of on-boarding before they even have had a chance to enjoy the experience, so make sure your on-boarding isn’t long and arduous. This can really turn users off right away and make playing your game feel like a task.  Many people may ask, “well, how do I give users a clear understanding of my game mechanics if I have such a limited time to teach them?”  Well, the answer is to stick to the core elements of your game intially. Not every game is a Crossy Road, or (the infamous) Flappy Bird where the game mechanics are pretty much understood from the beginning. With these games, there is little to no need for traditional “on-boarding.”  But if your game is more complicated, give the the user enough on-boarding at the outset to get them started in the game, and then begin layering in other content later in the game experience. Economy should never be taught right up front.  Teach these concepts once the users have a clear grasp of the game mechanics because if you try to teach these this too early, users may not understand the significance of what you are teaching them.  Economy can also be very complicated, so you don’t want to give your users too much to chew on at once. 


If you have read any of my other blogpost, you know that (yet another) one of my pet peeves is when developers ask users for permission as soon as a user launches their app. Don’t do this! — Not just because I say so, but because it is ineffective.  At launch, the user doesn’t know you, they don’t trust you and they have no clue WHY this puzzle game is asking for permissions to use their camera and microphone. Maybe, just maybe, you are a spy! 🤷🏾‍♂️ Always ask for permissions in context! If a user taps a “Live Weekly Tournament” but the tournament isn’t going on at the moment, ask them if they’d like to be notified when next week’s tournament goes live. THEN, clearly state WHY you need permission. THEN, ask for permissions to send them push notifications. 

Black Box by Grow Pixel does an amazing job of asking for permissions in context as well as being clear as to WHY they are asking for these permissions.

Black Box by Grow Pixel does an amazing job of asking for permissions in context as well as being clear as to WHY they are asking for these permissions.

People’s privacy is the most important thing to them and they have become very suspicious of apps (sorry to inform you).  So make sure if you are asking for them to give you additional access to their life, you are presenting in a  way that makes them feel comfortable.  If they don’t feel safe, they will deny your request and maybe even delete your app.  Lastly, this goes without mentioning: ALWAY RESPECT YOUR USERS PRIVACY.  There are a good amount of safeguards built into the iOS Developer Program T&A that aim to protect users’ privacy, but you should always still act in good faith. Never use permissions for things that they shouldn’t be used for.  It’s distasteful and at worse, it can get you kicked off of the App Store (I’ve seen it before). 

Core Loop: 

So, what IS a core loop? A core loop is a series of actions that a user repeats in a game which allows them to advance in the gameplay experience.  So, in classic racing games like one of my favorites, Need For Speed, the core loop is: win races, win cash, upgrade your cars. Your upgrades allow you to perform better in races, which allows you to subsequently win more money, then upgrade your cars again… and so on, and so on.

Screen Shot 2019-04-09 at 7.13.45 AM.png

Your core loop is quite simply the heart and soul of your game. Without a great core loop, you don’t have a great game. It is so important that I would say the “holy grail” of game design is creating a core loop that is easy to learn yet difficult to master. 

Easy to Learn: 

Your core loop should be easy enough for users to understand almost immediately. They should know pretty quickly what the main goal of the game is, what tools they can use to help them achieve this goal and what is the reward from achieving this goal. If it takes too much for a user to understand the very basics of your core loop, then you are likely going to run into problems as you add in layers of complexity with items, characters, power-ups, etc.  To achieve this, always start easy to help users learn the core concepts of the game.  This doesn’t mean the GAME ITSELF needs to be OVERLY EASY from the start,  (that really that depends on the type of game you have), it just means the COMPLEXITY level should be simple.  After you initially expose your core loop to your users, give them some reps to truly understand the loop and build confidence while adding in layers of complexity along the way.  This will help your users build muscle memory and allow them to get comfortable with the nuances of your game. 

Difficult to Master: 

What really makes a game addictive to me is the ability of designers to make the games JUUUUSTT hard enough for users to feel like if they play ONE MORE TIME, they can win.  These are the types of games that make you play over, and over, and over again — because, well, “I allllmooostt got it!” This sounds like an easy enough concept right? It is! But the execution isn’t — NOT AT ALL!  

It is something of a science to create a game that increases in difficulty just at the right rate as users skill level increases. The trick is finding the right “ramp.”  If the ramping happens too slowly, the game becomes too easy which then puts you at risk of boring your users. If the ramping happens too quickly, the difficulty level outpaces the user’s skill level, which in turn can serve to discourage the player. Both of these can be detrimental to one of your most important game metrics, retention. Great game developers strike this balance perfectly by tuning their games to gradually increase in difficulty in a way that feels fair but challenging.  Really, they tend to have a knack for making users feel like it is their fault they lost the last round 😂😩.  “If only I was timed that a bit better!” “If only I was a bit faster” “Man, all I need to do is be a little earlier on that combination.” You want your users to be saying these types of things to themselves rather than “this is too hard”, “I’m never going to beat this level” or, the infamous “this game is cheating!” (For the record, I’ve never said that 😳😂). The goal is to tune your game in a way that motivates users to do better the next time.  

Chameleon Run by Noodlecake finds a way to balance the increased difficult of the game with the increased skillset of the user. They do a great job in finding that balance that makes you want to try again and again, while adding in complexity to the core loop (orbs, boost, etc).

An effective way to ramp your game is to introduce a specific skill during a certain level.  Then, in each subsequent level, requiring users to use that skill in gradually increasing complexity to pass the next level.  This can help ensure your users are both not bored with the simplicity of the game but also are not discouraged about the difficulty. 

Again, on-boarding and core loops are really two of the most scrutinized (and rightfully so) aspects of game design because they can have the biggest impact on the most important factors for mobile games: retention and engagement. If you can get these right, you can really put yourself in a great position for success on iOS. I hope that this was helpful! 


akil king