3 private links
Dans un univers où la magie a été remplacée par le mystérieux pouvoir de la ligne de commande, vous incarnez un personnage démuni qui n'aura d'autre choix que d'en servir pour reprendre le contrôle de sa vie.
Version originale (English) : mprat's Terminus game http://mprat.github.io/Terminus/ (code https://github.com/mprat/Terminus/)
a game to learn (or teach) how to use standard commands in a Unix shell - GitHub - phyver/GameShell: a game to learn (or teach) how to use standard commands in a Unix shell
https://news.ycombinator.com/item?id=23442998
This was surprisingly awesome.
There's a "battleship" like game in Zelda that is "required" (I guess) to be won three times in quick succession for a complete speedrun. Trying to get three wins in a row is too slow, so they developed a method that uses knowledge of the random number generator to find the answers.
The method is, as I understand it:
-
The seed for the RNG is fixed (RNG is Whichmann-Hill with a seed of 100,100,100, apparently)
-
The RNG is used throughout the game and is called upwards of 5.5M times before they get to the "battleship" challenge, so there's a bell curve distribution on what state the RNG is in by the time the player arrives at the challenge
-
The bell curve is too wide to effectively be used to narrow the search down initially, so a few "battleship" games are played (and lost) to guess the state of the RNG
-
From the last step, this narrows the search down to a few "key states" of the RNG, each with their own bell curve distribution of what state the RNG is when next used to create the random mini-game
-
A new distribution 'heat map' of possible ship positions is generated so players can have an increased probability of solving the puzzle
-
Each subsequent guess and/or win give more information about the RNG state to effectively narrow down the search
The key point here is that the RNG is used throughout the game, with an unknown number of calls in between when it's being called for the Zelda mini-game they're trying to win.
Since the method is out of game (as in, not reading memory from the game, using only input from the player out-of-game), it's allowed in speed-runs, much like consulting a web-site with a tech-map or other quick calculations to help the player in game.
I'm no expert but this sounds almost verbatim what cryptoanalysts do to break some encryption protocols with known seed states or other 'side band' information.
This is a fully functional 350-point version of the classic Colossal Cave Adventure game - written in SLAX as a Junos op script.