I love rage games and have made a rage game too, but I always wondered how to test if levels in these types of games are too hard or not, since it's ironically too hard to test.

For example: If I were making a game similar to Super Hexagon or Super Meat Boy, do I need to take all the time and effort to go through and beat the whole game? Or are there some easier, but valid workarounds?

I had this problem in a game I made a few years ago. It has 4 difficulties: easy, normal, hard and insane. Before release I'd only completed easy mode and post-release I completed normal, but I'm not sure if hard and insane are achievable.

Here's the game in case you want to see it:


  • 1
    \$\begingroup\$ We generally can't answer "how did developers of game X do Y?" since that information often isn't public, so I've rephrased your question to "how can I do Y?" \$\endgroup\$
    – DMGregory
    Jan 27, 2018 at 13:49
  • \$\begingroup\$ My developer ethics (:P) wouldn't allow me to publish a game I wasn't able to beat myself. \$\endgroup\$ Jan 27, 2018 at 19:30
  • \$\begingroup\$ @HolyBlackCat I'll confess to setting some score targets in my games that are better than I've achieved myself. Gotta have something there for the extremely skilled players who get better at playing it than I was at dev time! ;) \$\endgroup\$
    – DMGregory
    Jan 27, 2018 at 20:18
  • \$\begingroup\$ @DMGregory Fair enough. :) I guess from now on I'll only appliy it to a part of a game one has to beat for any% completion. \$\endgroup\$ Jan 27, 2018 at 20:24

1 Answer 1


One major strategy that helps is something we call level design metrics.

Here you work out what kinds of level design arrangements are navigable, by testing them out in isolation.

We'll often build a "gym" level, with things like passages of varying widths, corners of varying sharpness, pits of varying lengths, etc.

We can try each setup on its own, or in combination, to establish which setups feel good with the game's current 3Cs (character/controls/camera), and where each one sits on our desired difficulty spectrum.

From this we derive a set of metrics: specified sizes of passages, features, and spacings, or modular sequences, which level designers can use to plan their levels and know they're navigable because they follow these conventions.

For non-rage games the focus is usually on comfort and flexibility — ensuring there's enough space that the player, their camera, and AI can move smoothly without getting snagged, that any of the player's abilities can be used without glitching/clipping, and that the player can clearly distinguish "that's a ledge I can jump to" from "that's a wall I can't jump over" without trial & error.

But for a rage game you can tighten the screws further to what's juuuust possible. ;)

Another ingredient that can help is analyzing the trajectory of moves like a jump.

Say you have a metrics gym where you can just make a 6-tile jump. You can record the trajectory of that jump so you know exactly how much room you have around it for obstacles, or what timing window you need for moving hazards that cross the trajectory.

That lets you take a possible jump and make it even harder without breaking its possibility.

If your mechanics are mathematically tractable, you can work out the equations describing possible moves, and the margin of error if the input is just a little off, to test this for any arbitrary angle/distance.

If they're not so simple, you could rig up a script that tries every combination of inputs in 5-degree increments & 0.016 s durations and records the outcomes, giving you good coverage over the whole space of possible trajectories.

If you want to go really deep, you could conceivably extend this analytical technique to an automated level verifier that uses a pathfinding routine to search the player movement space for possible solutions to a given level. By checking the range of deviation a given solution allows, you can estimate whether it's humanly possible or more likely limited to tool assisted speedruns. ;)

  • 2
    \$\begingroup\$ +1 for TAS ;) Developers please give us TAS:ers some love \$\endgroup\$
    – Charanor
    Jan 27, 2018 at 17:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .