Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
User movie #63373104161969599
Skips found in Hot Daisy, Freesia, and Heaven. Major lag reduction in Puppetmaster and Baron, but more lag in Touch and Sound fights.
Transitions: -00:00.25
Hot Daisy: -00:06.53
Burn Daisy: +00:00.03
Iris transitions: -00:00.05
Camellia Desert: -00:00.30
Babel transitions: -00:00.03
Dippy: -00:00.10
Freesia: -00:02.33
Heaven: -00:06.23
Past Iris transitions: -00:00.05
Camellia Temple: -00:00.27
Past Burn Daisy: -00:00.87
Anemone Beach: -00:00.35
Past Soleil transitions: -00:00.12
Taste: -00:00.20
Touch: +00:00.03
Sound: +00:00.35
Transitions: -00:00.05
Total: -00:17.32
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
This was a good discovery. It turns out that going sideways instead of back allows me to zone 1 frame faster in every loading trigger, not just the Freesia door.
For the Freesia exterior I did one better and noticed that you can hazard OOB through that wall right after getting Inferno, saving 00:02.27. And recently found another skip in Heaven 3 that might save 3-6 seconds. So I'm going to delay this while I shore up those skips and redo the bosses.
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
Good find! It desyncs after the Georama fight and not for the reason you think -- there is now an extra lag frame on 47406. Even after inserting another frame there, the bee at 50437 now has a completely different initial trajectory.
Position and subpixels are reset between screens, but the game has oddities with timing that I could never work out, even when RNG (0xB562) is controlled.
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
Wide turns are generally preferred due to how movement is calculated. While holding diagonally, you build up speed on both axes (multiplied by sqrt(2)/2), and when you release one direction you retain your speed on the other axis. If I hugged that corner, I would not actually have enough vertical speed to make the jump. You can see this also at 17:00 jumping over the pond. Crude illustration:
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
I found two more skips in Black Night and touched up the boss rush. Please replace with this file: User movie #63200190502589453
Black Night: -00:07.80
Smell: 00:00.00
Taste: -00:00.12
Touch: +00:00.02
Sight: 00:00.00
Sound: -00:02.80
Total: -00:10.70
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
Posting a WIP that goes up to the final area. Since the final boss rush involves a lot of RNG manipulation, I want to be sure I've optimized all the previous segments before I begin.
Link to videoUserfile (uses BizHawk 1.13.2)
Big shoutouts to the RTA discord who gave me a huge amount of feedback! New tricks used:
Slight OOB
In many cases, you can be 1-3 pixels inside an object or terrain, horizontally or vertically, as long as you bypass their outer hitboxes. At full walking speed, you move 2.125 pixels per frame. In Soleil Park, the signpost by the Fortuneteller's tent has a side hitbox 2 pixels wide. With correct subpixel positioning, you can bypass this while being 3 pixels inside it vertically, allowing you to touch the Fortuneteller tent loading trigger without fighting the Wolf in Dahlia. Tent Skip saves about a minute and a half.
This can also be used for any loading trigger that is slightly inside terrain, such as Daddyphant's house (only with Flash), Freesia, and the Soleil church.
Hazard OOB
Use slight OOB to put yourself in an object/terrain, then jump onto an invalid tile such as pits, lava lakes, or deep water. Press away from the object/terrain while your height is 0, and you will be ejected away from the hazardous tile and into the object/terrain -- unless the tile is diagonal, you will be fully out of bounds and able to walk freely through terrain and objects. This means that nearly any pit/lake that touches a wall can be used for an OOB, particularly Iris, Freesia, and Camellia Temple (using a vertical wall). This is also done in Anemone, using the collapsing pitfalls to move rapidly and then clip OOB. Dippy and Rio can be used in an RTA setting to help with the timing, but with TAS they are not needed.
If there is a valid tile on the other side of the OOB, you will be zipped directly there instead of inside the terrain. For reasons unknown, this does not occur if your Y position is exactly the same as the bottom wall tile in Camellia Temple, so you are not zipped through it.
Rio Hazard OOB
Rio as a platform prevents you from taking pitfall/hazard related damage, while preserving all the "invalid" properties of the tile. This means regrowing hazards in Dahlia and Black Night can be stood on while invalid, allowing you to walk directly OOB. This is useful if there is no gap in the horizontal/vertical wall that allows for a slight OOB, or if there is a valid tile directly across the wall that you would otherwise be zipped to. This will be implemented twice in Black Night; I am currently testing Mother Monster for a faster skip.
It's currently thought that this behavior is due to Rio preventing your respawn coordinates from updating, but the exact physics are still unknown. I have observed that Rio cannot be mostly over the tile; I suspect his platform hitbox is quite large but a tile that detects that he is directly on it will override him. He must be slightly or somewhat off the hazard tile.
Respawn Abuse
Your respawn coordinates update whenever you are on a "safe" tile that cannot change state. It does not update when you are OOB or on a hazard, or on grass, beach, slippery slides/cliffs, collapsing sand, breakable platforms, etc, and also does not update while on Rio or Dippy. It also does not update on zone changes unless you are on a safe tile when you load. In Heaven you leave the third map with a very low Y coordinate and enter the next map in grass, so if you fall into a pit right away, you respawn in the upper-right corner of the map. This can also be done in Anemone Beach, first by starting in the right entrance of Hot Daisy to set the coordinate, entering the beach on sand, using Dippy to cross any "safe" tiles, and then using the collapsing sand to respawn in the top-right corner -- this is slower in TAS, however.
Kart Lap Rollback
Near the finish line the game checks four X coordinates, one 1 tile left of the line, two on it, and one 1 tile right of the line. To prevent a lap from rolling back, you need to be between points 1 and 2, reverse to point 3, then continue past point 1. A new lap is completed when you pass through points 1-4 in order. Doing this three times saves about 45 seconds. Reversing is very slow in general so I do it as little as possible.
Root Temple Skip
The loading trigger in the Georama fight is active whenever he is not present. You can leave through Freesia after defeating Georama. This skips Root Temple and prevents the Babel elevator from being sealed, saving about 3 minutes. This was known in 2009 but I foolishly chose not to use it. Theoretically, if you reach the trigger 1 frame after collecting the magic seeds, Georama can be skipped as well.
Menu Sword
Entering the menu while your sword is thrown makes it sharp again. This allows you to hit the ice block button in Freesia and the lever in Babel after the sword hits a wall. This also allows you to hit bosses multiple times in the same sword throw, if they are not still invulnerable.
Element Switch
Hitting a boss with Chilly equipped gives it invulnerability to ice damage for a number of frames, but removes invulnerability to fire damage, and vice versa for Inferno. By switching between them in the menu, you can damage a boss many times per sword throw. Menuing takes about 105 frames while a complete sword charge and throw cycle is about 67, so this is generally not useful in most cases. However I have not yet tested this on Chameleon (whom I cannot otherwise kill before the camouflage phase), and it may be useful against Spirit Energy. I also need to test whether Inferno+Dodo and Chilly+Dodo overwrite each other's DoT effects, or if they are removed by going to the menu.
RNG Manipulation
The RNG rolls every time a "random" sound effect needs to be chosen, such as when Flash kicks up a dust cloud, or every 3 frames a Chilly sword throw is out. Thus, you can voluntarily roll RNG by running more, or prevent it by jumping. This is crucial for a good Roxie fight, and for controlling Moa+Inferno fireball trajectories.
Text Skip
Pressing Start 2 frames before a text box appears will skip it. This is done many times during the run, but in some cases the text is quick enough that it's not worth it unless I need to switch animals. Text skip can't be done if control is taken away too early, or if you trigger the text by speaking.
Backwards Walking
If you alternate between backwards and backwards-diagonal every frame, you can walk at fairly high speeds without changing direction. Besides entertainment value, this is useful in some boss fights, especially Chameleon who moves quite fast, and also for talking to NPCs.
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
Thanks to world events I find myself with a surfeit of free time, and thanks to the tireless efforts of the RTA community they have found a surfeit of new skips and glitches. So I am redoing this TAS!
Improvements planned from known RTA techs:
* OOB skips everywhere (diagonal walls and hazardous tiles)
* Respawn abuse everywhere
* OOB into loading triggers (Fortune Teller, Daddyphant)
* Collect different money bags
* Kart race
* Recruit Chilly after Flash
* Throw sword between block hitboxes (e.g. Camellia, Freesia)
* Pause to make thrown sword sharp again
* Skip Root Temple
TAS improvements planned:
* Diagonal movement/subpixel optimization
* Better benchmarking (especially regarding slide speed)
* RNG manipulation (address B562) and boss fights in general
Possible skips to be tested:
* Iris screen 3 OOB without Dippy
* After obtaining Dodo, OOB into Mother Monster loading trigger from Dahlia Valley (may only exist in Past map)
I will hopefully be doing this in BizHawk to make full use of TAStudio, however in BizHawk, the USA/JPN versions of the ROM add severe amounts of lag between the SEGA logo and the intro cutscene. I have been advised to try loading the Genesis Plus GX core from LibRetro into BizHawk, but I only encounter load errors. Alternately, I could use the EUR version which does not have this issue.
If anyone is able to load the latest LibRetro GPGX core into BizHawk, please let me know!
Edit: USA version works just fine in BizHawk 1.13.2. The TAStudio features are pretty rich in that version too.
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
DarkToonLink:
Thank you for attempting this. I haven't been following this game closely since Geurge began creeping on my record, but I'm very happy with the amount of skips that have been discovered. Comparing this run with the current RTA WR, I see you enter Elephant's house using subpixel placement, and you kept the bee skip.
Unfortunately, I have to agree with Spikestuff's assessment, in every regard. This felt like an RTA run with savestates. You can save 2-3 frames on every screen by approaching the zone boundary and then stepping back. Movement was consistently sloppy, with extraneous pauses and sword swings, and poorly timed jumps. Damage boosting only used one jump, even though momentum is partially conserved over three. In addition, I saw no innovation in this run; in fact, in several places you used the substantially slower RTA route through a screen even though my TAS route was faster (e.g. Mother Monster, the last OOB in Dark Night).
To give some perspective, it took me 45 days of working about 8 hours a day to create my TAS. Every corner turn required about 1 minute of frame stepping and comparing my speed in RAM. When I discovered early zoning, I had to scrap all of my progress up through Burn Daisy. This is because the standards for TASVideos are for theoretically perfect play, or as close to it as you can approximate using your skills. I was not impressed by this run, but I have hope that you can put in more effort using the tools others have provided you, and perhaps find other skips, glitches, and optimizations at the same time.
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
I watched your run. That was very very good, and I see you used my wall-entering glitch in areas I hadn't considered before, like Hot Daisy and Freesia. I also didn't know that pausing made your sword sharp again, or that you could throw your sword into the wall in Freesia and Black Night, allowing you to skip the Monarch cutscene (and the entire Babel puzzle sequence!) Not to mention breaking the kart race. Lots of improvements all around. If I redid my run using the techniques you've shown, I'm confident I could get sub-38.
I'm not working on Crusader of Centy at the moment, as I'm recording FFXI The Movie, which is an all-encompassing project that sucks every hour of free time I have. If I come back to this game I will still have to route the 100% run, and then afterwards redo the any%. I still have all my files and notes, thankfully, but I probably won't be in the neighborhood until mid-2015.
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
If I recall, block generation (including Ender Portal Frames) is completely dependent on the world seed. There are three strongholds in a certain range from origin, each striking a 120º angle (as in an equilateral triangle) from each other. You'd need a script that attempts a seed, finds blocks with the id of an Ender Portal Frame with eye, and makes sure that there are 12 of them right next to each other.
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
Haha yes, I think I ruffled a few feathers by holding a charge at the beginning of the Anemone Beach screen after beating Octopus. I don't even know why I did it really, maybe it was after watching the Sonic Advance 3 run and deciding "you know what, I should keep it charged just in case." When I'm stepping through frame by frame I don't hear sounds, so it never occurred to me how annoying it was. Also I was playing on different emulator settings that make the sound less grating.
In any case, you will have to endure the charge sound until I get the jump ability. Swinging slows me down, and there are a few opportunities to interrupt the swing to save time.
Edit: Going for subpixel optimization here. I'm using the correct buttons to advance dialogue, and I tested every path extensively. 11 frames saved in house, 36 frames saved on the trip to the castle. A good start.
Edit: I found a few new ways to move. Sometimes starting at a diagonal for one frame alters your subpixel placement enough to allow better corner-cutting. When you push against the edge between a horizontal/vertical and a diagonal wall, it can push you forward.
Here's what I knew from the previous run. Horizontal and vertical "speed banks" cap out at 12, giving you 22000h speed. When you hold a diagonal, both lateral banks increase 1/frame to 12, giving you 180A0h speed both ways, or roughly (22000h * sqrt(2)/2) speed. This means that when you move diagonally, you cover the exact same distance as you would laterally. When you let go of a direction, that speed bank decreases 2/frame. Final speeds are directly proportional, so a speed of 11 results in 22000h * 11/12 = 1EE8B.
The new discovery comes from realizing that, if you're moving diagonally and need to shift sideways to clear an obstacle, it is better to "stagger" the detour rather than dedicate several frames specifically to sideways movement. You're going up-right. You go right for one frame, then continue up-right. In frame 1 you move right by 12 (up bank goes down to 10); frame 2 you move up by 11*sqrt(2)/2 and right by 12*sqrt(2)/2; frame 3 you move up and right 12*sqrt(2)/2 each. This is the principle of what I call "shallow angling," and given an initial speed of 12,12 it results in an average speed of 11.074 and can be repeated indefinitely.
However, if you move right 2 frames, your up bank goes down to 8, and you have to spend 4 frames building it up to 12 again. So in frames 1 and 2 you move right 12; frames 3-6 you move up (9+10+11+12)/4*sqrt(2)/2 and right 12*sqrt(2)/2. Completing the triangle gives us a final speed of 10.851 per frame. If you go 6 or more frames, depleting your bank to 0, the final speed is 10.131.
I call the new technique shallow angling because it allows you to strike a maximum angle of roughly 60º, about 15º off your typical 45º angle. However, it doesn't work if you're shifting diagonally from a straight path; only laterally from a diagonal path. This is just another example of broken physics in video games.
Edit: New finding with my spreadsheet. I hypothesized that if the shallow angling had a constant speed of 11.07, after a certain point the other method (with a speed of 12 at the end) would catch up to it. I found that it would require 70 frames of lateral branching before shallow angling lost its advantage (which would require 210 frames to achieve the same lateral distance.) Physics!
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
As if I couldn't pay this game any more tribute, I've decided to start planning a 100% run. There is a bit more of the game to showcase, like the Rafflesia School and the many hidden money bags and apples of life.
Objectives:
* Finish the game as quickly as possible
* Collect every Apple of Life, Money Bag and animal
* Obtain Holy Sword
The biggest difficulty will be collecting enough coins. There are 25 money bags, totaling 750 coins, and I will need a total of 1070: 50x2 for Kitty and Eggy, 100 for Batty, 50 for the flower, 20 for the go-kart race, and 800 for the mermaid's apple of life. There are plenty of grassy areas, monsters, and chests along the route, especially in Rafflesia School. I think the first step will be finding the most time-efficient place to farm coins, and use that as a metric to compare coin-related detours from the main route.
Another interesting hurdle is the Place of Peace apple of life, where you have to touch every flower in the garden. It may actually be worth coming back to it with Flash+Moa, since there is a lot of ground to cover, and I'm not sure yet how I'll collect the money bags in the maze screen.
I'm also doing this in part because I feel bad about the small mistakes I left in the published run. Post-menu input and luck manipulation (especially in the Roxie fight) were severely lacking, and I'm beginning to feel that it's possible to abuse Rio even more than I have been. The levels also might be more interesting if I care to fight some monsters for coins.
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
I installed the Haali and ffdshow codecs and updated VLC from 1.1.4 to 1.1.5, and both players now display the movie correctly. Quite astounding. Thanks!
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
I know this isn't an encoding problem but I figured this forum would have the best advice here. I'm having problems watching the latest Mario 64 0 Stars run. Almost every other frame drops, causing VLC to pixelate and MPC to lag. My CPU/GPU can definitely handle this; I have dozens of other TASes that play correctly, and I also tested a very high-bitrate anime movie, which played perfectly.
I downloaded the latest MPC Home Cinema version and installed it, and just for kicks enabled DVXA too (moves decoding work to the GPU). With DVXA on or off, the problem persisted. I did not update VLC, but I suspect it would not change anything.
I'm running an ASUS on Vista with an NVIDIA Geforce GT 120M (with Cuda), 2.0 GHz, and updated video card drivers. I am thoroughly baffled at this.
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
You mean the same way the recent OoT TAS lost 6.5 minutes to slower text speed? It's true that the J ROM has that advantage, but I'm also wondering how pronounced the lag reduction is. If you took Grunz's route (where applicable) and applied it to the J version, how many frames could you save in any given minute?
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
This is actually really funny. Starting a thread with nothing more than "..." and then bossing around the people who are trying to be helpful. You really have to be more creative and thoughtful with your posts; we can't read your mind.
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
Who the hell knows anymore. As the Scrooge of April Fools' Day, I'm not even offering my opinion on this latest development until after the fact. All I'll say is that Nach demonstrated that the guys at the top are aware of the contradiction between their actions and the well-established facts regarding timing and console randomness.
If the whole thing was a prank, then yes, I am pissed, but I can understand that you had a very good intention, maybe even a necessary one. Just keep in mind though, it is extremely unfair to "leak news" of your prank to build up anticipation, before April 1. Not even Google pulls that.
If this thread alone is a prank, then I'll have to publicly say I have lost respect for the admins' logical thinking processes.
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
It was always my understanding that even if you took a factory-fresh console, inserted a brand-new cartridge, and hooked a robot up to the controller port, you still couldn't time things perfectly because of natural entropy that occurs when anything occurs in the physical world -- and also because all pieces of hardware are prone to faults. I also understood that no emulator will perfectly emulate a console because of little things like new model hardware/firmware, software/hardware differences, and the fact that since the emulator, input and display are seated inside a computer, the conditions are perfect and not achievable in reality.
Name me one scientific experiment with direct or indirect human interaction that didn't have to use "significant figures" to prove that the amount of error is negligible.
That you guys are stressing out because of hardware imperfections NOW of all times really pisses me off. I thought this issue was resolved some years ago when you discussed luck manipulation. How in blazes is anybody, robot or not, supposed to manipulate the RNG when physical hardware components are involved? Hypocrites!
This discovery is as meaningless as your decision to close down the site. Think about the number of times you let something slide: a few frames of possible improvement that the author recognizes as the run is submitted; the incredible desyncing nature of most (if not ALL) N64 runs; sacrificing speed for entertainment. You've already made several decisions that prove you are human after all, and that the community is important, even if speed is the ultimate pillar. How dare you take that away from us just because you realized, "hey, guys, these actually CAN'T be played on a console." We already knew that because we aren't robots!
I motion to return the site to yesterday, and modify certain Articles to explain that TASes are typically not possible in real consoles due to the physical entropy (and not just the human element). Yes, your site integrity may take a hit when people realize, "so this really ISN'T possible on hardware." But most of us, I thought, already knew that.
Also, as said at least twice before, the fact that there is a community here devoted to breaking the game within the virtual constraints of the game, and not simply hacking it, has led to vast improvements and discoveries that real speedrunners can use that other hackers could not. At the very least, we are a hardcore community of scrubs that actually contribute positively to gaming awareness.
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
Good run and great execution. My only gripe is the large amounts of idle waiting, especially in the autoscroller level, though the guidelines do frown upon "nervous wobbling." I enjoyed this game as a kid, and the run was fun to watch. Yes vote.
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
I think we all agree that Secret of Mana, if for no reason other than its massive popularity, deserves a TAS after so many years. The idea of a game "deserving" a TAS is what drove me to run Crusader of Centy. If you love the game, you'll help out in whatever way you can.
That said, there is a lot of information in this thread, especially that 10-page-long analysis of the game engine someone posted back in page 16 or so. If somebody is working on a formal report for the Game Resources page, then I'm not going to duplicate the work, but if they are having trouble, give me the go-ahead and I'll consolidate the data in a more readable form. You can work out the formatting, editing, and contextual uses in a way befitting an article.
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
You know, when I made the Crusader of Centy TAS, my primary concern was that it would get published. I never dreamed that I'd win an award for it, much less pull in a prize! Jeez!
Experienced Forum User, Published Author, Active player
(258)
Joined: 12/3/2008
Posts: 61
Wow, thanks for the award! I'm glad that my movie even made it to completion and publication, but the fact it got a "Best of 2009" award made EVERYTHING worth it!