How to design game levels that stay fresh: lessons from 30 browser-game levels

Cancel My Subscription has one objective and 30 different ways to obstruct it. Here is what that constraint taught us about pacing, mechanical variety, fair frustration and designing controls that work with a mouse or a thumb.

Designing one entertaining game level is a problem. Designing 30 levels around the same sentence - cancel this subscription - is a different kind of problem. The goal never changes, the setting stays recognisable, and every stage has to feel like it belongs to the same game. At the same time, the player cannot feel as if they are completing the same form with slightly different wording for an hour.

That is the central design challenge behind Cancel My Subscription, our free satirical browser game about escaping a fictional streaming service called ZenFlix+. The game is planned as a 50-level escalation. It starts with a normal cancellation button and slowly develops into forms, hearings, signatures, CAPTCHA tests, office machinery and systems that appear to have been designed by an extremely well-funded retention department.

In Devlog #1, we covered the first 17 levels. Devlog #2 followed the project through Level 23, when buttons began moving, cloning themselves and opening retention chats. The build has now reached Level 30. This update is less of a level-by-level tour and more of a practical answer to a broader question: how do you design many game levels without making them repetitive?

Play the current build in your browser. It is free and requires no account or download.

Play Cancel My Subscription

1. Start with a mechanical promise, not a list of screens

A level list is easy to write. Add a form, then a timer, then a quiz, then a harder form. That sequence may describe four screens, but it does not necessarily create four different experiences. We found it more useful to give each level a clear mechanical promise: the one physical or mental action the player will remember after closing the game.

Level 24 promises that the document will keep changing after you fix it. Level 25 promises that every progress bar will stop at 99%. Level 26 promises a desktop buried under popups. Level 27 promises a button that physically resists being held. These ideas can all be explained in one sentence, but they produce completely different input, timing and visual feedback.

This is a useful test for any level-design process. If two stages have different themes but the player's hands do the same thing, the difference may be cosmetic. If the player can describe each stage with a different verb - reject, crank, sort, hold, calibrate, interpret, remember - the sequence has a stronger chance of feeling varied.

2. Escalate the rule before adding a new rule

Difficulty progression does not require explaining a new system every 30 seconds. A strong mechanic can usually support several rounds if each round reveals a new consequence of the same rule. The player gets time to understand the interaction, then demonstrates mastery under slightly worse conditions.

Level 24 is a tracked-changes review. The first pass teaches the language of accepting and rejecting edits. The second mixes harmless corrections with changes that would keep the subscription active. The third introduces ZenAssist, which reopens edits the player already reviewed. The finale creates a save conflict between the cancellation version and the retention version. The interface becomes more hostile, but the player's core knowledge still matters.

Level 28 uses the same principle in a smaller space. The player keeps a certainty slider inside an approved range. The range first relocates, then narrows, then drifts while the player is trying to hold it. We do not add three unrelated meters. We let one readable instrument become increasingly inconvenient.

The rule of thumb is simple: teach, confirm, complicate, conclude. Teach the interaction in a forgiving state. Confirm that the player understands it. Add one meaningful complication. End before the mechanic becomes routine.

3. Change the skill being tested

Visual variety helps, but mechanical variety comes from changing what the player must be good at. A sequence of beautifully illustrated clicking challenges is still a sequence of clicking challenges. Across the new levels, we deliberately rotate the primary skill.

  • Level 24 tests reading and rule application: understand what each document edit actually changes.
  • Level 25 tests persistence and physical input: turn a crank instead of waiting for a fake progress bar.
  • Level 26 tests categorisation: distinguish genuine system notices from retention windows.
  • Level 27 tests sustained timing: maintain pressure for five uninterrupted seconds.
  • Level 28 tests fine control: stabilise a moving value inside a permitted band.
  • Level 29 tests language and logic: route increasingly awkward yes-or-no statements correctly.
  • Level 30 tests observation and memory: track motion across a wall of surveillance feeds.

This rotation also changes the pace. Reading-heavy levels create concentration. Physical interactions create energy. Memory levels create a short period of silence followed by a decision. Alternating those states is more important than making every level more difficult than the one before it in every possible way.

4. Make the interface part of the joke

Cancel My Subscription is about an interface that does not want the player to succeed, so the interface cannot be a neutral frame around the action. It is the antagonist. The trick is making it obstructive in fiction while remaining dependable as software.

The popup level is a good example. Three waves of windows cover a fake desktop. Some are genuine cancellation-system notices. Others are retention messages whose close buttons warn that closing them will keep the membership active. Mishandling one creates another window. The absurdity comes from the clutter multiplying, but the rules remain visible: windows stay inside the playable area, titles can be dragged, close targets work on touch, and every consequence follows the wording on screen.

We use the same approach in the pressure terminal. The machine shakes, resists and changes its status text as the five-second hold continues. None of those effects interrupts the input or changes the required duration. The presentation says, "this system is fighting you." The implementation says, "your action will be measured consistently."

That separation is the foundation of fair frustration. A game can lie in character. Its controls should not lie to the player. We explore that distinction in more detail in our guide to making a hard game fun without making it unfair.

5. Treat mobile as a control scheme, not a smaller layout

Browser games can be opened from a desktop, phone or tablet without a separate install. That convenience creates a level-design constraint: every core interaction has to survive a change from mouse precision to direct touch. Responsive CSS alone cannot solve a mechanic that requires hovering over a six-pixel target.

For each level, we ask three questions early. Can the important target remain comfortably tappable? Can the player understand the state without hover text? Can the whole interaction fit without shrinking labels until they become unreadable? Those questions influence the mechanic itself, not just its final styling.

Level 25's crank works by dragging around a large circular control. Level 27's pressure button is intentionally oversized. Level 28 uses a custom slider thumb large enough for a finger. Level 30 keeps its nine camera feeds in a stable three-by-three grid so spatial memory still works when the screen narrows. Desktop can add breathing room; mobile keeps the same game logic and the same readable hierarchy.

Keyboard support matters too. Where an interaction maps naturally to Space, Enter or arrow keys, we include it. The goal is not to force every level through an identical accessibility pattern. It is to ensure the intended challenge comes from the rule, not from an input method the player cannot comfortably use.

6. Use animation as information

Animation earns its place when it explains state. A progress bar stalling at 99% tells the story before the text does. A pressure button sinking under the pointer confirms that the hold is active. A circuit carrying an answer toward "cancellation continues" makes a complicated sentence easier to evaluate. Motion should reduce uncertainty even when it increases spectacle.

Level 30 applies that principle to a memory CAPTCHA. Nine office camera feeds appear at once. Red cancellation envelopes cross selected feeds while differently coloured decoys appear elsewhere. The player watches the scan and then selects every feed that contained a red envelope. On later rounds, more feeds become relevant and the scan lasts longer.

Nine connected office CCTV views used as the background for the Level 30 motion-verification challenge
Level 30 uses one continuous office scene divided into nine surveillance feeds. The player must remember which cameras recorded the red cancellation envelope.

The envelopes need visible movement because their routes are the information being memorised. The screen tint, scan line and camera labels can support the CCTV theme, but they cannot overpower that motion. This is also why failure does not reveal the correct cameras. The scan simply replays, giving the player another fair attempt at the actual skill.

7. Make failure cheap when the challenge is demanding

A difficult level does not need a severe punishment. In a short browser game, replaying several minutes of solved material rarely improves the challenge. It usually makes the player less willing to experiment. Our levels keep failure local whenever possible.

Release the pressure button too early and the five-second hold resets, not the whole game. Lose the certainty range and the current calibration pass drains, but previous levels stay complete. Select the wrong camera feeds and the surveillance scan replays. The player pays with a few seconds and another attempt, which is enough to preserve tension without turning the joke into a punishment.

This is especially important when the game intentionally imitates hostile user experience. Real cancellation flows can waste time because delay benefits the service. A satirical game should recreate the feeling in compressed form, then let the player move on once they have understood and beaten the idea.

Difficulty progression is not a straight line

It is tempting to imagine a 50-level game as a graph that only moves upward. In practice, constant escalation becomes exhausting. A dense logic puzzle can be followed by a playful physical interaction. A memory challenge can follow a reading challenge. The overall game becomes more elaborate while individual levels still create peaks and rests.

We now think about progression across three separate axes:

  • Complexity: how many rules the player must understand at once.
  • Execution: how precise, fast or sustained the input must be.
  • Pressure: how much animation, timing or uncertainty surrounds the decision.

A level can increase one axis while lowering another. The yes-or-no circuit in Level 29 raises linguistic complexity but uses two enormous buttons. The pressure terminal has an extremely simple rule but demands sustained execution. The CCTV challenge has low input precision and higher observation pressure. That mix creates a more interesting curve than making every button smaller and every timer shorter.

What comes after Level 30?

The next section of Cancel My Subscription begins stacking requirements. The difficult part will be preserving the clarity established in these seven levels. Combining mechanics can create richer problems, but it can also create screens that feel busy before the player has done anything. Each combination still needs one readable objective and one memorable reason to exist.

The broader 50-level structure will continue alternating mental, physical and observational skills. We also want later stages to call back to information and actions from earlier in the game, so progress feels connected rather than episodic. The final levels should feel like the entire cancellation system is converging, not like a folder of unrelated minigames.

A practical level-design checklist

These are the questions we now use before considering a Cancel My Subscription level ready:

  1. Can the mechanic be explained with one clear sentence?
  2. Does the player perform a different primary action from the surrounding levels?
  3. Does the first interaction teach the rule without a paragraph of instructions?
  4. Does each escalation change the decision or skill, rather than only adding delay?
  5. Are failure and success both immediately understandable?
  6. Does failure restart only the smallest useful part of the challenge?
  7. Can every essential action be completed comfortably on a phone?
  8. Does animation communicate state before it adds decoration?
  9. Does the joke remain inside the world instead of explaining itself to the player?
  10. Will this level still be recognisable when described without its artwork?

A checklist cannot invent a good mechanic, but it can expose a weak one early. If the only memorable difference is new copy or a new background, the level probably needs another pass. If the mechanic works but cannot survive a narrow phone screen, the interaction may need to change before the art is polished.

One goal can support many different games

The first 30 levels have reinforced one useful lesson: a narrow theme does not require narrow gameplay. Constraint gives the sequence a shared identity. Variety comes from asking what the player reads, remembers, controls, times and physically does inside that identity.

Cancel My Subscription is still in development, and the remaining levels will put these ideas under more pressure. For now, the current build is playable for free in a modern browser. No installation is required, and the game works with mouse, keyboard or touch. If you are curious about the technology behind that, read our guide to how no-download browser games work. If you are more interested in the subject being satirised, our guide explains why subscriptions can be so hard to cancel.

Thirty levels are ready. ZenFlix+ is still confident you will give up first.

Play the free browser game