Case Study: Celeste --- Assist Mode and the Flow Channel


In January 2018, a small Canadian studio called Maddy Makes Games released Celeste, a 2D platformer about a young woman named Madeline climbing a mountain. The game was brutally difficult. A typical playthrough involved several thousand deaths. The physics were tight and unforgiving; a single mistimed dash could kill you, and often did. Reviewers praised the difficulty as among the hardest platformers ever made and the mechanical craft as immaculate.

Buried in the game's menu was a feature called Assist Mode. Its opening screen said this:

Celeste is designed to be a challenging and rewarding experience. If the default game proves inaccessible to you, we hope that you can still find that experience with Assist Mode.

Below that text were toggles. Slow down the game to 50%, 60%, 70%, 80%, or 90% speed. Get invincibility --- Madeline cannot die. Get infinite dashes instead of the normal one. Get infinite stamina. Skip individual chapters entirely.

The combination of a famously brutal game with radical accessibility tools shipped in the same package was not an accident. It was a position paper, written by the game's director Matt Thorson, about what challenge actually means in games and who gets to experience it. Celeste became the case study that other games cite when designing their own accessibility features, and the terms it established --- Assist Mode, granular toggles, non-judgmental framing, full content access --- have become the industry standard.

To understand why Celeste succeeded, we need to look at two things: the mechanical design that makes the default difficulty work, and the philosophical design that makes Assist Mode work.


The Mechanical Design: Flow Through Precision and Instant Restart

Celeste is a platformer with three core mechanics: run, jump, and dash. The dash is the interesting one. Madeline can dash once in any of eight directions while airborne. Touching the ground refills the dash. Some surfaces refill it mid-air (gems, specific platforms). The dash is the primary traversal tool; jumping alone is insufficient for most of the game's challenges.

The design that emerges from these three mechanics is striking for its economy. With just "run, jump, dash," the game constructs challenges that scale from trivially easy (early Chapter 1 screens) to brutally hard (endgame B-side and C-side content). The same tool is asked to do more and more precise things as the player's skill grows.

The game is structured as chapters, each composed of dozens of individual screens. Each screen is a discrete challenge. The screen presents a spatial puzzle: here is Madeline, here is the exit, here are the hazards in between. Solve the puzzle. When you die, you respawn at the start of the screen in less than half a second. When you complete a screen, you are on the next one immediately.

This structure is the heart of Celeste's flow engineering. Let us break down why.

The Instant Respawn

In most platformers, death is punishment. You lose progress, you see a death animation, you wait through a loading screen, you return to a checkpoint that might be thirty seconds away from where you died. Death breaks flow because it breaks momentum. The player has to gather themselves, remember what they were doing, and rebuild their focus.

Celeste treats death as a minor bookkeeping event. The death animation is 0.2 seconds of a soft particle burst; the respawn is instant. You are back at the start of the screen so quickly that the failure feels less like defeat and more like a rewound tape. You can attempt the same screen dozens of times per minute.

The result: death stops breaking flow. The player enters a rhythm of attempt-die-attempt-die-succeed, with no cognitive overhead between attempts. Their focus narrows onto the specific movement they need to execute. Each attempt is data. The pattern of death teaches them the screen's geometry. By the time they succeed, they have drilled the sequence until their fingers execute it without conscious thought --- which is precisely the merging of action and awareness that Csikszentmihalyi identified as a core feature of flow.

💡 Intuition: The purpose of death in Celeste is not punishment --- it is information. Each death tells the player something specific: "You dashed too early," "You missed the wallgrab," "You moved horizontally when you needed vertical." By making death cheap, Celeste converts what would be punishment into pure feedback. This is a generalizable insight: if your game uses death as a major consequence, you are probably breaking flow. If your game uses death as cheap feedback, you can sustain flow through thousands of failures. Most games do the former; the best platformers do the latter.

The Single-Screen Scope

Each screen is a complete challenge. There is no "level" that must be completed in one go. There are no lives, no limited attempts, no pressure to conserve resources. You just keep playing until you beat this screen, then you move to the next.

This scope matters because it shapes the player's mental model. The screen is the unit of accomplishment. "I beat that screen" is a meaningful statement. "I died on that screen sixty times before beating it" is a valid and common experience. The death count is almost a badge --- it proves you engaged with the challenge rather than skipping it.

By contrast, in a platformer with long levels and limited lives, the scope of a failure is the entire level. A death thirty seconds from the end means you replay everything you already did. The psychological cost per death is high. Players avoid attempting risky routes because the downside is replaying easy content. Celeste inverts this: the screen is so short that every attempt is willing.

The Escalating Introduction of Mechanics

Celeste introduces new mechanics slowly and cleanly. Chapter 1 uses only run, jump, and dash. Chapter 2 adds bubbles that boost Madeline in a specific direction when entered. Chapter 3 adds dream blocks that carry her through solid terrain. Chapter 4 adds wind. And so on. Each mechanic gets an entire chapter dedicated to exploring its implications before the next is introduced.

Within a chapter, the mechanic is also taught progressively. Chapter 2's first few screens use bubbles in obvious, forgiving ways --- one bubble, one clear target, no other hazards. Later screens combine bubbles with spikes, moving platforms, and chained bubble routes. By the end of the chapter, the player is executing bubble sequences that would have been incomprehensible at the chapter's start.

This is Portal-style flow engineering applied to platformer design. One mechanic at a time. Each introduction is safe. Each test is just one step beyond verified skill. The player never faces a challenge that requires understanding they have not yet built.

The Shape of the Flow Channel

In flow-channel terms, Celeste's default difficulty draws a specific trajectory. At the start of Chapter 1, challenge and skill are both low --- the game is easy because the mechanics are simple and the obstacles are forgiving. As the player progresses, challenge rises: screens require more precise execution, longer sequences, more simultaneous hazards. Crucially, the player's skill rises in tandem because the game has taught them the specific movements each screen demands.

By Chapter 7 (the summit), a player playing at default difficulty is executing sequences that were literally impossible for them in Chapter 1 --- not because the controls changed, but because the player has built intuition, muscle memory, and predictive understanding of the physics. The final chapters of Celeste are hard, but they are earned hard. The player who reaches them has been trained by the preceding chapters to meet the escalating challenge.

This is flow-channel engineering at the highest level. The challenge rises; the skill rises; the player stays in the channel. For the right player, at the intended skill level, Celeste is a flow machine.

📐 Design Geometry: The difficulty curve of Celeste is almost perfectly matched to the skill-growth curve of a competent platformer player. This is not luck. Matt Thorson iterated hundreds of times on screen designs, playtested with dozens of players, and rebuilt sections that fell outside the channel. The finished game feels inevitable, but it was built through relentless refinement against real player data. Your difficulty curve will not feel inevitable on the first pass. It requires iteration to get right.


The Philosophical Design: Why Assist Mode Exists

The default difficulty serves the "right player" --- someone with platformer reflexes, patience for repeated death, and the dexterity to execute precise inputs. For that player, the flow channel is wide open and the experience is transformative.

But Celeste is also a game about mental illness, panic attacks, and the struggle to overcome self-doubt. It is narratively about accessibility in the most fundamental sense: the idea that the mountain is worth climbing for everyone, not just the people who happen to be physically capable of it. For the designers to ship a game with that narrative and restrict it to players with specific dexterity profiles would be a thematic failure.

So they built Assist Mode.

The design of Assist Mode is as carefully considered as the default difficulty. Every element reflects a specific choice about how accessibility should work.

Granular Toggles, Not a Single Setting

Assist Mode is not a single "Easy Mode" toggle. It is a menu of independent options:

  • Game Speed: 50% to 100%, in 10% increments
  • Invincible: Madeline does not die from spikes, falls, or other hazards
  • Air Dashes: 0 (default), 1, 2, or infinite
  • Dash Assist: Time freezes when you start a dash so you can aim it
  • Infinite Stamina: Wall-grabbing never times out
  • Skip Chapter: Advance past a chapter without completing it

A player can turn on exactly what they need. Someone with limited reaction time might use slow speed without invincibility. Someone with mobility limitations might use invincibility without slow speed. Someone who finds the dash input frustrating might use Dash Assist alone. The combinations are the player's choice.

This matters because "difficulty" is not one thing. A player might find the execution demands high while finding the spatial puzzles trivial, or vice versa. A single "Easy Mode" toggle bundles all assistance into one switch, forcing players to accept help they did not need. Granular toggles let each player construct the exact experience that supports them.

Non-Judgmental Framing

The language around Assist Mode is carefully chosen. The opening screen does not apologize for offering accessibility. It does not warn the player that using these options will "diminish" their experience. It does not call them "Easy Mode" or imply that the "real" game is the default difficulty.

Instead, the framing is clear and supportive: Celeste is designed to be challenging; if the default proves inaccessible to you, we hope you can still find the experience with Assist Mode. The designers treat accessibility as a legitimate path into the game, not as a fallback for failures.

This framing matters because the act of enabling Assist Mode is loaded. Players enabling it may feel self-conscious, may worry about being perceived as "cheating," may question whether their eventual completion counts. The language either reinforces or dispels that anxiety. Celeste's language dispels it: the options are here for you, they are part of the intended design, use them if they help you.

🚪 Language Matters: The single most important design decision in Assist Mode may be the name "Assist Mode" itself. Calling it "Easy Mode" frames the feature as a concession for players who cannot meet the "real" standard. Calling it "Assist" or "Accessibility" frames it as support for players pursuing their own goals. The mechanics are identical; the emotional valence is entirely different. Before you argue that this is purely cosmetic, consider how many players enable one label and refuse to enable the other. The language is the product.

Full Content Access

A player using Assist Mode gets the same game as a player without. Same chapters. Same story. Same ending. Same achievements on most platforms (though PlayStation's trophy system caused some restrictions outside the designers' control). Same credits.

This is philosophically important. If enabling Assist Mode locked the player out of the true ending, or removed the post-game content, or stripped the achievements, then Assist Mode would be a penalty in disguise. Players in genuine need would face a trade: accept help or sacrifice reward. The trade would re-introduce the shame the design is meant to prevent.

Celeste makes no such trade. Beat the game with Assist Mode on, and the credits run the same way. Reach the summit with invincibility, and the summit is yours. Whatever narrative or emotional reward the game offers, the player receives it in full regardless of how they played.

Some players will argue that this "cheapens" the accomplishment for players who did not use Assist Mode. The Celeste team's response is pointed: your accomplishment is yours, regardless of what other people did. If a player with a different body or a different life than yours reaches the summit through a different path, your path does not become less valuable. The summit is not a limited resource.

No Lectures, No Warnings

Assist Mode does not nag the player. It does not periodically remind them that they are using assistance. It does not pop up before difficult sections to warn them that Assist Mode will "make this too easy." It does not hassle them to disable the options for a more "authentic" experience.

Once enabled, the options just work. The game continues as expected, with the chosen adjustments in effect. The player is treated as an adult who has made an informed decision about how they want to experience the game.

This restraint is easy to underestimate. Many games that offer accessibility options sabotage them with constant warnings, locked achievements, or limited content. Celeste simply provides the tools and then gets out of the way. The player plays the game they chose to play.


What Celeste Teaches About Flow

The design pattern Celeste established has four components:

First, design a default experience with excellent flow engineering. Without a great default, Assist Mode is just damage control on a poorly tuned game. Celeste's Assist Mode works because the underlying design is strong; players using Assist Mode are still playing a well-crafted platformer, just one whose access requirements have been adjusted.

Second, build granular, player-controlled accessibility options. Bundle nothing. Let each player construct their own experience. Recognize that "difficulty" is multidimensional --- reaction time, precision, patience, endurance, pattern recognition are all separate skills, and a player may need help with one but not others.

Third, frame the options non-judgmentally. Use supportive language. Avoid warnings, lectures, or penalties. Treat accessibility as a legitimate path into the game, not as a concession for players who cannot meet the "real" standard.

Fourth, provide full content access regardless of settings. The player who finishes with Assist Mode gets the same ending as the player without. No hidden tiers, no lesser credits, no asterisks.

Celeste's influence is visible across the industry. Many games released after 2018 include "Assist Mode" menus that follow the Celeste template explicitly. Accessibility has become a standard expectation rather than an optional feature. This is Celeste's design legacy: it did not just build a great platformer --- it changed what "great" means for a class of games where accessibility was previously an afterthought.

For your own project, the lesson is direct. You do not need to match Celeste's mechanical precision to benefit from its philosophical design. The toggles are not technically demanding. Invincibility is a boolean. Game speed is a multiplier on Engine.time_scale. These are hours of work, not months. The hard part is deciding to include them. Celeste decided, shipped, and proved the decision correct. You can follow the same path.

🎮 The Broader Claim: Matt Thorson has argued that the challenge of Celeste is not actually the difficulty --- it is the climb. Madeline is struggling up the mountain; the player is struggling with the controller; the narrative arc and the gameplay arc mirror each other. For a player who cannot execute the default difficulty, the mountain is still there. The struggle is still real. Assist Mode lets them experience the climb on their own terms. The climb is the point, not the specific dexterity required. Your game probably has a similar distinction: there is something about the experience that matters, and something about the access that is incidental. Find the difference. Design for the first. Make the second adjustable.