Lessons from Angry Birds: My Thoughts on Android Game Tutorials
Join the DZone community and get the full member experience.Join For Free
i would like share a few thoughts about designing tutorials for an android game app. the game, which is a space war game, is not extremely complex but there is enough there that a casual player might have trouble getting started. commanding a starship is, after all, not a simple task.
in this article, i will tell you what i did about that problem. i will tell you about what i learned about game tutorials from angry birds and how i built that into my own app. figures 1 shows the end result in the starship game. figure 2 is an angry birds tutorial. to see the animations, there is a youtube video later in this article.
figure 1: tutorial for how to dock a starship
figure 2: how to use the slingshot in angry birds
there is a little bit more to the story than angry birds. i also have been studying gamification and found several good presentations with advice from game designers about what helps you make good design decisions related to onboarding new players. i will discuss that too.
lessons from angry birds
several months ago, i decided that i needed something to introduce players to the game that was more engaging and easier to grasp than written instructions on a screen. i looked around, but i didn’t find any advice that was particularly compelling about how to do this for an app. looking on my phone, i asked myself: “what do other games do to get people engaged in the game and get them started?” two old favorites do a great job with some simple animations: fruit ninja and angry birds.
take a closer look at angry birds. when you first install and start, the game does two things for you early on. first, they tell you the story of what your task is, in only two screens — pictures, no words. the nest is empty; the eggs are missing; the pigs have the eggs; you must get them back.
then comes the one and only bit of instruction. you see a simple animation that shows you how to touch the screen and pull back on the slingshot. that animation repeats until you, the player, get it and hit the next button (a checkmark). at that point, you are ready and the games start.
angry bird became my model, at least as far as tutorials are concerned. a tutorial view pops up on top of the game and runs an animation. in the animation, a finger moves, screen touches are shown, and the resulting action is illustrated. the animation repeats until the player touches the next button, ideally indicating that the instructions are understood. two screenshots from my starship game are shown below.
unlike angry birds, there is a lot to learn in the starship game. to command a starship, you have know these things: how to move, how to fire weapons, how to repair, how to scan for aliens, how to locate starbases, etc. originally, i had thought that a few pages of help would be good enough. you’d read a few pages to learn what commands were available to you as a starship captain and off you’d go. well, it didn’t take long to realize that there are way too many commands to qualify as “a few pages of help”. besides, most people don’t want to read. they just want to shoot some aliens.
i adopted the angry birds style of tutorials and found ways to make use of them in the overall onboarding experience for new players. level 1 of the game is where new players see them. (more on that in the next section.) in total, there are over ten different tutorial animations in the starship app. you’ve seen a few screenshots above. if you want to see them in action, you can see several of them in the following short demo video.
lessons from game design
i have done a lot of research on game design and gamification lately. some links are provided in the references section below. one of the most useful references was a presentation by amy jo kim titled “ smart gamification: seven core concepts “. the topic is gamification, but what amy jo kim does is share tips and advice that are based on her experience as a game designer.
the most important lesson for me was the concept of a player lifecycle. there are three stages: novices, regular, and enthusiasts expert. amy jo kim suggests that you design the player journey from novice to expert.
for that point in the presentation, go here: http://www.youtube.com/watch?v=f4yp-hgztua#t=501 . the whole presentation is great. be sure to listen to it.
amy jo kim also says: ”newbies need to learn the ropes … think about the first 1-2 months of the player’s experience”. she urges you to figure out the “arc of learning” that you will guide newbies along.
i took that to heart and made the entire first level of the starship game be the training level for newbies. i incorporated that into the flow of the game. the game begins with you in training. you take on training missions which allow you to advance through the ranks of weapons officer, navigator, commander, and finally, captain. upon promotion to captain, you are given command of a very powerful starship. your mission as captain is to find and destroy alien starships that have invaded the galaxy.
even as captain, your first few missions are in region of the galaxy that is smaller in size and that has few alien ships to destroy. that, i hope, further smooths the transition from newbie to regular.
does it work? is it effective?
i have told you a little about what i did and why. two main things were tried:
angry birds tutorial style
difference – many tutorials, not just one.
- amy jo kim’s suggestions for player lifecycle
i tried to make onboarding interesting by having the player advance through the ranks. i tried to create a sense of achievement and reinforce that with badges for individuals and ranks.
the following questions are unanswered, and i was hoping that some of you android developers and other blog readers could help me out.
- does an angry birds style tutorial work? do you really know what to touch to make something happen?
- is it effective to earn ranks while you learn the game?
or does it make it look like the game is not interesting?
in other words, does it take too long to get to a game that’s fairly challenging?
you will have a better sense of the game experience if you try the app. it’s available in the google play store as an alpha test app. to get the app, just visit the starship app community on google+. click the image below or the link below it. once you get to the community page, click the “ask to join” link on that page to request an invitation. download instructions are on the community page.
if you have any general thoughts on game tutorials or comments about the tutorials in starship, i’d appreciate hearing from you in the comments section below or within the alpha test community.
demo example and source code
in a future article on this blog, i will explain how i built the tutorials. i started with the animation examples in android api demo sample app and saw how they had a set of objects define drawing operations on a canvas. i built on that idea so i could have several animations working in combination for a tutorial.
i have been studying game design, gamification, and other topics over the last 18-24 months. many of the ideas for tutorials and onboarding that i am trying in the starship app were inspired by the following presentations.
fun is future: mastering gamification
some of his points:
- onboarding tutorials should be built into the first level of the game.
- “the early days of any game are super important …”
- “what we used to call the tutorial level, but now we just call it level 1″:
- “in the olden days …” and ”… reveal the complexity of the game in slow steps”.
amy jo kim
smart gamification: seven core concepts for creating compelling experiences .
for the key points, see the “lessons from game design” section above.
in general, anything you find from amy jo kim is worth looking at. here are two more that i recommend: lifecycle design for social games , smart gamification: designing the player journey .
Published at DZone with permission of Bill Lahti. See the original article here.
Opinions expressed by DZone contributors are their own.
How to Handle Secrets in Kubernetes
Measuring Service Performance: The Whys and Hows
How To Use the Node Docker Official Image
Building and Deploying Microservices With Spring Boot and Docker