Controversial Speedrun Thesis - I don't like ingame timers
Speedrunning revolves around completing some set of tasks under some set of conditions in a minimal amount of time.
Much hay is made in discussions over how the tasks and conditions are defined, but I feel a frank discussion of timing is too often swept aside under the auspices of "fairness."
This is an extremely unnecessary exploration of one aspect of this conversation that will be of limited value to anyone outside of the hobby, so obviously I included a section giving a rough history of speedrun timing. Enjoy!
Background
The original organised Western Speedrun communities pretty exclusively used in-game timers to track their times. Quake, Metroid Prime, and Mario Kart are some of the oldest of these and they all used in-game timers, and the first cracks start to show here.
In MK64, if you play on an NTSC console your game runs at 59.94Hz, on PAL it's 50Hz - not expecting much comparison to take place between regions, that means that an NTSC record of 1:00.00 played identically on a PAL console would get a time of 1:12.14. To compensate for this, mkwrs.com applies a time conversion meaning that PAL players basically get to play the game in slomo, riolu style.
This isn't the timing issue I want to draw attention to, but it's part of why the consensus on timing changed around 2010 with the advent of Speedrunslive and speedrun races becoming the predominate gathering place of western Speedruns.
With a fundamentally different goal - allowing fair competition in realtime - the difference in speed between NTSC and PAL led to those slower versions being ultimately inferior - simply being from a particular region (or in some cases, having a particular model of console) was a built-in disadvantage. The solution was money, specifically sourcing imported consoles from the faster region.
This hit its most extreme realisation with Ocarina of Time, originally an N64 game but available on GameCube and Wii Virtual Console as well. The fastest platform-region combination for OoT has moved a bunch over the years - always favouring NTSC versions for the higher frame rate, and generally favouring JP for faster textboxes.
This culminated when it was discovered that the Chinese iQuePlayer console was technically faster for the best known Any% route of the time, so a bunch of prominent runners a decade ago were importing these terrible machines in pursuit of minor optimisations.
| You might not like it, but this is what peak performance looked like for a brief period c. 2015
This is also not the timing issue I really want to focus on though.
Over time the focus of the best players on SRL shifted from racing towards Personal Bests and World Records, and this meant resetting a lot and trying to minimise variation between runs.
The standard timing method adopted for non-race PBs by SRL runners is known as RTA - Real Time Attack - borrowed from the Japanese speedrunning community which named it in opposition to Time Attack which allowed for timer pauses and breaks. RTA is the simplest way to measure the length of a run - timer starts when the game/console/run starts (depends on the game) and ends when the run is over, usually when the player loses control of their character upon winning.
One type of game that fundamentally struggled to find fair competition in RTA was PC games - if you had a faster PC, better loadtimes especially, you got a better time. In a racing context this is basically impossible to avoid and was accepted as an irritating but unavoidable problem.
This was solved when it was realised that for these PC games, the timer was typically running on the same PC as the game, so could potentially have access to process information to allow the timer to pause during load-screens, eliminating the biggest source of hardware inconsistency.
This solved what had become a massive problem for many PC games, as it meant just the sections of the game that actually had skill in them were being counted. It meant players from poorer regions were no longer as directly disadvantaged by the technology available to them, and this can be seen on many PC game leaderboards to this day.
In Half-Life, the Load-Removed Time (LRT) World Record is technically 3s slower than the top RTA time.
In Half-Life 2 the differences are wild - the 3rd place LRT time is a minute behind 2nd, but their RTA time is almost a minute faster than 2nd.
So this has clearly solved a big problem in PC speedrunning. But I'd argue it's created another one, admittedly much smaller.
IGT Strats Suck
IGT has become a textbook demonstration of Goodhart's Law:
When a measure becomes a target, it ceases to be a good measure
Dark Souls games and their ilk are what I'm going to focus on here because I think they're among the worst for this stuff, but they're not alone in the problem I'm going to describe. These are in one major way a bad example - in-game time (IGT) is actually using the game's internal clock to measure the run - I'm essentially making the argument that it's a bad idea to use that, which may be a hard sell.
Watch any Dark Souls speedrun explained video (what, you don't just watch all of them? weird) and there'll be a point where they explain one of the most ass-backwards speedrun strats in the whole hobby. Door Quitouts.
The tomatoanus video I linked barely makes any mention of it, just says they use IGT and moves on because this is so ubiquitous, but it is absurd that a speedrun will spend 8s quitting and loading rather than 3s watching a door open, just because "the loads don't count."
This isn't why the loads don't count! It was to make loading less central to how the game was timed!
To runners this has become an extremely standard procedure but it's honestly taking the piss. Dark souls is a game with almost no loadscreens in normal play - almost every load screen in a run is introduced by quitout strats! Remember that a quitout requires 2 loadscreens - one quick one for the quit, one for the reload, and menuing inbetween.
The current DS1 Any% WR is a 19:28 by QueueKyoo (not singling them out, it's a sick run) and the actual tape is about 21:20, a 1m52 difference. Scanning through the run manually and roughly, I count 8 actual loadscreens, 5 quitouts, and 7 quitouts that do more than just skip animations or reset enemies.
I'm separating those last 7 out because they accomplish something beyond just "spending free loadtime to reset actors", but I have no idea how much time each saves individually - it may be more or less than the loadtimes that are removed. Some are definitely big skips so they get a pass.
Still, for this runner a quitout takes about 7s so that's ~35s of bullshit time that never gets counted - they even do a quitout as Gwyn dies to skip the wait and walk over to the ending trigger, it's just incredibly anticlimactic and uncool imo.
Solutions
Ban it
A very simple solution would just be to ban quitouts - but that's a very heavy rule to add to a game just to keep the runs "looking good." Generally the goal with rulesets is to keep them as light as possible, just efficiently describe the minimal set of rules that keeps the spirit of the run.
SM64 is a good example of this - 70 Star is defined thusly on speedrun.com:
Gameplay Restrictions:
- All forms of BLJ are banned
- All forms of MIPS clipping are banned
- Circumventing any castle door or star requirement via any other method is banned
No BLJs, no MIPS clips, no star-door skips.
While just "no star-door skips" meets the technical requirements of the category, without the BLJ and MIPS rules it would end up looking an awful lot like the other categories with a minor routing change. These rules keep the character of 70 star, and now it's the only major category that doesn't start with a lobby BLJ! That's cool! But it took some finagling to get there, beyond just the "simple" star-door rule.
So while you could ban quitouts, it can be a game of whack-a-mole trying to get rid of every trick that does something bad for the spirit of the run - you need something simple and broadly applicable.
One interesting detail on this is that Team Hitless (the no-hit run group) does explicitly ban quitouts except for certain interactions, because they can be used to escape damage "for free."
Recategorise it
It's common when there's a large amount of dissent about how a category should be, with players on both sides, to make a new category split allowing both sides to play how they want.
This honestly sucks for the purpose of having a lively leaderboard, and also risks fractal category generation over every disagreement - moderation is about making choices, not making players choose.
Even if there was a groundswell of support for fixing quitouts, I'd hate this as a solution.
Penalise it
Another option would be some kind of penalty - let's explore an example, a time tax for every load screen. An interesting version of this would be to take the lowest quitout-reload time anyone can get, and apply that as a tax on every quitout-reload in every run - so everyone gets the same penalty.
Say the fastest time ever seen is 5s. Now every time you want to quitout to skip a door animation, the question becomes "is the animation more than 5s slower than the quitout?" rather than simply "is it skippable?"
One thing I like about this idea is that it ends up being equivalent to the question "would this be faster if I had the best hardware for running this game?" which is essentially the ideal situation for comparing speedruns. It gets us closer to the console situation of just being able to take RTA times as comparable. It is, in my view, the only "fair" penalty you could apply.
A major problem is that this would also likely become another victim of Goodhart's Law, but I can't see an obvious way it would be anything other than a less severe version of the current situation.
A more meaningful problem is that people would hate it. It feels incredibly arbitrary to just add time onto a run, and who adjudicates what counts? Even if it's simple to define, implementing timers that measure it properly would be a massive pain, and verifying that they did so would be an ongoing one afterwards.
Conclusion
I don't actually think leaderboard moderators should try to fix this.
When I play games like this for speed, I don't care about leaderboards beyond their use as a repository of run videos of many different skill levels. I play the way I feel like playing, and by my own rules, and I only really care about improving vs myself.
When I run SM64, I use a savestate to skip the opening cutscene. Who cares?
When I briefly played DS1 for speed, I never even considered adding quitouts to my repertoire because I hate them. I was never going to be good enough that adding them would be a meaningful change to my position as a runner, so why introduce their flow-breaking awkwardness?
Leaderboards serve a purpose in a competitive community but that purpose is singular and limiting - they do not encourage the most enjoyable way to play a game, just the simplest and most measurable.
They serve a greater purpose to the community than they do to the community member, and it's worth bearing that in mind in discussions around moderation.