💾 Archived View for ecs.d2evs.net › posts › 2023-11-19-difficulty.gmi captured on 2023-12-28 at 15:04:27. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
first, a couple disclaimers: i'm not talking about the shitty social dynamics that often crop up online around difficult video games here. they're interesting and important and worth discussing, but they also aren't the focus of this post. in addition, most of my experience with difficult games comes from modded celeste, and some parts of this don't generalize very far beyond that. in particular, celeste is mainly about mechanical difficulty with relatively little emphasis on reaction time, which is very different from eg. puzzle or fighting games
difficulty is often construed as being intrinsically linked to frustration, but i think that this analysis misses the mark in a number of ways. difficulty is definitely correlated with frustration - there's some frustration inherent to spending somewhere between tens of hours grinding something out - but there's also a tremendous amount that can be done to reduce this frustration if the game designer chooses to do so
this particularly stuck out to me as i was playing through syobon action recently. when analyzed purely in terms of frame windows, there's nothing in syobon action which is particularly difficult relative to what i usually do in celeste - i'd probably call it yellow expert on the standard celeste difficulty scale - but everything seems optimized to cause as much frustration as possible. the input handling and physics are extremely janky in ways that are (presumably) deterministic and can technically be worked around but often leave you feeling like the game is at fault for your deaths, most of the obstacles are either invisible or otherwise unavoidable without prior knowledge, and the game makes it rather difficult to understand why you died when you die
another factor which can affect frustration is, broadly speaking, separation between attempts. this is a pretty broad concept, and encompasses things like respawn times, music changes (a soundtrack that plays continuously between attempts can make a huge difference), maybe a boring bit of gameplay at the beginning - anything that breaks flow between attempts. for example, the first room of the 6d badeline fight (as well as of the badeline fight in everlasting farewell) is much more annoying because the music restarts every time you die
while this could be considered a subset of attempt separation from a theoretical perspective, ease of practicing later parts of a gameplay segment also plays an important role and has to be managed separately from a design perspective. there are two ways (that i can think of) to affect this:
the first is to work some sort of local nonlinearity into your level design: rather than doing A, then B, then C, then D in that specific order in order to win, allow the player to do A, B, C, and D in any order. vanilla celeste does this a fair bit: a-07 in 4a and 03 in 2b are two particularly clear-cut examples, though there are plenty more that do this to a lesser extent. because the order of the gameplay bits isn't fixed, you're free to vary it in order to practice any of them more easily
however, making that work by itself, especially in higher-difficult contexts which would require a tremendous number of rearrangeable segments in order to still be practiceable, is a pretty heavy restriction on level designers, which is why the second approach is much more common: some sort of practice mode. in celeste this takes the form of savestates from the speedrun tool mod - note that its use when practicing long sections for goldens (to respawn you at the start of the section, farther back than you would normally be sent) and when practicing short sections for clears (to respawn you in the middle of a room, further forward than you would normally be sent) are both for this purpose
at a high enough level of difficulty, a good practice mode becomes an integral part of the game
consider a (perhaps overly) simple model of a "difficult" game: a sequence of coin tosses, whose probability of success is 0% the first time and increases by 1% each time you try it until it reaches a maximum of 90%. basically, you "learn" each coin toss as you go through it more, but there's a limit on how well you can learn it. i simulated the game using two strategies: one of them tries each coin toss individually until it reaches the maximum of 90% consistency, then does full attempts until it succeeds, the other just starts from the beginning each time. how do the two compare? if we pretend that each toss takes one second:
the source code for the simulation. no warranty, ymmv
obviously this isn't a perfect simulation either of difficult games or of optimal use of a practice mode, but it does paint a clear picture: as average clear times without practice mode spiral exponentially out of control, practice mode keep things surprisingly close to linear for a while longer
not only that, but the time spent playing with a practice mode is much more enjoyable as well. fundamentally, when playing a difficult game, you're actually doing three tasks:
practice mode allow you to separate those three tasks. once you know what you're supposed to do and you're comfortable with each part in isolation, longer attempts from the beginning build an enjoyable flow state, but when you're trying to figure out what's going on and what the mapper is asking you to do, that time at the beginning of the room feels wasted, making you frustrated instead of relaxed. muscle memory benefits from intensive repetition in a way that's not possible without just sticking a savestate before a difficult section of gameplay and drilling it over and over again until it's consistent
not all of these factors come into play in all contexts: putting map-specific things in muscle memory (as opposed to just generic tech like extended hypers or the various types of ultras) only becomes relevant at or above gm, and some maps are designed to be readable and mitigate the "figuring out what you're supposed to do" part. practice mode can also worsen the experience in some ways that aren't captured by this framing - in particular, knowing ahead of time how the room is supposed to play out can break some surprises. 9d has two different rooms which are much less fun if you use savestates, and one of them is hard enough that it practically requires them
celeste clearly wasn't originally designed with a practice mode in mind, and its savestate system grew organically in response to speedrunners' (and mod players') desires. it's quite nice as it is today, but i'd be curious to see how a game somewhat similar to high-level modded celeste could look if it was designed from the start to be that way. some ideas i've had in the past have been:
one game design idea i've been toying with for the past while is a rhythm platformer: basically, celeste's physics, but inputs are all timed to a music track that restarts when you die, and you need to make it through a whole song without dying. i think this could work quite well, but it'd need a really really good practice mode in order to be feasible at all
i don't really have a good conclusion here ok bye