Randomizer speedruns are an awesome recent innovation in speedrunning, where the aim is to beat the game as quickly as possible (in a category called "true any%" [0]).
For most popular speedrunning games, randomizers reward a completely different skillset than standard speedrunning. Typically, world record speedruns are a result of a community collaboration between theorizers, glitch finders, and routers, who devise the optimal "route" through the game -- what are the minimum objectives necessary to beat the game? What is the fastest order through the objectives? Then, running the game itself can require technical skill to move the character at speed with precision (particularly relevant in platforming games like Super Mario, etc) and execute tricky, timing-dependent glitches (notorious are 1-frame tricks, which require a certain input at a specific frame in a game running at 30 or even 60 frames per second).
Route optimization is somewhat equivalent to solving a traveling salesman problem, and is usually performed over the course of days or weeks in online chatting groups. In randomizer speedruns, however, the speedrunner must come up with a good route on the fly, since the particular randomization is essentially guaranteed to never have been seen before, as well as actually run the game. Needless to say, this demands, and shows off, a huge amount of expertise from the runner, and is a big treat to appreciate.
Personally, though, I think bingo speedrunning competitions are even better. Here, the goal is to win bingo on a randomly generated 5x5 grid of in-game objectives - but any square completed by you or your opponent becomes inaccessible for the other player! This retains the difficulty of routing on the fly while adding direct head-to-head competition between speedrunners. In some of the best cases, mindgames can ensue when speedrunners are aware of their relative skillsets which give them a comparative advantage at completing certain in-game objectives. Sniping squares becomes a fascinating strategy.
[0] True any% stands for beating the game with any percent completion. Communities for certain game sometimes rally around other categories that restrict or ban certain un-fun glitches (any% with certain limitations) since speedrunners ultimately want to have fun.
Described in this way, it feels like a reasonable argument that humanity is like a paperclip-optimizing AI that just maybe just chooses random things to go deep on optimizing.
We created a problem for ourselves that was fun -- games -- but once we'd beaten "games", the reward function kept running and now we're adversarially inventing new ways to "optimally" beat harder and harder versions of "games", ie new objectives, new limitations, new allowable orderings of elements within the games, etc.
I was thinking of it like a mating display. Supposedly the goal of such a display is for the male animal to demonstrate its superior genes by wasting resources in a show of wealth, so it must purposely seek out something that is difficult or expensive to accomplish.
I conjecture that you are right and the reason this works is that a large class of optimizing goals actually converge in the long run.
In other words, whether you choose paper clips, Bibles or human DNA as your optimization goal, over very long timescales (like a billion years) the optimal algorithms for all of them converge. If you want to make a solar mass of paper clips, you need a lot of infrastructure in common with a solar mass of any other goal.
There does seem to be a kind of turnpike theory-like effect to technological development.
I'm reminded of Schmidhuber's PowerPlay (https://arxiv.org/abs/1112.5309), too. It just trains on increasingly difficult problems with no direct objective function beyond solving the current problem and devising a harder one.
that argument definitely has some truth, but it's worth considering that playing a randomizer is a very different experience than speed running the original game as mxwsn said. I've played a few randomizers and it's a whole lot of fun to dynamically route based on evolving probabilities - vs performing a known route at a hyperoptimized level. randomizers reward adaptation, as well as gameplay and game knowledge that may not matter for the speed run
The problem with randomness in speed-based goals is that sometimes it’s harder than others. How can you compare two runs if the game could randomly give you zero opponents? It’s an extreme example, but the point stands that if the game’s randomness isn’t tuned to fall within a tight difficulty window, then run-to-run comparisons are useless. While still fun to do and watch, it takes a lot of wind out of the sails of speedrunning because a lot of the allure is in record setting. The record has to mean something.
It's set up so all contestants get the exact same set of mods. Finishing in world record time in such a competition is indeed meaningless; it's just about winning the race.
So this isn't necessarily what you'd call a randomiser — often the mods aren't randomly generated at all, but carefully curated by the event organisers. But it's à propos in terms of 'new experience every time'.
One neat aspect of this approach is how unexpected the mods can get; e.g. your player character could be swapped out for a character from a different game. Then there's the extreme variant of mystery races, where the runners don't even know which games they're going to play.
Spelunky, a procedurally generated platformer roguelite, has an extremely rich competitive speedrunner community. That is my primary relationship to speedrunning, so I'm answering in the context of "whats fun / worthwhile about speedrunning"?
1) There's lots of different categories to compete in. As new possibilities are discovered in the game, the community congrats around goals of speedrunning any given seed. In these scenarios, its generally about building the skills to be proficient at a particular goal in record time regardless of the seed.
2) most of the modern roguelites I play include a "Daily Seed," where every player gets to play the game exactly once each day and be ranked on a leaderboard. You compete on a given seed. If you want a global ranking system, you might consider it by track-record. Something like, "of the last 50 games this player played, what is their aggregate ranking vs other players' last 50 games played", or do that same comparison, but only in the cases where those players shared a seed for the RNG.
It's true that there's no absolute "best game", but there is "best game ever on this particularly interesting seed."
This leads me to believe that this approach can both make speedrunning continue to be new and interesting to participants as well as result in a scenario where the record can mean something. Yes, there are ways to cheat the system if you really want to cheat, in all but a live in-person audited game. It shifts the focus slightly from reverse-engineering of the game and towards being a better all-round player. And it's more interesting for machine solving, too: how can I build an AI that will take the optimal route regardless of seed? How can I know that the optimal route was achieved?
Existing randomizers randomize things like enemy layout, chest contents, etc.
An interesting different type of randomizer would be one which preserves everything like that, but adds better randomness (i.e., randomness independent of the emulator) to the game's own RNG. Currently, tool-assisted speedrunners and sometimes even live human speedrunners exploit the fact that a game's RNG is deterministic and predictable. Breaking that would lead to additional speed running research on the "original", "canonical" game.
As far as making a tool-assisted run goes, a much better but deterministic randomizer wouldn't affect the process very much, and a non-deterministic one would make it basically impossible to play at all.
You'd prevent real-time RNG manipulation, but that's pretty uncommon to start with.
And you could just say "no RNG manipulation", you don't need to edit the game code.
It would change the end-product of TASing to be a bot instead of a fixed run. A fixed run would be impossible, like you say, and instead the goal would be to create a bot that could perform well across many runs.
That is something that is extremely different from a tool assisted speedrun, and I'm still not sure how it would benefit you to swap the RNG instead of making a bot on the original.
As it is a marathon run, it features a little bit less risk-taking than non-marathon runs (I don't recall if this was a moderated seed or completely random).
Decades ago, I had more or less topped out playing Othello against my Apple ][e. A game could be completed in under ninety seconds, with my moves being as fast as that of the computer. I took photos (with actual film) of beating the machine long before the board could be filled, but I was getting stale, essentially training myself to fight against this deterministic opponent who couldn't have been all that bright, given the time. I began to make deliberately bad choices in the early game to see if I could recover, but even that wore out.
I eventually settled on POKEing parts of the memory where the game was held. Typically, this resulted in an un-runnable program, or the program would place pieces on the lines rather than between them, all sorts of oddball behavior. Every so often, though, I would get a working game that would play against me using the usual rules, but differently enough that it would throw me off.
> I eventually settled on POKEing parts of the memory where the game was held. Typically, this resulted in an un-runnable program, or the program would place pieces on the lines rather than between them, all sorts of oddball behavior. Every so often, though, I would get a working game that would play against me using the usual rules, but differently enough that it would throw me off.
And thus the idea of the Game Genie is discovered again.
Regarding Othello (Reversi), I actually wrote a Reversi game for the Roku and released it on their store. It was a fun little one-off that I was playing around with when a friend and I were exploring the Roku, which I eventually just packaged up and released as a free version and paid version. It allowed you to set board width and height and choose if the white/black players were CPU controlled or human controlled, so you could actually have the Roku play itself if you wanted. I believe I had three different skill levels for the CPU, which really just corresponded to how deep the minmax AI would go (how many turns in the future it would look), and I think it was fairly hard at the hard level IIRC (but if you chose a large board, like 16x16, it might take 20 seconds or more for it to make a move).
I actually had plans to extend the paid version with some new features, and had a dev build that included things such as random non-color blocks on the board, "bomb" pieces that when flipped flipped the 8 surrounding pieces, angle blocks to change the line by 90 degrees, etc. I never actually bothered to get that out though.
I haven't looked in a long time, but at the time I don't think there was anything out on iOS/Android that had something like that, but it seemed like a fun take on the game. If someone hasn't gotten around to releasing something like that, they should...
Which is more powerful than any game genie by a great amount, with its included debugging tools - really not just useful for games, but in general for all sorts of RE on Windows. Sadly only on Windows, I've always hoped that maybe they would add support for GDB stubs some time - there is a remote mode already, afaik.
It's also surprisingly all written in Pascal(or Free Pascal) which is actually a pretty pleasant language(even if not very popular anymore), if anyone's ever curious: https://github.com/cheat-engine/cheat-engine
This sounds like an amusement source for an immortal being locked in a prison with just an Apple ][e during a randomly selected century (decade? year?) of their existence -- maybe an unexplored subplot of groundhog day? Anyway, that's really cool!
I just finished a run of Link to the Past / Super Metroid crossover randomizer. And it's one of the best gaming experiences I've ever had. The items for both games are randomized and distributed across both games. For example, I found the first sword in Link to the Past above Samus's ship in Crateria in a secret area.
How do they deal with the linearity of Zelda games, where you NEED a certain item to succeed in a dungeon, before you can then get access to more items later? If I need the hookshot to pass the water temple, but it gives me the floating-light-boots, how am I supposed to beat the level?
Not an expert on how they do it, but I've played a few. The logic in these things is excellent, they won't ever give you an unsolvable game (and the Zelda ones have been playtested to death at this point). I think they just specify the prerequisites for each item and then just don't assign them if they are impossible to get, not sure how exactly the algorithm works but I can think some easy ways on how solve this problem once you have that list of dependencies.
You can still get the wrong items in the temple of course, it just means it's outside the temple. Sometimes you even have to go into a temple you can't beat, get an item from a chest, which allows you to get the required item outside, which then finally allows you to beat it.
As others have noted, the logic is designed as such that it's always possible. It's a graph theory problem, although I don't know if it's coded that way or just a giant pile of if/else.
One interesting thing to note is that some of them have difficulty settings. Certain item dependency chains are more difficult than others, and the locations can be done such that it will always give you easy seeds or always give you hard seeds. Some of them are designed such that you'll always be required to do speedrun tech which are borderline exploits.
They program it to be winnable. There are various constraints which ensure the game can be beaten. None of them (that people actually play) are 100% random.
Reminds me of an indie game called creeper world. The first version of this was released almost ten years ago as a flash game. It came with a random map generator (and all versions of that game have done that ever since). One genius twist was that the free version of the game had a map that refreshed daily. So for nearly three years, part of my morning routine was completing that map. That game had a lively community of people coming back every day to play that map. Sometimes it would be over in seconds, sometimes it would be near impossible. I eventually bought the game and later versions and that broke my routine. Also flash of course stopped being a thing.
It was a very simple game but something about it was just ridiculously engaging and addictive. v3 has a lot of user generated maps (5K+) as well as automatically generated ones and I've been playing this for close to a thousand hours according to Steam since it was released years ago. Judging from the forums and the continuous additions to the user generated maps, I'm not alone. V4 is close to completion and looks like another winner.
I would imagine most randomizations render the game impossible, since the first dungeon will require a specific item to complete, and any other item won't help you. Are players forced to leverage glitches? Or is there some way to restrict only to "viable" randomizations?
Randomizers have logic that restricts the way the items can be randomized. For example, in the default mode of the Link to the Past randomizer, you need the boots to get the item off the top of the bookshelf in the library, so that item will never be the boots. You need either the lamp or the fire rod to get through certain caves and sections of palaces, so you're guaranteed to be able to find either the fire rod or the lamp prior to having to complete those palaces.
Using glitches can help you "sequence break", to a certain extent - if you use a glitch called "fake flippers", you can reach certain areas of LttP that would normally require the flippers without having them. You'll never be required to do so to beat a seed in default mode, but doing so can save a ton of time if there's a required item blocked by the flippers and the flippers are a pain to get.
The LttP randomizer also includes "glitches required" modes, where varying levels of glitch execution might be required to complete the game, and the logic is relaxed accordingly.
A lot of effort goes into ensuring that you don't randomize the game into an unwinnable state. Many of these games are so well known by speedrunners and fans, that they know what items are required for each part of the game. The Link to the Past randomizer, IIRC, actually gives you the option to randomize the game in a way that requires no glitches, or randomize the game so that glitches may be needed.
In fact, it has multiple categories of glitches ("No Glitches," "Minor Glitches," "Overworld Glitches," and "Major Glitches", IIRC), defined by the ALttP speedrunning community, that the randomizer logic can take into account when placing the items throughout the game.
Randomizers are restricted to follow a tree branching logic to ensure that the game can be completed based on all accessible items at any given moment. For some games, there can be several difficulty tiers of logics. In harder logics, the game might only be beatable if the player is aware of an obscure glitch or nuance in the game engine.
The only up-to-date commonly used randomizers with meaningfully common impossible states I've seen are in Fire Emblem, which is difficult enough to begin with that unlucky changes to earlygame units and bosses can create a (near) unwinnable fight. You also have to deal with alternate loss conditions such as NPCs that cause game over on death and change to a class that is frailer than default or unable to move on the terrain type they spawn on.
The people making the randomizes usually have pretty good understanding of the game and it's obstacles. By building up a logical tree of what items are needed to reach which locations, you can make sure the randomized game is possible to clear.
I'm pleased to see that the randomizer community has been getting a lot more attention as of late. I made my own randomizer[0] a few years ago (shameless plug), and it was the perfect mix of retro gaming knowledge, low level hacking, and more modern programming and design. It can both be incredibly frustrating and rewarding figuring out how to modify a game into a way that is new and refreshing.
There is a great mod for Dark Souls that randomizes enemy starting placement. I really wish this was a feature built into the main game as I tend to play DS on PlayStation or Switch; it's a surprisingly effective way to make an already challenging game even more engaging.
Randomizers like this are interesting to me because I enjoy seeing people play with them, but hate playing with them myself. I tried one for Link to The Past and thought it was just frustrating. I think the frustration was in that the game was designed in a way without randomization in mind, so when forcing in randomization, it isn't as fun or interesting as a game built with randomization in mind from the start. If anything, it just led me to going back and playing something like Binding of Isaac again. Still cool! Just not for me I guess.
For those asking about how randomizer logic works to ensure that the game is still playable, you can have a look at the Super Metroid randomizer logic.
The randomizer logic, depending on difficulty level selected, will ensure that certain items are available and the game is still playable. There are lots of different checks like this to compensate for various techniques, sequences, etc.
One common technique in Super Metroid is called "hell running", which means getting through the heated rooms of Upper Norfair without Varia Suit, an item that provides protection against heat. In "Casual" mode, the randomizer requires that you are given this protection before making you go to these areas. In "Hard" mode, the randomizer requires you have either 3 Energy Tanks or Varia Suit.
Great topic, Check out Vinny from Vinesauce for a lot of good randomizer examples. He usually plays Zelda II around this time of year. Even watching someone else play such a game can inspire users to return to them. If you search around there is a website that has a big list of randomized games out there.
Randomizers are also breathing new life into chess. Randomizing chess has been around for centuries, but especially since the 90s, when opening theory had become so stable that some grandmasters became bored with the memorization. Computers were especially good at that (though these days they've grown past that.)
So they're holding tournaments now with randomized chess pieces. They've just completed the first FIDE-recognized Fischer Random Chess tournament.
Unfortunately, a lot of strong chess players do not enjoy playing Chess960 because we've already invested hundreds of hours into learning openings and how those openings transition into a middlegame. While it's certainly fair (position is the same for both sides), it gives positions which are almost impossible to evaluate. This is exciting for spectators, but for me it's excruciatingly nerve-wracking. I can't play it.
I spent hours going through this list on wiki of chess variants. are there any on there that sound compelling to you or less nerve racking? there are even historical variants I've heard of, like one from the mongolian empire where there were "fortress" squares that were immune from attack. theres also a gimick version that sounds fun called "atomic chess" where when a piece dies, it takes out surrounding squares. and another called monster chess where white plays with only 4 pawns and their king, black has all their pieces, but white moves twice per turn.
I've played a lot of chess variants of various levels of sophistication. Here's one due to a friend of mine that I've been enjoying recently:
- normal chess, except you can't move the same piece your opponent just moved. So if I move a pawn, you must move a king/queen/bishop/rook/knight.
- check and checkmate are as normal, no need to capture the king. It's checkmate if the only move that would stop check is to move the forbidden piece. Stalemate also happens - king and queen is not enough to mate unless the kings are fortunately placed.
- castling is a king move
- pawn promotion counts as a pawn move when promoting, but a move with the promoted piece when considering the next player's move
- Black's e-pawn starts on e6 (alternatively, both players start the game with one free move)
My friend invented this as a way to play against beginners, where he plays with this restriction unknown to them. We refined it into an interesting competitive variant.
In regular chess it's incidental. It only comes up in relation to the touch-move rule and similar rules. And even there it's given special treatment: if you touch your king, then your rook, you must castle on that side if it's legal, instead of making any other legal king move.
In this variant, whether castling is considered a king move or a rook move or both has an effect on which moves are legal, so it needs to be spelt out.
I enjoy many chess variants. Atomic chess is quite fun (in 2012 or so a friend and I created an opening book to find forcing lines for White, where Black must know the correct line or lose by force). I have spent hundreds of hours playing bughouse, especially playing both boards against a normal team (which is a very fun way to play for stronger players). The difference is that none of these variants make a claim to be a replacement for normal chess. The seriousness of chess960 is exactly why I don't like it. Bughouse is not intended to be taken seriously.
While Chess960 is being played more, my impression is that Blitz and Rapid have done more to breathe life into modern chess. Slow chess has become more and more about playing for draws in the past few decades (high-ranked players would prefer to keep their rating rather than risk it by playing more aggressively -- but nobody really cares about their Blitz or Rapid ratings).
I did a playthrough of the Ocarina of Time randomizer with friends and it was a lot of fun. I can't imagine the amount of work it took to get online multiplayer working as well as it did.
Likely the first computer game to get randomised was Pac-Man. The original Pac-Man boards were deterministic enough that it was possible to memorise and follow a pre-planned route through the game https://archive.org/details/How_To_Beat_The_Video_Games/page... . Apparently this was addressed by an official Pac-Man Update Kit.
When I was 8 and all I had were half a dozen cartridges for my Atari, I would have loved this. Now, this might be interesting to try on a game or two, but I can afford any game I want and there are so many good games to play out there.
I can see the novelty, but I'd rather spend my free time on a well-designed game than a scrambled rehash of something I've already experienced.
Not mention of classic DooM.
Many "relative" modern mod WADs, add new variations of monsters and randomize the spawn of these variations. So playing the same map, never is equal. And for my, this make the game far fun and playable.
> And for my, this make the game far funnier and playable.
It's interesting how little the English words "fun" and "funny" have to do with each other; a game like Doom is indeed fun, but it isn't funny in the slightest unless you have a very odd sense of humor. It's also interesting to see how this oddness between "fun" and "funny" translates into people trying to learn English and stumbling over it.
While it probably was a mistake on the part of the original poster, randomizers actually can make games more funny too, for example (language potentially NSFW):
https://clips.twitch.tv/CarefulReliableCheeseYouWHY
Of course Doom is funny. A maniac with a chainsaw, cutting his way through hordes of zombies and the demonic legions of hell, is so absurd that it’s hilarious. Despite its violent and infernal subject matter, the game never ceases to remain lighthearted due to the incongruities raised by such a fast and powerful human protagonist, faced with ridiculous odds.
Reminds me of "really bad chess", a version of chess that was released as a mobile app where you play with a randomized set of pieces. was a big hit, and definitely added some new dimensions to one of the oldest games, period.
for my is funny to read this article, since it was one of the points I touched on my final thesis. how genetic algorithm and procedural generation could offer a new game experience every time you play a game.
For most popular speedrunning games, randomizers reward a completely different skillset than standard speedrunning. Typically, world record speedruns are a result of a community collaboration between theorizers, glitch finders, and routers, who devise the optimal "route" through the game -- what are the minimum objectives necessary to beat the game? What is the fastest order through the objectives? Then, running the game itself can require technical skill to move the character at speed with precision (particularly relevant in platforming games like Super Mario, etc) and execute tricky, timing-dependent glitches (notorious are 1-frame tricks, which require a certain input at a specific frame in a game running at 30 or even 60 frames per second).
Route optimization is somewhat equivalent to solving a traveling salesman problem, and is usually performed over the course of days or weeks in online chatting groups. In randomizer speedruns, however, the speedrunner must come up with a good route on the fly, since the particular randomization is essentially guaranteed to never have been seen before, as well as actually run the game. Needless to say, this demands, and shows off, a huge amount of expertise from the runner, and is a big treat to appreciate.
Personally, though, I think bingo speedrunning competitions are even better. Here, the goal is to win bingo on a randomly generated 5x5 grid of in-game objectives - but any square completed by you or your opponent becomes inaccessible for the other player! This retains the difficulty of routing on the fly while adding direct head-to-head competition between speedrunners. In some of the best cases, mindgames can ensue when speedrunners are aware of their relative skillsets which give them a comparative advantage at completing certain in-game objectives. Sniping squares becomes a fascinating strategy.
[0] True any% stands for beating the game with any percent completion. Communities for certain game sometimes rally around other categories that restrict or ban certain un-fun glitches (any% with certain limitations) since speedrunners ultimately want to have fun.