
How “randomizers” are breathing new life into old games - Tomte
https://arstechnica.com/gaming/2019/12/how-randomizers-are-breathing-new-life-into-old-games/
======
mxwsn
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.

~~~
wcarss
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 wonder what 50 years of this will yield!

~~~
CobrastanJorji
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.

~~~
seph-reed
Heh. It's pretty amazing how much of life boils down to this.

I think the greatest form of it may be the act of saying "fuck you!" to every
bell curve imaginable. Fuck bell curves, I'm going to do something else.

I really want to start a cult of bell curve hate.

~~~
trevyn
Welcome to the other side! :-) Life is good here.

------
at_a_remove
Ah, this is familiar.

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.

It was primitive but amusing.

~~~
kbenson
> 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...

~~~
joshschreuder
The idea of Game Genie is very much still a thing, most notably with Cheat
Engine:

[https://www.cheatengine.org/](https://www.cheatengine.org/)

~~~
mebo
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](https://github.com/cheat-engine/cheat-engine)

~~~
ajsnigrutin
For cheating (and all sorts of other stuff) on linux, you can always use
scanmem (also has a gui):

[https://github.com/scanmem/scanmem](https://github.com/scanmem/scanmem)

------
jdlyga
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.

~~~
WhompingWindows
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?

~~~
nwallin
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.

~~~
Orphis
Some are graph based, some aren't. ALttP was a giant pile of if/else last time
I checked the logic, which makes adding new modes a bit complex.

------
jillesvangurp
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.

------
kevinventullo
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?

~~~
aquova
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.

~~~
danaris
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.

------
aquova
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.

[0]: [https://github.com/aquova/KA-Rando](https://github.com/aquova/KA-Rando)

------
anilakar
Randomization taken to the extreme:
[http://www.farbs.org/romcheckfail.php](http://www.farbs.org/romcheckfail.php)

It's an old one-gimmick game by today's standards yet addictive. AFAIK the
author intended it to be a demo for a tile-based game toolkit.

~~~
daxelrod
Holy crap, thank you! I’ve been trying to remember the name of Rom Check Fail
for years so that I could play it again.

------
evo_9
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.

~~~
radicalriddler
That honestly sounds like torture. Do the enemies randomize on spawn / death /
bonfire rest?

------
ssully
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.

------
kupppo
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.

[https://github.com/tewtal/itemrandomizerweb](https://github.com/tewtal/itemrandomizerweb)

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.

------
crookshanked
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.

------
jfengel
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.

[0]
[https://en.wikipedia.org/wiki/Fischer_random_chess](https://en.wikipedia.org/wiki/Fischer_random_chess)

~~~
slphil
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.

~~~
deusofnull
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.

~~~
dmurray
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.

~~~
genera1
Castling is a king move in regular chess

~~~
dmurray
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.

------
vilhelmen
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.

------
leoc
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...](https://archive.org/details/How_To_Beat_The_Video_Games/page/n39)
. Apparently this was addressed by an official Pac-Man Update Kit.

------
CelestialTeapot
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.

------
Zardoz84
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.

Anyone, should try Complex Doom mod...

~~~
msla
> 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.

~~~
Elagatua
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](https://clips.twitch.tv/CarefulReliableCheeseYouWHY)

------
deusofnull
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.

------
atum47
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.

------
amelius
Why weren't these games properly randomized to begin with?

~~~
saagarjha
It’d probably mess with the storyline.

