Blog Archives

Analyzing Your App Using Game Thinking: Part 2 – Complexity

In this series of articles, I am taking a look at how innovators and entrepreneur developing non-game apps and other products through the application of Amy Jo Kim’s Game Thinking process can analyze their work using some of the factors that game designers use to determine that the games they are developing are delivering the desired player experience. Last week I discussed how to analyze an app in terms of its Difficulty. This week I will focus on its Complexity.

Complexity: The number of rules or game elements that the player must understand and interact with.

Complexity and Difficulty can be interrelated, as it may require a high degree of skill to memorize a vast number of game rules or maneuver around a multitude of obstacles to achieve a game’s goals, but the two factors are not synonymous. For example, it may be very difficult get past a single obstacle, and achieving a goal may require a doing a number of actions correctly, each one of which is easy to perform.

Here is a chart for distinguishing between Difficulty and Complexity:

The first rule of game design is that a game should be easy to learn but difficult to master. The “hard to master” component of the rule means that it has high depth, a factor that we will look at in a later article in this series.
The “easy to learn” component means that the game has low complexity, because the higher the complexity, the harder it is to learn how to play the game.

It’s not just the number of rules alone that can make a game complex, but how difficult they are for the player to understand. In order to apply rules and make decisions about how to interact with game element, the player needs information about the game state. However, a cluttered or non-intuitive interface can contribute to a game being too complex.

Yet another problem that can increase a game’s complexity is the player not being able to plan many actions ahead or not being able to understand the consequences of the actions that are taken. An overly complex game design can have so many different elements determining the outcome of a player’s actions that the player may not be able to comprehend all of the relationships between the elements in the game system.

Of course, these same design issues can adversely affect the user experience of any type of software application, not just games.  When an app is too complex, users may feel like their actions will not allow them to get the desired utility out of the app, either because they don’t know what to do or what effect their actions will have.

So, how do you find out if the app is too complex?  Ask your users during playtesting!  “How simple or complex was the app to use?”  “Did you understand the instructions?” “Was there any time while you were using the app that you did not know what to do next, or how to do it?”

If your playtesters found the app too complex to use, game designers have come up with a number of remedies.

  • Providing a tutorial that helps the user learn how to use an app.  A well-made tutorial or other form of automated assistance can mean the difference between users bailing out at the Onboarding Stage and continuing onward to the Habit-building Stage.
  • Provide additional information and information about using your app outside of the app, such as through a website or a customer service line.
  • Allowing new users to get utility from the app by using only a few basic features at the beginning, and then drawing their attention to secondary or more advanced features as they become more experienced with the app.  This, along with establishing the right level of difficulty of those features, can provide a smooth learning curve that will get them through the Onboarding Stage and well into the Habit-building Stage.
  • Reducing the amount of information or number of elements that must be considered when making decisions about what actions to perform.
  • Reducing the number of relationships between different app elements (e.g.,  Feature A affects Feature B, which affects Feature C, which affects Feature D).
  • Reducing the amount of attention swapping the user has to get information from more than one screen or metric to make a decision about what action to perform next.
  • Providing information about the effect of an action before the user takes that action.
  • Combining sequential or related actions together into a single action.
  • Automate some app features so that the user does not have to continuously control or monitor them.

Still, a game designer may not want to reduce a game’s complexity to its bare minimum, as that may also strip away any opportunities players have to experiment or exercise creative control. So, a designer’s goal may not be to create a game with the minimum complexity, as that will restrict a game’s depth, but the right level of complexity.

To do that, we also need to ensure that the game has the right amount of depth, which we will discuss in next week’s article.

Analyzing Your App Using Game Thinking: Part 1 – Difficulty

Two weeks ago I had the great pleasure and privilege of participating as a coach at Amy Jo Kim’s Game Thinking Live event, a two-day training seminar introducing innovators and entrepreneurs to principles of game design that can be applied to the development of their own non-game products to make them more engaging. As I went over the training materials in preparation for my coaching responsibilities, I thought about what I teach my own game design students at The Los Angeles Film School, and one additional thing that I thought might be helpful to innovators was to show them how I teach my students to analyze the games that they are developing to ensure that they are delivering the intended user experience.

Five factors that I cover on in analyzing games are difficulty, complexity, depth, pacing, and replayability, and in post I will focus on…

Difficulty: The amount of skill a player needs to overcome the game’s challenges.

For challenges in games to be engaging for players, they need to have the right level of difficulty. When players play a game for the first time, their skill level for playing that game is low, but it will likely improve as they continue playing a game. However, if the game’s challenges exceed the abilities of the players’ current skill level, it can lead to frustration. Conversely, if players’ skill level is increasing faster than the challenge, it leads to boredom. The results of both of these situations is the same: players will leave the game.

Yet if the difficulty of a games’ challenges increases at the same rate as the player’s skill levels, it can keep the player engaged in the game. This balance of difficulty is an important factor in keeping the player in a state of flow: the mental state in which a person performing an activity is fully immersed in a feeling of energized focus, full involvement, and enjoyment in the process of the activity. When players experience flow, time stops, nothing else matters and when they finally come out of it, they have no concept of how long they have been playing.

So, what does this have to do with creating an app that isn’t a game? Well, a project that is created using Game Thinking begins with implementing its core learning loop. This is the basic level of engagement in your app. It is comprised of the following elements:

  • A repeatable, pleasurable activity that’s connected to an internal or situational trigger.
  • Feedback that drives learning and skill-building.
  • Progression and investment with re-engagement triggers.

Take a look at the second element.  Feedback that drives learning and skill-building.  When you play a game, you gain skills and knowledge that prepares you to take on greater challenges.  The same is true with using an app.  As you use an app, the skills and knowledge you gain transforms you as you engage with the product experience, allowing you to gain more value from the app.  Setting your app’s difficulty properly helps to ensure that there is a smooth learning curve for the user to advance from Onboarding to Habit-Building  and increases the likelihood that they will continue on in the Player Journey to Mastery.

If you are to transform your players, must properly adjust the difficulty of using the app to the user’s skill level.  How do you know what the appropriate skill level is for your users?  Simple: ask them during playtesting, “On a scale from 1 to 5, with 1 being very easy and 5 being very difficult, how difficult was it to use this app?”  You can also ask playtesters how empowered they felt using the app or whether the app did what they wanted it to do, since negative responses to either question might be a result of the app being too difficult for them to use.

Remember that the difficulty of an app is individual to each user, so be sure to collect this information from a wide pool of playtesters.  Also be sure to collect information when they first begin using this app and at multiple points during their Player’s Journey, because their skill will improve the more they use your app.

Unlike games, most apps can never be too easy to use.  But what should you do if your playtesters tell you that your app is too difficult?

One potential solution might be to provide more information about how to perform the various actions in your app or even about what the purpose is of some of your app’s features. Information can be given through help screens, tutorials, tips or even by encouraging your users to discover on their own through experimentation about how features work.

Another potential solution to try is to give users more of whatever resources they need to perform the app’s actions — whether that resource be time, points, virtual currency, or data.

When users report that they need more time to perform your apps actions and there aren’t any direct time limits implemented in your app for you to adjust, such as the delayed effect of performing an action due to your app’s performance speed, it may be that any aiming mechanisms (whether be how your users aim a camera for taking a photograph or aiming their fingers for touching the correct user interface location) needs to be re-evaluated.  Or if the user needs to perform a combination of key-presses to perform at time-sensitive action, you may need to find a way to revised the user interface to make fewer key-presses necessary or not require the user to be as dexterous when using multiple or complex control mechanisms. Users may even report that they don’t have enough time to perform actions simply because there isn’t an effective indicator that tells them they are ready to perform that action.

If your app allows users to perform certain actions until they’ve accumulated enough points or currency to do so, but users report that doing those actions is too difficult, the solution may be a simple one — either don’t be so stingy in awarding points or currency required to do later actions, or lower the costs of those actions.

In the case of your users reporting that they don’t have enough information to successfully perform actions in your app but you know that you are definitely providing that information to them, you may be requiring the users to memorize too much information, and it may be necessary to move (or duplicate) the data display to be closer on the user interface to where the user performs the action needing that data.

Requiring the player to memorize too much information or operate too many controls may be an issue of the app not being too difficult, but being too complex, a problem that we will examine in detail next week.