Yoshi's Story Any% TAS

  • EMULATOR -- Mupen 64 rerecording v2 record reset
When playing back this movie, be sure to go into the Mupen Save folder, and delete the ROM's .EEP file (aka Mupen's version of RAM) or else you will get a desynch. From what I now, this version of mupen may cause crashes on Linux, since the reset command doesn't work. Of note: This version of mupen resets the emulator itself, rather than just the ROM. If you see Mupen shut down and reload, be calm.
  • ROM – Yoshi's Story
  • COUNTRY -- USA
  • CRC -- E8D83723
PLUGINS --
  • video: Glide64 v0.7 ME SP8
  • sound: Jabo's DirectSound 1.6
  • input: TAS Input Plugin 0.6
  • RSP : RSP emulation Plugin
Note for encoders: I don't think synch is affected from using different plugins. I believe there's a version of Glide Napalm that emulates Yoshi Story perfectly, so all encodes should be used with the most recent version of that.
CONTROLLERS --
1: Present
2: Disconnected
3: Disconnected
4: Disconnected

Goals

  • Aims for fastest time
  • Abuses programming errors in the game
  • Genre: Platformer
  • Uses a Game Restart Sequence
  • Eat lots of fruit fast
  • BE HAPPY!
Comments will come later. I'll add in the tricks + glitches, explain the acceleration, and give level-by-level explanations.

Baxter: This movie sat in the workbench for long enough. There is a known improvement, but inclusion of these improvements seems to take its time. Improvements to this submission can be made in a new submission.
The response on this movie has been very positive, and the quality of the run seems good; accepting.
sgrunt: After many failed attempts at encoding this, it looks like Lex and Ilari have succeeded. Therefore, publishing shortly.


Joined: 6/26/2011
Posts: 167
Unfortunately, it seems very nearly noone in this thread was able to get the input file to sync properly. That does kind of put a hamper on things when it can't even be encoded without desyncing. I'm a little worried that there might be some unusual lag differences that altered the run somehow. I don't know how this would cause a frame-by-frame run to deviate, but... I dunno, maybe the emulator was inadvertently skipping frames but not recording them in the input file as skipped frames, or something like that... x.x I'm looking forward to seeing the run when it does get encoded, though. :3 (Unfortunately, I don't have the game anymore, so I can't really view it via input file. x.x)
First a movie gets submitted, and ends up accepted despite breaking rules other runs have been rejected for. And when I vote less than spectacularly on this movie, I become the victim of harassment and threats. Yay, favoritism.
sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
We have been able to get the run to play back; it seems that nobody (with a couple of exceptions) has been able to do so in a manner that lends itself to video dumping.
Player (100)
Joined: 3/20/2008
Posts: 466
Location: Montreal, Quebec, Canada
Would it just be easier for everyone involved if I redo the entire run using the normal Mupen?
Since you made the run perhaps you have the best chance of making a synched encode? Just a silly thought.
Editor, Experienced player (734)
Joined: 6/13/2006
Posts: 3300
Location: Massachussetts, USA
I honestly don't know my computer's encoding capabilities. I can attempt to make 6 different single pass encodes of each level; that's as far as my knowledge goes. But there's already a full basic encode of the run anyways.
Homepage ☣ Retired
Player (100)
Joined: 3/20/2008
Posts: 466
Location: Montreal, Quebec, Canada
I meant a publishable encode, but if your computer can't handle it, then I suppose that's out of the question. It would be a pity having to re-do all that input.
Joined: 6/12/2008
Posts: 84
Wow this run...if there's an award for "most time on the workbench" this run has got to be it :P
Experienced player (622)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
Not even close. I think skate or die takes the cake for that. Over a year on the WB.
Measure once. Cut twice.
Editor, Experienced player (734)
Joined: 6/13/2006
Posts: 3300
Location: Massachussetts, USA
Vykan12 wrote:
It would be a pity having to re-do all that input.
I'd probably just hex everything, and take the time to check that world 4 improvement suggestion.
Homepage ☣ Retired
Lex
Joined: 6/25/2007
Posts: 732
Location: Vancouver, British Columbia, Canada
#tasvideos wrote:
01:37:25 <Lex> i now have an avisynth script which plays a perfect video of Comicalflop's Yoshi's Story TAS :D 01:37:28 <Lex> time to encode 01:37:43 * Sonikkustar has quit IRC (Quit: Page closed) 01:37:54 <Grunt> Lex, please post in the thread saying so.
This was the most hellish dump ever. I've had to persevere through probably 6 hours total of dump attempts and deletions, not to mention trying all sorts of ways to fix various things. I really want this awesome TAS published. My script removes the emulator text at the bottom of the screen (thanks, Dacicus!), adds my logo, and adds the normal tasvideos subtitles. I'll encode it with x264 in 444 lossless mode now. If anyone wants to take my lossless dump (can be decoded with ffmpeg) and make an official lossy encode for tasvideos, they'll have my permission. The audio in my encode will be flac. Edit: I just realized there's some emulator text at the end of each clip too. I have to take care of that first. Edit: I've blanked the emulator text at the end of each clip now. It looks perfect now. I'm now encoding.
Player (36)
Joined: 9/11/2004
Posts: 2630
Just fyi, 444 isn't lossless, but rgb is. Colorspace conversion.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
OmnipotentEntity wrote:
Just fyi, 444 isn't lossless, but rgb is. Colorspace conversion.
Where the final result is going to be YUV and there isn't any down-sampling involved (as with YUV444), there's probably not going to be much of a difference (if any) when re-encoded to something in YUV420.
Emulator Coder, Skilled player (1112)
Joined: 5/1/2010
Posts: 1217
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15535
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [1849] N64 Yoshi's Story by Comicalflop in 11:00.23
ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
now that we have the encode, I'd like the author comments
Lex
Joined: 6/25/2007
Posts: 732
Location: Vancouver, British Columbia, Canada
Just so it's not lost, here's the full AVISynth script I used which blanks the emulator text, centers my logo, etc.:
logofile = "logo.png"

a = AVISource("ystaspart1.avi").ConvertToRGB24()
a2 = Trim(a, 0, 200)
a3 = Trim(a, 201, 5293)
a4 = Trim(a, 5294, 0)
a2a = BlankClip(a2, length=600, width=640, height=20, color=$00000000)
a2b = Overlay(a2, a2a, x=0, y=460, opacity=1.00)
a2c = Overlay(a4, a2a, x=0, y=460, opacity=1.00)

b = AVISource("ystaspart2.avi").ConvertToRGB24()
b2 = Trim(b, 0, 200)
b3 = Trim(b, 201, 5679)
b4 = Trim(b, 5680, 0)
b2a = BlankClip(b2, length=201, width=640, height=20, color=$00000000)
b2b = Overlay(b2, b2a, x=0, y=460, opacity=1.00)
b2c = Overlay(b4, b2a, x=0, y=460, opacity=1.00)

c = AVISource("ystaspart3.avi").ConvertToRGB24()
c2 = Trim(c, 0, 200)
c3 = Trim(c, 201, 7593)
c4 = Trim(c, 7594, 0)
c2a = BlankClip(c2, length=201, width=640, height=20, color=$00000000)
c2b = Overlay(c2, c2a, x=0, y=460, opacity=1.00)
c2c = Overlay(c4, c2a, x=0, y=460, opacity=1.00)

d = AVISource("ystaspart4.avi").ConvertToRGB24()
d2 = Trim(d, 0, 200)
d3 = Trim(d, 201, 6140)
d4 = Trim(d, 6141, 0)
d2a = BlankClip(d2, length=201, width=640, height=20, color=$00000000)
d2b = Overlay(d2, d2a, x=0, y=460, opacity=1.00)
d2c = Overlay(d4, d2a, x=0, y=460, opacity=1.00)

e = AVISource("ystaspart5.avi").ConvertToRGB24()
e2 = Trim(e, 0, 200)
e3 = Trim(e, 201, 6388)
e4 = Trim(e, 6389, 0)
e2a = BlankClip(e2, length=201, width=640, height=20, color=$00000000)
e2b = Overlay(e2, e2a, x=0, y=460, opacity=1.00)
e2c = Overlay(e4, e2a, x=0, y=460, opacity=1.00)

f = AVISource("ystaspart6.avi").ConvertToRGB24()
f2 = Trim(f, 0, 200)
f3 = Trim(f, 201, 0)
f2a = BlankClip(f2, length=201, width=640, height=20, color=$00000000)
f2b = Overlay(f2, f2a, x=0, y=460, opacity=1.00)

a = a2b + a3 + a2c + b2b + b3 + b2c + c2b + c3 + c2c + d2b + d3 + d2c + e2b + e3 + e2c + f2b + f3

# Adjust the below items to adjust the subtitles.
# This is so that the movie will have the correct subtitles.
# All the required information will be on the movies submission page.
# Be sure to keep the "" tags everywhere, even when branch is blank (Making it "").
game = """Yoshi's Story"""
branch = """"""
author = "Comicalflop"
time = "11:00.23"
rerecords = "12055"

# This sets the start time for the subtitles to start displaying, this is set as a frame
# number.
subff = 793

# This controls how long the subtitles stay on the screen.
sublength = 300

# This is the delay for the second set of subtitles to come in.
# This is useful if it is more asthetically pleasing to delay the second set of subtitles.
# Do not set this lower than 1, otherwise the subtitles will overlap and look ugly.
subdelay = 1

# Below is the size for the subtitles.  Small (NES, GB, SNES, etc.) encodes use a size of 10.
subsize = 20

# Below are the values for the left, center, or right positioning for the subtitles below
# in the script, modification shouldn't be attempted unless you know what you're doing.
positionleft = 7
positioncenter = 8
positionright = 9

# This sets the position of the subtitles in terms of direction, it can be left, right, or
# center.
# Set positionleft for left, set positioncenter for center, set positionright for right.
# Setting this to positioncenter is considered standard practice, other positions
# shouldn't be used unless it looks far better.
position = positionright

# This sets the y position for the subtitles, basically, how high or low they are up on
# the screen.
# The higher the number, the lower the subtitles.
ypos = 2

# This adds the logo.
b = ImageSource( file=logofile, start=0, end=int((a.FrameRate * 2) - 1), fps=a.FrameRate )
c = AudioDub(b, BlankClip(b.framecount, fps=b.framerate, audio_rate=a.AudioRate, channels=a.AudioChannels)).AddBorders((a.width - b.width) / 2,(a.height - b.height) / 2,(a.width - b.width) / 2,(a.height - b.height) / 2,$000000) + a

# This adds the first set of subtitles.
multi = c.height / 224
multi = (multi > (c.height / a.height)) ? multi : (c.height / a.height)
Subtitle(c, game + "\n" + ( (branch == "") ? "" : branch + "\n" ) + "Played by " + author + "\nPlaying time: " + time + "\nRerecord count: " + rerecords, y=ypos, align=position, first_frame=subff, last_frame=(subff + sublength), size=subsize , text_color=$15FFFFFF, lsp=10)

# The below line is for calculating the frame number for the second set of subtitles to begin.
lastframenum=(subff + sublength)

# This adds the second set of subtitles.
Subtitle( \
    "This is a tool-\nassisted recording.\nFor details, visit\n" + \
    "http://TASVideos.org/", y=(ypos ), align=position, \
    first_frame=(lastframenum + subdelay), last_frame=( \
        lastframenum + subdelay + sublength), size=(subsize  \
    ), text_color=$15FFFFFF, halo_color=$00000000, lsp=1 \
)
Thanks for encoding and publishing, Ilari!
Joined: 6/26/2011
Posts: 167
Oh, geez, you had to pick the most nightmarish screenshot possible? >_>
First a movie gets submitted, and ends up accepted despite breaking rules other runs have been rejected for. And when I vote less than spectacularly on this movie, I become the victim of harassment and threats. Yay, favoritism.
Editor, Experienced player (734)
Joined: 6/13/2006
Posts: 3300
Location: Massachussetts, USA
ALAKTORN wrote:
now that we have the encode, I'd like the author comments
Once my life stops being a shitstorm, yes I will get around to updating the run comments with stage by stage commentary and tricks
Homepage ☣ Retired
Quietust
He/Him
Emulator Coder, Former player
Joined: 7/14/2004
Posts: 250
I think I got diabetes from watching this speedrun, but whether I got it from the excessive cuteness or all of the fruit being eaten is anyone's guess...
* Quietust, QMT Productions P.S. If you don't get this note, let me know and I'll write you another
Editor, Player (69)
Joined: 1/18/2008
Posts: 663
I got excessive migraines. And I thought Zelda games were bad. Man, this is terrible. The sounds have given me a migraine. I'm surprised I could stand 10 minutes of it. Yoshi's Story is OVER. Let's burn it now.
true on twitch - lsnes windows builds 20230425 - the date this site is buried