User Files from warmCabin

Upload All User Files

#48877130464294925 - New subpixel optimization tech - proof of concept

flashman_3frame.fm3
In 01:32.75 (5574 frames), 120490 rerecords
Game: Mega Man 2 ( NES, see all files )
907 downloads
Uploaded 8/2/2018 4:16 AM by warmCabin (see all 30)
I've discovered a new subpixel optimization technique! It doesn't always save time, but a subpixel's a subpixel. You never know when an extra couple might come in handy.
When you fall off a ledge and need to turn around, it may seem like you should turn around and brush up against the edge of the wall to get the best position. This is not always the case. Sometimes, you can actually be a few subpixels inside the block; that is, the ejection routine (which runs when you push in the opposite direction) puts you just a bit further out than the first position where you can actually fall. By moving past the wall on the last possible frame, you can save around 0x10 subpixels, depending on your subpixel alignment.
Sometimes, this maneuver may not be possible at all, and it will be better to brush up against the wall and get a X8.00. You just have to try it for each jump.
Note that this does not work if you encounter a left-facing wall (you are holding right) that transcends a screen border; you will be ejected to X8.00. Right-facing ones seem to be OK, though.
To demonstrate this concept, I've utilized it to shave 3 frames off the current TAS (although in reality it's 1 frame + a door frame rule). I simply copy/pasted their inputs and executed proper turnaround subpixels on each relevant jump. I think this stage nicely illustrates all the quirks of when this technique is useful and/or possible. Branch 1 is the current TAS. Branch 2 is with my technique. Each branch is marked on the frame Flash Man dies. I highly recommend you watch this with RAM watch on (X pixel: 0x0460, X subpixel: 0x0480) to see exactly what's going on.
Fun fact: Much like ladder fidgeting, I discovered this while doing some playaround/TAS fidget stuff. I thought it might look cool to have Mega Man turn around at the last possible frame, but then I realized I was actually landing at better positions when I tried to do that! If you're working on a TAS, I highly recommend you do some silly stuff in your run. You never know what you might accidentally discover!

#48553221790148505 - Mega Man 2 - Zipless: Part 2.5

mm2_zipless.fm2
In 24:41.09 (89012 frames), 27003 rerecords
Game: Mega Man 2 ( NES, see all files )
850 downloads
Uploaded 7/18/2018 2:10 PM by warmCabin (see all 30)
I found a way to make the Crash Bomb glitch work, but I don't like it. I had to take an extra hit from the final Sniper Joe, which leaves me with an extra Item 1. Although, it'll certainly come in handy for the alien fight, so I guess it worked out (Didn't know about that secret ledge when I set out to make this movie).
It's likely I'll be saving yet another Item 2 in Wily 2, if I'm right that using Wood on the drills will be faster. If I do, being able to get good MadWidth from the unavoidable bullet would be extremely useful. I've had little luck with this myself, but do let me know if you can find a way to make that happen. Bear in mind that this is a rough draft v1.0 type of movie, which will be scrapped for a better version that attempts to fix all the mistakes. Therefore, the frame you might find here will almost certainly not work in v2.0.

#47641550972708655 - Mega Man 2 - Zipless: Part 2

mm2_zipless_part2.fm3
In 24:40.58 (88981 frames), 26163 rerecords
Game: Mega Man 2 ( NES, see all files )
973 downloads
Uploaded 6/7/2018 12:48 PM by warmCabin (see all 30)
A continuation of my zipless run. I didn't fix any mistakes, just pressed onwards towards the finish; I figure I'll probably make some more mistakes, so we can fix the old and new ones alike in version 2.0.
This movie plays until the Boobeams, which have me stumped! Going by finalfighter's extremely handy lua script, I can't seem to get a large enough MadWidth. I have to damage boost through that one sniper joe bullet at frame 7720, which essentially gives me 2 choices for MidWidth and MadHeight: 22 or 24. I can only seem to make these variables smaller the further to the right I go, although, frustratingly, you'll see them cycle through some super good ones like 56 before they settle on their final values (frame 7757).
These outlier values seem like a good place to start, but I may also try to take damage in the fight.

#47393292247559483 - Mega Man 2 - Zipless

mm2_zipless.fm3
In 19:45.96 (71275 frames), 19378 rerecords
Game: Mega Man 2 ( NES, see all files )
2 comments, 917 downloads
Uploaded 5/27/2018 8:28 AM by warmCabin (see all 30)
(Note: this file is for the Japanese version, Rockman 2.)
This is a popular category to run RTA (I myself run it), but I've never seen a TAS of it. I believe there are two reasons why:
  1. The zips in Mega Man 2 are some of the coolest tricks in speedrunning. Who would want to remove them??
  2. The ancient SDA rules make this category a bit ambiguous.
Regarding the first point: Well, I think zipless shows off a few neat things not seen in a regular TAS. For instance, WOODMAN'S ENTIRE STAGE.
Regarding the second point, the rules of this run are as follows:
  • No zips
  • No delay scrolls
  • No screen wraps
  • All other glitches are fair game
This might more acurately be called, "No Major Glitches." But whatever.

Encode

(Thanks, feos!)

Blunders

The Quick Man fight

I'm pretty embarassed about this. I take damage twice... Not for no reason, mind you. I do it to manipulate Quick Man's position and take advantage of i-frames. But I still feel like this fight could be a lot tighter. I could use some advice.
Frame data:
   (1st Hit)
   40 (+20 frames)
   20
   20
   20
   20
   20
   20
   20
   58 (+38 frames)
   20
   24 (+4 frames)
   22 (+2 frames)
   39 (+19 frames)
   
   Total time loss: 83 frames

Crash Man's Stage

In the opening room, I didn't realize you could jump up the first ladder without getting hit, so I utilized a unique buster strat. But apprently we've known about this for 15 years, so...

Minor Mistakes

These don't seem worth redoing, but I'd surely fix them if I did redo the run:
  • Shitty RNG for Air Man's last shot
  • Didn't think to shoot the drills in Metal
  • I don't think I handle mech damage boosts quite right
  • Why does no one ever change weapons in the boss rooms?
  • Made an unecessary landing in Bubble
  • Didn't test many Item-1/2 routes for Crash

Good Things

Buster-only Quick Man strats

For some reason, I thought Quick Man was immune to the air shooter when I was doing this stage. But ellonija mentioned that the old TASes used to use the air shooter? It sounded pretty dope: use air to kill all the enemies, just like RTA, then defeat Quick Man with some super finicky and cool air shots.
But I've done the math, and I believe my uninformed buster-only route is faster:
Air Shooter and Buster both do the same damage to Quick Man, and a perfect fight with both weapons would take the same amount of time, so that doesn't figure into our calculations. As I defeat the mechs at the end, I spend a total of 28 frames not holding right. The menuing to switch from P to A takes 45 frames, so the question becomes: Is it 17 frames slower to do all those jumps when shooting the fire head guys?
Well, Mega Man spends 246 frames in the air during that section. If we assume the air shooter route spends all those frames on the ground (which it doesn't; there are several jumps in that section), we can do some worst case math.
   air speed = 01.50
   ground speed = 01.60
   difference = 00.10 (that's 1/16).
   00.10 * 246 = 15.375
This means the buster route ends up 15.375 pixels behind the air shooter route. On the ground, we can make those pixels up in 14.47 frames, call it 15.
So, in this situation which is worse than reality, the buster route is still 2 frames faster than the air shooter route. That is CLOSE! But in reality it's even faster-er, so I believe the buster route is optimal.

Ladder Fidgeting

Not sure if this is a known trick, but it's a technique that provides a way to ascend slightly on ladders in some circumstances. When climbing ladders, shooting any weapon locks you in a shooting animation in which you cannot gain height. Unlike Mega Man 1, letting go of the ladder and re-grabbing it does not cancel this animation. However, there is a trick to gain a pixel or two that I call the Ladder Fidget, which can be performed as follows:
  1. Do the following 3 frames of input: A, nothing, Up. This is a frame perfect ladder fidget.
  2. Check if your Y position is higher up.
  3. Repeat the process until the animation ends, or you see you've stopped gaining height.
I can't figure out a pattern for when you'll rise and when you'll fall--It's all trial and error at this point. But I believe vertical velocity is being stored from before. It looks pretty silly when executed, and in fact, it started off as a "siliness tech" to pass the time in Crash Man's stage, until I realized Mega Man was actually ascending!

#46508413529735318 - Pictionary - "Any%" (v2.0)

pictionary TAS 2-compact.fm3
In 02:33.75 (9240 frames), 2880 rerecords
Game: Pictionary ( NES, see all files )
746 downloads
Uploaded 4/17/2018 12:03 PM by warmCabin (see all 30)
Whoops! I accidentally uploaded the wrong file before.
See my previous movie for some basic info.
This file beats the previous one by over 6 seconds, by improving upon it in the following ways:
The "NO," "PIN," "THINK..." sequence is much slower, even if it's the most popular one among RTA runners. According to my research, the sequence "TWINS," "SWAN," "COMEDY..." is faster by far than any other. It's over 100 frames faster than the next slowest, and about 1000 frames faster than average. My estimation techniques weren't 100% accurate, but I'm confident this is the fastest sequence, especially considering the absurdly long frame rules at play.
I had a breakthrough that allows us to get a roll of 6 on the first frame every time. All you have to do is delay typing the final letter for a couple frames; due to the 128-frame rule, the board loads on the same frame, but the RNG is different. I believe this happens because RNG is not advanced on lag frames, making the algorithm take in a totally different previous value as input.
I optimized the box stacking and fireman games a bit more. The fireman game is trivial to optimize, since all you have to do is sit still and let everyone die; just wait to press start until you get a faster sequence.

#46029021186161583 - Pictionary RNG DP

pictionary rng.lua
Game: Pictionary ( NES, see all files )
715 downloads
Uploaded 3/26/2018 9:54 PM by warmCabin (see all 30)
Most of this is explained in much more detail within the comments of the lua file, but here's a rundown:
It presses start on a certain frame to examine a word sequence. It reads the phrase from memory (0x0448) and determines how long it takes to type using a simple DP. It can then tell you which sequence of 6 phrases takes the shortest amount of time to type.
Note that it uses your shift+F1 savestate as a starting point...instructions on how to properly set this up are in the comments.

#45942285593125145 - Pictionary Sequence Finder v1.0

pictionary rng.lua
Game: Pictionary ( NES, see all files )
632 downloads
Uploaded 3/23/2018 12:09 AM by warmCabin (see all 30)
Not very user-friendly at the moment, so consider this a readme.
First, you're going to need an initial savestate in slot 1 (Shift+F1) (can these scripts load savestates from a file?). It should be on frame 479, the first frame you can press start to enter a blank name.
test_frame is the sequence to start searching at. That is, the script will press start test_frame frames after the initial savestate (whether you created it correctly or not). You can alter this if you want to continue from where you left off. You'll also need to alter best and worst to reflect the values you found earlier. If this is your first time running the script, just leave them be.
The script automatically increments test_frame and starts over after it's read 6 words. If you want to read more words, alter the magic number on line 111.

#45878339804197968 - Pictionary - "Any%"

pictionary TAS-compact.fm3
In 02:39.74 (9600 frames), 2212 rerecords
Game: Pictionary ( NES, see all files )
734 downloads
Uploaded 3/20/2018 3:02 AM by warmCabin (see all 30)
This movie completes the "regular" mode, single player, as fast as possible. Well...not quite.
In Pictionary, you can press start to skip a minigame if you think you know the answer. For real-time runs, this is really interesting: continuously demonstrate perfect play until enough of the picture is revealed that you can regognize it. But in a TAS, we can always recognize it! Just look at RAM offset 0x0448, using this table file. Therefore, we could skip the minigame on the first frame and type in the correct answer. This would eliminate all gameplay in the run, which would look something like this.
Since that would be really boring and lame, I propose the following stipulation for this category:
You may not press start at any time a minigame is on-screen.
That way there's still plenty of gameplay and strategy in the run. But even so, all the gameplay in this run consists of optimal suicides (which is faster in each game than successfully completing it); I'd like to make a no-damage run or something similar, but the firefighter game is proving extremely difficult to no-damage, or even fully reveal the picture. Virtually impossible, you might even say.

Let's talk about RNG. I manipulated the first word to be "NO", which is the fastest to type. I thought I would be able to manipulate that word for each game, but it turns out the words are generated in a pre-determined sequence, so I just stuck with what I got.
There's also other weirdness at play. Previously, I would have told you this, regarding the spaces and their corresponding minigames:
    Yellow =  Attack of the Paint Zombies
    Pink   =  Leapin' Energy Capsules!
    Brown  =  The Warehouse Shuffle
    Green  =  Four Alarm Rescue
    Red    =  Drawing game, or random from above in singleplayer
But in my run, it somehow ended up more like this:
   Red    = The Warehouse Shuffle
   Yellow = Attack of the Paint Zombies
   Pink   = Leapin' Energy Capsules!
   Brown  = Four Alarm Rescue
   Green  = Random
   Red    = Random
That's right. These colors aren't only inconsistent, but inconsistent within this run. One of the following must be true:
 - RNG determines which color means what
 - colors corresponding to games you've already played transform into random ones.
I decided not to think about it too hard, because it let me play the paint bucket game (which is about 200 frames faster than the next slowest one) three times.
The word sequence combined with the additional weirdness makes this RNG manipulation of the worst kind: wait a frame to press start, then spend an entire weekend making a TAS to see what happened.
Also worth noting: there is a 128 frame rule between correctly guessing a word and the board appearing. I'm not sure how close I am on those frame rules, but keep them in mind if you ever want to improve this time. A shorter final word would offer the most improvement, since ending the movie isn't subject to any frame rules.

#45790926035309033 - Pictionary Fun Run

pictionary fun-compact.fm3
In 09:04.07 (32698 frames), 8657 rerecords
Game: Pictionary ( NES, see all files )
2 comments, 713 downloads
Uploaded 3/16/2018 4:33 AM by warmCabin (see all 30)
(!!!!Pictionary isn't on the games list!!!!)
With it's incredible soundtrack and hilariously lame minigames, I thought Pictionary might have more entertainment potential than the TAS (link). And so, taking inspiration from (this) Family Feud run, I created: The Pictionary Fun Run!
Rather than submitting wrong-looking answers that are actually correct, I've done the exact opposite: submitting correct-looking answers that are actually wrong. The game checks for one specific word, so this isn't hard at all. I also throw in plenty of other fun guesses that you'll just have to watch the run to see :)
Other things this TAS features:
  • a suicidal paint bucket
  • a dancing space man
  • maximal but suboptimal box stacks
  • loss of innocent life
  • more shades of blue than any other TAS!
  • the number 6
I also think the drawing mode has a lot of potential for someone much more artistic than me. But the game doesn't process your images in any way, so unlike the Brain Age TAS, that would just sort of be art_lesson.fm3.
This is more of a freerun than anything else. Ostensibly it's an "uncover all the pictures%" run...but I don't uncover all the pictures. You could say it's a "no suicide" run...but I commit suicide at least 3 times. The best category I can think of for this is, "you're not allowed to press start to skip the minigames%". If you really tried, I'm sure you could invent a category contrived enough to make all these silly antics and weird guesses optimal...but isn't that against the rules, here? This run is just for fun, so sit back, relax, and jam out to some awesome tunes by Tim Follin.
In case you're curious, I've created an actual TAS of this game--it completes "Alternative" mode. I promise you, you're going to have a lot less fun over there than you will over here.

Here's an information dump. I don't think this game is complex enough to merit a wiki (also I don't know how to create one), but I can create one if this is inappropriate for submission text.
The board consists of five different colors, each corresponding to a different type of minigame:
   Yellow =  Attack of the Paint Zombies
   Pink   =  Leapin' Energy Capsules!
   Brown  =  The Warehouse Shuffle
   Green  =  Four Alarm Rescue
   Red    =  Random
The random minigame can easily be manipulated by pressing start on certain frames. So can the dice roll, except with A. The word to be guessed is determined as soon as the board appears on screen (I think), so you have to go quite a way back to manipulate that.
Timers and stuff:
  • The paint can can shoot paint every 10 frames.
  • You can add boxes to your stack every 8 frames.
  • You can select letters when entering your team name every 8 frames, but it seems to check for left and right on different modulo values (WHY??)
  • The game does not poll input for nearly 300 frames.
6 boxes high in the warehouse game is suboptimal. Any stack higher than 4 slows you down, and requires a lot more waiting to get across safely.
The astronaut in Leapin' Energy Capsules! has only one jump height, no matter how long you hold A.
It is impossible to get a perfect score on Four Alarm rescue. I dare you to find a frame with RNG good enough that you can save all the innocent lives.
The High-Top text entry system is somehow even more obnoxious as a TASer. You can only land on even letters (B, D, F...), so you're constantly overshooting and backtracking. Acceleration takes forever, too. And the game is weirdly inconsistent with how much you'll accelerate or deccelerate; sometimes you overshoot by SEVERAL letters and need to either backtrack MORE, or try to stop early and inch along to the right letter. SO stupid.

#45772070955058652 - Pictionary - "Alternative Game"

pictionary alternative TAS-compact.fm3
In 01:03.50 (3816 frames), 155 rerecords
Game: Pictionary ( NES, see all files )
759 downloads
Uploaded 3/15/2018 8:10 AM by warmCabin (see all 30)
This TAS completes the "alternative" mode, in which you're supposed to draw cards from your actual Pictionary deck and tell the game who won. So I just keep telling it I won until it tells me I'm the best.
Aside from the sound glitch, this TAS won't be terribly interesting to watch--there's no gameplay at all. but it's only 63 seconds long, so some people might still enjoy it.
"Why not do Regular mode?", you might be thinking. "There's gameplay in that!" (Or maybe you're not thinking that at all (except as you read it just now) because this game is terrible and no one would care or know about it if not for Tim Follin's amazing soundtrack).
Well, no. There's not. The minigames can be skipped entirely by pressing start, so a regular mode run would look just like this, except you get to watch the shoes type "NO" (the fastest word to type) 6 times rather than listen to a sustained D natural. Oh, and "NO" is one of 511 different words, so there'd likely be multiple SECONDS of RNG manip before each minigame. Which means it may be optimal to wait less time and settle for a slightly longer word, which sounds like a headache and a half to deal with. If you have the patience and the talent for something like that, I'd love to see it.
I mostly made this run to make a point. Without the stipulation I imposed on my other run, this game is trivial to TAS and boring to watch.