Strange motivation loops in mobile games

In a mobile game like Clash of Clans, game designers expertly move the player from one motivation to the next with nary a moment of low pull. I wrote about this in Motivation Loops in Mobile Games.

The movement of the player’s motivation in this scenario seems to have the properties of a strange loop in the Douglas Hofstadter sense. Here’s how he defines it in I Am a Strange Loop:

And yet when I say “strange loop”, I have something else in mind — a less concrete, more elusive notion. What I mean by “strange loop” is — here goes a first stab, anyway — not a physical circuit but an abstract loop in which, in the series of stages that constitute the cycling-around, there is a shift from one level of abstraction (or structure) to another, which feels like an upwards movement in a hierarchy, and yet somehow the successive “upward” shifts turn out to give rise to a closed cycle. That is, despite one’s sense of departing ever further from one’s origin, one winds up, to one’s shock, exactly where one had started out. In short, a strange loop is a paradoxical level-crossing feedback loop.

This is just what’s happening to the player in a game like Clash of Clans. You want gold so that you can upgrade your building. You want to upgrade your building so that you can get more gold.

More posts about loops:

Retention in mobile apps: it’s about habit

Mobile app developers want retention. Greater retention means more active users, more content creation, more virality, more conversion likelihood, and for subscription apps, greater renewal likelihood.

So how do we get users to retain?

It’s about habit

Retention is engagement repeated over some span of time. Engagement is simply a person using your app. At a bare minimum, that means opening the app. So retention is a user opening your app and then opening it again after some span of time.

How do you get a person to do something? Well, people generally do things for two reasons: either the behavior is “goal-directed”, which means the agent performed the action because he wanted some outcome, or the behavior is “habitual”, which means that the behavior was more or less automatically triggered by some context.

Goal-directed behaviors require a bunch of cognitive stuff: the agent has to be aware of the potential outcome, has to be motivated to get that outcome, has to believe that he can do the action to get the outcome, and has to be not otherwise deterred or distracted. It can be relatively easy to leverage goal-directed behavior to get an agent to ‘engage’ one time — open your app. But it’s exceedingly difficult to use goal-directed behavior to get an agent to engage with your app again and again over a span of time. The agent’s motivation will fade, his attention will be drawn elsewhere, and he will forget about you.

Habits, however, don’t require so much fickle circumstance to line up. Habits are automatically triggered by the context. They’re stable. If a behavior is a habit, then the default is that the behavior will occur when the context occurs.

To achieve long-term retention, you need to make opening your app a habit.

Mechanics of habit formation

The mechanism is repetition of three parts of a sequence:

  1. the context
  2. the work or action
  3. the reward

Each time an agent goes through some sequence of context, work, and reward, a habit gets stamped in slightly more. What a designer must do is figure out how to get the user to go through that loop a bunch of times.

Here’s an example of how that might look:

  • Context: sit down on bus, feel bored
  • Work: take out phone and open app
  • Reward: gold and gems that you can immediately collect

Whatever it takes to get the player to run through that loop a bunch of times will be serving the goal of creating and reinforcing a habit that drives retention.

Read more about habits:

5 mobile multiplayer game development decisions

As you plan your mobile multiplayer game, you’ll need to imagine the experience you’re building and understand where it sits on these five axes:

  • Synchronous vs asynchronous play. Do players interact with the same game world at the same time, such that one player’s action changes the game conditions for the other player in real time? That’s synchronous. Or is it a turn-taking experience, in which one player goes, and then the other player can wait an arbitrary amount of time before going? Async.
  • Local vs remote. Do you imagine your players being in the same room, shit-talking each other while they play? Or are they in separate locations?
  • Competitive vs cooperative. Will your players be going against each other, or working towards a shared goal? Or both?
  • Single or teams. Will players work alone, as in a one-on-one game, or as part of a team?
  • Strangers or friends. Will players be matched with other players in the app, or do you imagine that they’ll need to bring their real-life friends into the game to play?

What is a product vision?

I’ve written some posts recently about product strategy. But a strategy is a roadmap for achieving some vision. What’s a vision?

Here’s one (partial) answer, from Jonathan Golden, director of product at AirBnB:

Your company vision is what you want the world to look like in five-plus years — outcomes are the team mandates that will help you get there.

Read more here.

Connection — it’s why we’re all here

I define connection as the energy that exists between people when they feel seen, heard, and valued; when they can give and receive without judgment; and when they derive sustenance and strength from the relationship.
– Brené Brown

by the time you’re a social worker for 10 years, what you realize is that connection is why we’re here. It’s what gives purpose and meaning to our lives. This is what it’s all about. It doesn’t matter whether you talk to people who work in social justice, mental health and abuse and neglect, what we know is that connection, the ability to feel connected, is — neurobiologically that’s how we’re wired — it’s why we’re here.
Brené Brown

What is “incentive salience”?

From Berridge, 2009 — Dissecting components of reward: ‘liking’, ‘wanting’, and learning

incentive salience, a type of incentive motivation that promotes approach toward and consumption of rewards, […] has distinct psychological and neurobiological features. For example, incentive salience is distinguishable from more cognitive forms of desire meant by the ordinary word, wanting, that involve declarative goals or explicit expectations of future outcomes, and which are largely mediated by cortical circuits. By comparison, incentive salience is mediated by more subcortically weighted neural systems that include mesolimbic dopamine projections, does not require elaborate cognitive expectations and is focused more directly on reward-related stimuli. In cases such as addiction, involving incentive-sensitization, the difference between incentive salience and more cognitive desires can sometimes lead to what could be called irrational ‘wanting’: that is, a ‘want’ for what is not cognitively wanted, caused by excessive incentive salience.

Session Loops

I’m thinking about loops in mobile apps. One kind of loop I haven’t talked about yet: “session loops”.

Michail Katkoff, former PM on Clash of Clans at Supercell, talks about session loops as part of the core loop of Clash of Clans in this article.

Basically, a session loop is a loop that the player can complete in one session. In CoC, that might be:

  • Log in, harvest resources from resource collector, close app and wait
  • Log in, harvest resources, start construction on a new building, close app and wait
  • Log in, use troops to attack, start building new troops, close app and wait

What’s a Loop?

Since we’re doing some analytic philosophy on game design and trying to bring clarity to the concept of “core loops” and other kinds of loops in games, let’s go to basics and figure out what a “loop” generally is.

In mathematics, according to Wikipedia, a loop is:

a path whose initial point is equal to the terminal point

In programming, according to these people, a loop is:

a sequence of instructions that is continually repeated until a certain condition is reached. Typically, a certain process is done, such as getting an item of data and changing it, and then some condition is checked such as whether a counter has reached a prescribed number. If it hasn’t, the next instruction in the sequence is an instruction to return to the first instruction in the sequence and repeat the sequence. If the condition has been reached, the next instruction “falls through” to the next sequential instruction or branches outside the loop.

So basically, a loop is some sequence where some agent moves from a starting point, to one or more intermediate points, and then back to the starting point.

In mobile game design, you want to move your player’s motivation in loops, because you never want the player to be without pull to pursue another goal.

You also want to structure your user flow in loops, because you don’t want to have to create endless content in order to give your players runway to keep playing. You’d much prefer to loop them through the same content again and again.

And you want your experience to evolve for each user in the form of a loop: with each action the user takes, the state of the app changes; this presents a new set of options for the user to take. As the user loops through this sequence, the experience should continually evolve such that the goals the user is pursuing become more and more meaningful.

Motivation Loops in Mobile Games

Game designers talk about core loops, compulsion loops, session loops, dual loops. I’m trying to sort out what that all means. I think nobody has really worked out the theory in clear terms yet.

Here’s one kind of loop. A “motivation loop” has the form:

I want A so that I can get B; I want B so that I can get A.

In Clash of Clans:

I want gold so that I can battle.

I want to battle so that I can get gold.

It’s imperative that designers think in terms of motivation loops (rather that motivation strings (or some other non-looping thing) because you never want to leave your user without “pull” to the next thing in your app. If that happens, you’ve probably lost him.