When we create games, our goal is to create an experience enjoyable enough that it holds the player’s focus as long and as intensely as possible. When something captures our complete attention and imagination for an extended period, we enter an exciting mental state. The rest of the world seems to fall away, and we have no intrusive thoughts. This is Flow.

I’ve analyzed how multiple games keep players in Flow:

Because controlling flow is vital to our game’s life, let’s discuss the various ways that games can control flow. Can you think of times in games that you were in flow? What about times you wanted to stop playing? Examining your experiences will lead you to see that the times you felt out of flow were feelings of boredom or frustration. Therefore, we must avoid allowing players to be bored or frustrated for too long.

To prevent boredom, we could:

Keep the game challenging for the player

Vary the activities the player performs

To prevent anxiety/frustration, we must:

Keep the difficulty of the challenges at a level they find reasonable

Make the game understandable and usable

Since controlling difficulty is essential for both of these let’s start with that.

Difficulty Control

One way, possibly the most important way, to control flow is by controlling the difficulty of content players will be playing. If at any point a player finds the game too easy for too long, it will lead to boredom. If a player finds the game too hard for too long, they will become frustrated.

We must remember that as a player plays more of our game, they will increase their skill. So, over time, we must gradually increase the skill we require of the player to prevent them from being bored without making it too hard.

Tense-And-Release Cycles

We can craft interesting experiences by manipulating the flow curve over time. Regarding difficulty, we might want to make the game intentionally easier or harder than a players skill level to make the game more unpredictable.

One way to vary flow over time is by using a fractal flow curve which we can see in in the common sequence of challenges in platformers. Levels gradually increase difficulty over time, but the next level starts out easier than the end of the previous level. Additionally, at the end of the world, you usually have a level that’s harder than most in the following world, culminating in a boss.

The Art of Game Design describes why variations in difficulty are valuable perfectly: “This cycle of ‘tense and release, tense and release’ comes up again and again in design. It seems to be inherent to human enjoyment. Too much tension, and we wear out. Too much relaxation and we grow bored. When we fluctuate between the two, we enjoy both excitement and relaxation, and this oscillation also provides both the pleasure of variety and the pleasure of anticipation.”

Handling Multiple Skill Levels

Being one of my favorite topics, I have a post devoted to this topic.

There are millions of players, and everyone is different. Some players aren’t very good at our game (low-skilled). Others are quick learners, used to our genre, or are just playing the game a second time making them good at our game (high-skilled). If we want to attract as many players as possible, we must design our game around having different player types.

Part of player-skill is the skills and attributes of the character they play. Many games, notably RPGs, have some sort of progression system where characters in the game naturally get better. In RPGs, we see this manifest by people grinding to level up. This is a complication in our difficulty adjustment. Players could overlevel and find everything too easy. Depending on the experience we’re crafting, it might be okay, but in general, we want to be careful so that players who are underleveled and overleveled can both be in flow.

The Chocobo Eater in FFX is a great example of using negative feedback to try to get all player types to even out by forcing underleveled or unskilled players to have to fight more battles to level up while overleveled or skilled players can get a Chocobo to ride in safety avoiding battles for a while.

Usability

To be in flow, players must not be frustrated. While we know frustration can come from anxiety over too much challenge, it’s even more important for players to understand how to use the game. What does this entail:

Controls must be understood

Goals must be presented clearly and understood Even player-created goals that aren’t “goals” listed by the game must be presented clearly. For example, in the Grand Theft Auto series, players often make their own goals in the sandbox environment as the game designers intended. The game designers presented the world in a way that made players want to form these goals.

Players must get direct feedback for their input

If a player wants to do something and has the ability to do it, it must be simple and quick to do This is the main usability problem with the sphere grid. It takes minutes to level up characters on the sphere grid UI. For me, this added over 12 hours to my playthrough, just spending time in the leveling up screen.

If a player wants information that the game provides to them, they must be able to get to it quickly Xenoblade 2’s UI suffers from taking the player a long time to get to the menu they want to go to.



It’s beneficial for game designers to know some general usability guidelines to make sure players never get frustrated over not being able to use the game correctly.

3D platformers have never been as popular as 2D platformers. Why? One potential reason is related to flow. 3D platformers have more complex usability requirements than 2D platformers causing a higher initial skill required. More casual players tend to get lost in these worlds and can’t find flow. 2D platformers avoid this by making the main goal to simply go from left to right, a much easier goal for people to wrap their minds around with simpler controls to understand and use.

Varying Activities

Sometimes even well-balanced difficulty with great flow curves can last long enough to bore players, taking them out of flow. While your primary goal should be to think of more ways to create challenges for mechanics that currently exist in the game, another way to counter boredom is through changing what activity the player is doing. Balancing activities can be through adding more ways to play in the game, breaking up long periods of the same activity, or manipulating the goals the player is working towards.

RPGs, being lengthy experiences, change up the activity the player is doing by adding scenes, towns, fields, dungeons, battles, mini-games, etc. In games where there aren’t many types of activities, the experience may be more focused, but it’s harder for players to be in flow. FFXIII springs to mind. One reason why fewer people minded the linearity in FFX than FFXIII was the variation in activity through towns, NPCs, and optional content.

Zelda Breath of the Wild is a master at giving the player multiple activities. Designers built everything in the game around letting the player choose their own goals to complete as well as how they want to achieve them. This essentially allows gamers to choose their own activities they want to partake in at any moment, a common theme in sandbox games like Grand Theft Auto.

It’s important to watch how many activities you add to a game. Sometimes you can add too many different playstyles to your game leading it to be unfocused and incohesive. This is a trap that 3D platformers fell into. Some RPGs also fall into this trap, such as FFX’s end-game being mini-game focused.

Conclusion

Flow is vital to our games. Keep a player out of flow for too long and they will put our game down, possibly forever. Here’s what you can do to keep your players in flow:

Make your games usable and understandable. Start by understanding usability rules.

Maintain challenge in the Goldilocks zone of not too hard and not too easy

Plan for multiple types of players and skill levels

As a last resort, vary the activities the player can perform in the game

In Part 2, I discuss specific approaches of controlling difficulty for multiple types of players.