Posts for marzojr

marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Just to whet your appetites: I figured a (more efficient) way of reproducing the Mushroom Hill 1 zip in the any% run (and hence, it is also an improvement to the newgame+ run). I am still struggling with getting Mushroom Hill 2 to not lose too much time -- the loops are broken in the wrong way, which is 5-6 seconds slower -- and I may end up having to sacrifice some of the savings in Mushroom Hill 1 so I can make the loops be broken the other way around. (The newgame+ version of Mushroom Hill 2 can stand even with the improved Mushroom Hill 1 -- Hyper Sonic more than makes up for the lost time at the start). I will not post WIPs of that just yet; there is a lot of ground to cover before that, as I think it may be possible to gain some time in IceCap and Launch Base 1. I am just teasing :-) Edit: Turns out I was right about IceCap; I am now at 1:00::17, a 68 frame improvement. I will post the WIP after trying out a few more things to see if I can knock a couple of frames, but I doubt if it will be possible. Edit 2: And it turns out that IceCap is staying at 1:00::17. The things I wanted to try weren't possible -- one of the required spindashing while in a wall and with antigravity glitch active, while the other is only possible after a super transformation. Anyway, here is the WIP until the end of IceCap. It also features a 2-frame improvement of the Angel Island 2 transition cutscene to Hydrocity 1. I don't think Marble Garden and Carnival Night are improvable; but Carnival Night 2 might be if it were possible to manipulate Tails to show up earlier at the Knuckles cutscene. Sadly, I don't meet Knuckles earlier, meaning that I can't glitch that cutscene...
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
PJBoy: Just about any sort of script where there is some sort of UI, like the point-and-click subtitle creator script DarkKobold posted above.
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Hm. So it seems that pestering the Gens, Snex9x and VBA devs to support gui.register would be the best.most consistent course of action :-)
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
mmarks: you have no idea how many times I tried (and failed) to do that! With this, there are now 4 improvements I know of for the newgame+ run, and it hasn't even been published yet...
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Indeed, I guess it was lost in the wake of the Simpsons.
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
DarkKobold: at least in Gens, something like this works: [code lua]while true do -- code that runs once per loop (and stops this loop when finished) goes here gens.redraw() gens.wait() end[/code] (this is straight from the Gens Lua docs, BTW) You could try adapting from that instead of the save/reload/advance combo you have. And yes, input.get() works as expected. And file bug reports for all emulators in which it doesn't work :-)
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
HHS: Thanks, that was enough. For what is worth, it can be done by doing 5 1-frame brakes with Tails more towards the end, but requires very precise timing. So far I am losing 1 frame in in-game time from the published run, which is why I won't post the GMV yet; I will see if I can regain it, but the glitched transition looks great. Re: Carnival Night 2: That is interesting. It will probably be more useful to mike89 in his unassisted run (as the published runs all skip Knuckles' earlier appearance in that level), but interesting nonetheless. Edit: here. Also featuring a 2-frame improvement in Hydrocity 1.
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
mike89: Interesting. Very interesting. I have no idea how you triggered that glitch, and the attempts I made or replicating it based on the movie failed. I hope HHS or Upthorn have any idea on what may be causing that glitch, because the S3K disassembly available online is still very incomplete and a PITA to work with for my limited understanding of m68k assembly...
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
New version of the script is up, with the following changes:
  • Fixed support for S&K and plain S3.
  • Fixed jump predictor for S2K.
  • Added Upthorn's code to disable super/hyper music in S3, S&K and S3&K.
  • Reorganized code into multiple source files, all of which include the files it needs. All the scripts directly in the "sonic" subdirectory are standalone scripts included by the main HUD script and conditionally toggled on or off.
  • Added configuration menu and persistent settings.
  • Fixed behavior of script when it was started and when loading a saved state.
  • Score tallies for all supported games can now be skipped.
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Zeupar: in the GMV, I had ended input just as Sonic landed because I thought I could get a couple more frames in the boss. As it turns out, I managed to get 3 frames, ending with 0:30::57. And the death scene is also shortened by 1 frame by manipulating Sonic's pixel and subpixel position and having Tails stuck in air (meaning it is now as short as the newgame+ version). Noob Irdoh: thanks for the encode, but it is obsolete now :-)
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Ah, success! I managed to replicate the trick with regular Sonic; by the time Sonic was inside the final loop, all stunts were for naught as the boss object was already loaded elsewhere; so I had to go slightly earlier. The final cost is 34 frames in Hydrocity 1, for an even 0:31. Given that I gain 3 seconds, 47 frames from the faster death, I profit from the exchange. I am ahead by 5 seconds, 52 frames already.
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
upthorn wrote:
Rings won't, unless pulled by a lightning shield or ejected when sonic gets hit.
The problem is that I *do* have a lightning shield, so the rings get in the way :-) I am actually trying to manipulate one of the rings be pulled by the shield to load in the desired slot and have it follow me down enough so that the end of act monitors do not get the slot; I then have to get the ring to free the slot, and avoid triggering the drowning counters before the boss loads. It is very hard to time everything correctly without losing too much time...
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
First WIP of the any% run, up to the end of Hydrocity 1. I have been utterly unsuccessful in my attempts to improve Angel Island -- everything I tried either didn't work or was slower. Hydrocity 1, on the other hand, was much kinder -- improved precision at the beginning, two new shortcuts and a lightning shield combine to an improvement of 2 seconds, 39 frames over the published run -- and an exact 2 seconds faster than the newgame+ version. Final time: 0:30::26. I can almost replicate the quick death glitch from the newgame+ run at the expense of a slightly slower boss fight; but it is very hard to manipulate the boss to be loaded in the object slot I want as any objects that appear will use that slot if it is free. This includes rings, the hidden end of act monitors and even the drowning countdown object...
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
You know, Mister Epic is going to hate me, but I am going to follow Nach's suggestion and take a closer look at the other levels. Already I have a possible improvement in mind for Hydrocity 1, and it will give a greater interval between the last run and this one.
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
After looking into it and doing some thinking, I have decided to let the submission stand as is. The Lava Reef 1 miniboss desynchs, and I am sick entirely of replaying it; after replaying it or adding pauses to luck manipulate it, the Sky Sanctuary boss will probably desynch too, and then the Death Egg 1 miniboss will desynch. All of this for a 25 frame improvement... it is simply not worth it to update the run.
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
The problem is not that he brings it up -- it is where and how he brings it up. Bringing it up in the game thread (such as Toothache did for the newgame+ run) is perfectly fine; bringing it up in the submission thread, particularly for a minor improvement, is downright rude.
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Toothache: it is a zip, plain and simple, followed by horizontal underflow. The trick dmtm found was a way to glitch the collision engine to enter the ground. GGG: Stop. Doing. THAT. You are not the one that has to resynch the movie, and you are not the one that has to spend hours making a quality encode only to see it go to wasted by a 4-frame improvement. Edit: moreover, as it turns out, 0:26::46 is possible, and reduces the following cutscene by 13 frames. So yes, that is 25 frames.
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Nice movie, and an easy yes vote.
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Yeah, there are several parts of the 100% run that can be improved, even without the new tricks involving horizontal underflow. If the newgame+ does not obsolete the 100% run, I might revise it one day; if it does obsolete it, there is really no point.
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
The submission file has been replaced, and the text changed accordingly. Thanks to Toothache for the idea for the DEZ2 improvement, and for Truncated for updating the submission. And my apologies go our hard-working encoders :-)
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
I submitted a slightly improved version (13 frames) to a judge to replace the submission file.
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
FuzZerd is correct, the rings monitors are just in the way of the zip. That said, watching it more carefully, it does seem to be possible to do it by taking only of the monitors; I will look into it, but even if it turns out to be possible, it may not be worth it: at best, it will save about 5-6 frames; however, it will probably force me to redo the DEZ2 mini-boss because Tails will appear 5-6 frames late (and that boss tends to desynch horribly because of poor programming -- Tails and hyperlaunch interact very poorly), and it will almost certainly force me to redo Doomsday zone (which will desynch due to luck). Edit: There were 10 frames saved by picking only one of the monitors. The mini-boss desynched and had to be replayed (as predicted) and Doomsday desynched and had to be replayed (also, as predicted). Replaying Doomsday was as painful as ever, but I managed to gain a few more frames in it despite slightly worse luck. I have submitted the file to a judge with the request to replace the current submission.
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
That was epic! Loved the glitched ending of the AR2 boss, and that zip in CN1 was a nice find. Re: CN2: if the 8 frames made the timer end at 46 seconds, I would have said to go for them; but as is, I think this small trade off could be thought of as a speed for entertainment trade-off.
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Currently, it is possible to embed neither a savestate nor SRAM into a GMV file; but there are plans for both for GM2. So whichever is chosen makes no difference, and a separate file is required in either case -- either a savestate anchor or a compatible SRAM. I decided to make the movie depend on a savestate instead of SRAM because:
  1. GMVs do not have a flag for SRAM dependency. This means that Gens neither knows nor cares about the SRAM dependency of the movie, and will not ask for the SRAM file.
  2. 'Clear SRAM' is checked by default. Thus, supplying the SRAM does not guarantee that the movie will synch when playing because it is very easy to forget to uncheck it. And because any other S3&K movie you play will overwrite SRAM.
  3. Gens will refuse to play the movie if you don't supply the savestate, giving an error message. This already gives feedback to the user that he is forgetting something.
For these reasons, the natural choice until GM2 is a savestate dependency, using the procedure I developed to guarantee that starting from the savestate anchor is equivalent to starting from the "dirty" SRAM. An alternative would be to make custom version of Gens that uses a derived GMV format that allows embedding of SRAM or savestate. This would break Microstorage, the TASVideos site and the TAS Editor (unless the change is 'approved', and the required code changes are implemented) and would require shipping the custom emulator. In all cases, another file is required to play the movie.
Marzo Junior
marzojr
He/Him
Experienced Forum User, Published Author, Experienced player (752)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
So, I have looked into it and decided to do some improvements of my own. Here are the results. So far, it is up to the end of GHZ3; the time table:
Level    Time        Improvement
GHZ1     0:15::50    44 frames
GHZ2     0:14::54    21 frames
GHZ3     0:28::15    10 frames
Everything I tried in MZ1-3 didn't result in any net gains (I can gain 1-2 frames here or there, but always lost those frames it due to difference in pixel/subpixel position). But I have a substantial improvement in store for SY1 (which, in retrospect, is blindingly obvious). But I will finish a resynching script I am working on before I submit the SY1 improvement. Edit: forgot to link in the movie.
Marzo Junior