It's come to my attention that the topic of RNG manipulation has not been talked about on the speedrunning tetris forums and I don't know how many people are aware of what it can do. So I want to bring up how it works, what it can do, how you can do it yourself. And what its future on SRC can be.
How it works:
Tetris generally has very random pieces, but through using a metronome or other timing methods, if you can turn on a console and start a game (as an example) exactly 930 frames after power on. Then you will always get the same starting pieces every time. Since pieces always take the same time to fall, you can plan out a route and you will always get the same RNG every time you play it out, atleast until your first Tetris.
After your first Tetris you will encounter a 4 frame framerule which is dependent on the time you entered the level select screen. This this also becomes a frame perfect trick* in addition to starting the game frame perfectly.
.*Sometimes it's a 2 frame window. And of course you could always YOLO it and have a 1/4 chance to get the correct frame for the correct framerule by entering the level select randomly.
After this you play out a sequence that you've prepared beforehand, how hard this sequence is is up to the person constructing it. Whether it has DAS possible moves or moves that require rolling with many 25hz taps is up to the person making the route. With an infinite amount of moves, a route through Tetris always becomes a matter of compromise with skill and difficulty.
What RNG manipulation can do:
RNG manipulation can only really be used for runs starting on LV 19. This is because it requires runs to not push down, making this style of run not feasible for Lv 0 start runs.
RNG manipulation can also not really change your skill in Tetris, if you struggle with rolling consistency you will still misdrop and that will throw off the whole sequence. RNG manip doesn't lessen the skill, it only takes that skill and focuses it into other aspects leading to more insanely cool runs.
The purpose of RNG manipulation is to construct a route through Tetris, very similar to SMB1 where you have to complete hard tricks throughout.
RNG Manip also allows you to prevent luck from being a factor allowing for skill in Tetris combined with hard work in constructing routes to be the main determination of a good time.
RNG Manip can prevent unfortunate time losses at the end of runs that aren't up to players. In the WR run, approx 7 seconds was lost due to poor longbar timings that was completely out of the players control.
How to do RNG manipulation yourself:
It can be done by two distinct methods, either you use Mesen or Nestopia with rewind and savestates, or you use FCEUX or BizHawk to use a TAS editor for each frame individually. The latter is slower but offers greater control.
-
Pick a start frame for your run, This might be through feel or a rhythm or with a metronome. Using a TAS editor will allow for pinpointing a frame easier. If you aren’t using a TAS editor then make a savestate after the correct frame hit.
-
Construct a tiny bit of the start of your run, 10~ pieces. I suggest going back at this point and practicing hitting the correct frame and playing out the tiny sequence. Gauge how easy or hard it is. (Do 15min-2h of practice with the first setup before finishing the route or changing timings on the start frame.)
-
Construct a route through Tetris, making use of slowmo and rewind if done in Mesen/Nestopia, or with a TAS editor in Bizhawk/FCEUX. In order to make runs easier you can place pieces in mostly natural places to make them easy to remember for later. Make sure that placements are ones you think you could hit in a run. After the run is done, check the frame count and get the eventual time of the run. If you’re happy with the route then save the run as a movie or record it with History-Viewer.
-
Memorise the whole sequence and every move. This takes less time than you'd think, this process can be done in a day or less for 300k speedruns. This can be done by splitting up the movie and playing along with the run with a savestate at the start of the game.
-
Finally you're done with the route and you can go for runs. You may keep track of successfully hit frames and early/late frames to improve and adjust your timings.
I'm making this post because i'm wondering what the standard is for adding old obsoleted WRs. I want to have as close to a completely accurate WR timeline in the game i run (NWC1990) but the leaderboard was only added in 2019. And i have 4 cases where i wonder what the standard and the correct thing to do is.
-
The run was preformed by me, and i have clear timestamps of when the run was uploaded [to YT or Twitch] and can verify that the run is from the time that i claim it to be.
-
The run was preformed by me, and only retroactively uploaded on youtube. Timestamps on the file uploaded are available, as well as other circumstantial evidence for the time of completion.
-
the run was not preformed by me. The person responsible is NOT on SRC. And the run predates the creation of the leaderboard. But the run was uploaded to youtube with a clear timestamp.
-
The run was not preformed by me. The person responsible IS on SRC, but the run predates the creation of the leaderboard. But the run was uploaded to youtube or Twin Galaxies with a clear timestamp. (and video)
For #1 i assume its as simple as uploading the run to SRC. For #2 i don't know the course tbh. For #3 i understand if historic records aren't possible to add, i could get in contact with the person in question responsible for one or two of the historic records though.
Please let me know how this has been handled in other games.
I was messing around in an TAS editor to achieve the Fastest Mario and Rad-Racer and i found some interesting things which i haven't seen being discussed. Mainly about how to ACTUALLY have a perfect Rad-Racer.
Mario: You can actually achieve 12 coins from the multi-coin block instead of 11, this is something that has been known in the SMB1 community for years but has not found it's way to NWC '90 because it is not humanly possible. It requires 11 frame perfect jumps and has 0 frames of wiggleroom for errors. But this can be done in a TAS which pushes the 50-coin TAS down to 44s150ms, two whole seconds faster than the WR:[] There is a way to achieve 12 coins from the multi coin block in a RTA setting but the setup requires you to atleast hit 4-5 frame perfect jumps in a row and it's barely even faster than the standard method, if not slower
Rad-Racer:
-
The game only pulls inputs every other frame, meaning that 1 frame inputs are quite easy, and there is an element of luck whether your inputs will be read the frame you press it or the frame after you press it. This also means that your inputs can be ignored if you press a button for only one frame.
-
the ending score in rad racer is directly correlated to how fast you ended the stage.
This is a very weird concept, the reason for this seems to be that: if you slow down more on the dirt before crashing into the tree you will reach 0 speed faster than if you were driving or accelerating at full speed into the tree.
I've messed around for many hours, messing with A releases, pressing B for breaking, and every right press input timing and have yet to find a single instance where the score doesnt correlate to the frame the "great Racing" message pops up.
(assuminga mario score of 10300) The score you normally encounter at the end of rad-racer will be 72250 to 72220. Ending the stage at 72220 will grant you the fastest segment, and each 10 points over 72220 adds an aditional frame until the "Great Racing" text pops up: here's the timetable using a framerate of 60.09881fps.
Score: 72260 --- 6653f / 60.09881 = 1m50s701ms (from holding up)
Score: 72250 --- 6652f / 60.09881 = 1m50s684ms
Score: 72240 --- 6651f / 60.09881 = 1m50s667ms* - official WR
Score: 72230 --- 6650f / 60.09881 = 1m50s651ms
Score: 72220 --- 6649f / 60.09881 = 1m50s634ms
(* thousands digit could be rounded up to 668)
i got the frame timings from seeing that frame 4832 is the first where you get control over the car and tire smoke shows(in my TAS) and frame 11481 is the fastest you can end the stage at (in my TAS). leading to 11481-4832 = 6649 frames of Rad-Racer.
This part is only applicable to Rad-Racer only speedruns.
The frame when the timer should start is a bit vaguely specified in the rules, it states that :
"Timing starts when the car begins to move and ends when the "Great Racing" on the blue score screen fully loads."
This is because there isn't one specific frame where the car "begins to move" In this post i've assumed that the start of Rad-Racer is the frame you get control of the car and tire-smoke is seen, but you can also start timing a few frames later.
it takes 2 frames to show the speed increasing from 0 km/h -> 16 km/h and 4 frames for the car to visually move a pixel after getting control of the car.
all three points can be argued as when the car "begins to move" but ultimately its not too important because of this being a small side-category.
Regardless of timing method. The times in the Rad-Racer only category can likely be beaten easily with this knowledge.
In the Original PAL cartridge, if a player holds Select while placing piece it gives the player 10,000 points which means you can get a PAL maxout in under 10 lines.
This seems like something that should be disallowed in the rules.
i estimate that 80-90% of ALL top NES Tetris players use some form of the TetrisGym Romhack instead of the main cartridge. Most of the latest top runs and almost all future top runs will be preformed on it and it would be good to have some confirmation by moderators that this romhack is permitted for use in runs.
If you're not familiar with TetrisGym then here is the rundown:
TetrisGym is a Romhack that mainly combines a few quality of life improvements but importantly does NOT change A-Type or B-Type gameplay in any way. the main changes are an elimination of cut-scenes and Score-uncap to make the time between games as smooth as possible. This in combination with some seperate training gamemodes and a "SamePieceSets" mode for online Matches means that this romhack is used by all top players who are able to use it.
So is the use of TetrisGym on A-Type permitted since no gameplay is altered and in the base form there is not a single pixel changed that could tell TetrisGym and a regular Cart apart.
It has come to my attention that RNG Manipulation is not mentioned at all by the rules, and therefore by default allowed. And I think this needs to be discussed and decided on.
For a recap of what RNG Manipulation is: In NES Tetris, the RNG is random, however that randomness is still predictable. If you start a game 500 Frames after the console is turned on, then the start RNG you get is the exact same every single time you do so. (there is a bit more to it involving the music screen but thats not important)
This isnt a big deal as the next pieces are determined by the time the current piece hits the stack. so if you had 2 games both started on frame 500 with the same rng and make any differing placements between them. Then the RNG will quickly branch into its own sequence away from whatever moves you might have made any other time, leading to two completely different games and completely different rng.
(pushind down also changes the time a piece hits the stack making the rng different to not pushing down, so 100L 0start, and 0-19 speedruns won't be affected if rng manip is allowed as there is no way to meaningfully do rng manip if the scramble the rng every single piece you push down.)
But this leads to the possibility of engineering a TAS on 19 Starts (where you never push down) for the 300k and 100 Lines Speedruns where you can be as risky as you want, even making dubious moves in order to force longbars at perfect times. You'd only be limited by your horizontal speed (tapping) which due to Rolling is starting to become less and less of an issue.
For an example of what RNG manipulation can do. Here is a video of a slow DAS player replaying his TAS in real time on a console with controller getting 1,504k points before killscreen: (). This was done when the record for the game was barely a 1,300k by one of the fastest tappers, and 1.5 has yet to be beaten by anyone, even as many people have gotten 200k and even 300k+ on killscreen.
if RNG Manipulation is allowed, then it has the ability to drastically change the top of the leaderboard category for 300k, and maybe 100L in time. It'll make the speedrun more similar to SMB1 where people are simply replaying stages trying to get the same inputs every time. But for tetris it'll be just replaying moves done by you or a friend in a tas.
Personally im mixed on if it should be allowed. most games i'm aware of allow for this sort of thing. it allows you to know enemy patterns, and in some games its impossible NOT to notice the game giving you the same rng if you play optimally. But allowing this will change the leaderboard for 300k...
I think the leaderboards need to introduce smaller increments of time to list the Tetris(NES) Runs in all categories.
Currently All tetris categories only count times to the full second. And in categories like the 300k category, this leads to many people being listed as having the same time as eachother. While in reality one of them is over half a second faster than the other.
This lead to Pixelandy Not getting listed as having the world record in the 300k Category after getting a Low 1:40. Because Joseph already had a high 1:40.
Maybe the best solution is to introduce only 1 extra digit instead of all 3 for milliseconds. but regardless, somethig needs to be done. Because I don't want to next person who beats my 300k WR time by 0.7 seconds to not get the recognition they deserve.

Sweden





