Active player (254)
Joined: 12/3/2008
Posts: 61
==Edit== I think I've got the Cheetah race covered. All the physics of the go-kart are thoroughly explained here, and all that's left is for me to apply the ideal inputs in such a way that no walls or grass are touched. Old GMV here: GMV: link Savestate: link Watchlist: link The rest of the post is more or less a research paper for my own reference, but presented in a way that future runners can use. Kart directions ("Target Angle" value) Each angle is calculated relative to the four major directions (i.e. the 0° angle means due north, due east, due south, or due west.) Borderline cases are somewhat difficult to test, so the specific numbers may be off. 0° = -32 to 31 22.5° = 32 to 96 45° = 97 to -96 67.5° = -95 to -31 Typically the kart can switch angles within 8-9 frames, though it's possible and recommended to do the first 7-8 frames ahead of time. With preparation, a 90° turn can be completed in about 25 frames, and 180° in about 57. Top speeds per angle ("Slide" value) 0° = 768, 0 22.5° = 709(-710), 293(-294) 45° = 543, 543 67.5° = 293(-294), 709(-710) Speed effects ("Slide" value) The best way to explain speed is to imagine a "bank" of 96 frames. The accelerator (A) adds 1 frame to the bank, and letting go takes 1 away. The brake (B) by itself takes away 3, and A+B takes away 1. When you reach 96 frames, the slide speeds should be at their cap. On a straightaway, A will raise your speed by 8 per frame; even on other angles you will reach top speed in the same time, though floating points seem truncated in RAM Watch. If you turn, both Slide values will change by 12 (up or down) until they meet the value they should be at. The B button changes the values by 20, but remember that holding B will take away frames. Basic technique is to turn while holding A+B until it stops changing by 20, then keep going, but that brings down your cap speed by a lot. A better technique is to brake for a while, then let off early, so that you continue turning with the 12 increase right up until your 96-frame bank is filled again. This has been tested exhaustively. If you do a rapid 180° while letting go of A, you can see your slide value swing from 768 to -144 in intervals of 12, and then back to 0 in intervals of 8. Also, driving in grass immediately cuts your bank down to 48. What this means The objective is to reach top speed quickest after exiting a turn. This is done by maximizing the number of frames the brake is used (for the 20 boost) without hitting the lowered cap too early and forcing Slide to increase by 8 instead of 12. Consider a 90° turn from full, while assuming each step takes 8 frames of turning action, and remembering the top speeds per angle. 23°, 8 A+B frames: Slide = 20*8 = 160 Cap = 293 * 88/96 = 268 45°, 8 A+B frames: Slide = 160 + 20*8 = 320 Cap = 543 * 80/96 = 452 68°, 8 A+B frames: Slide = 320 + 20*8 = 480 Cap = 709 * 72/96 = 531 90°, 24 A frames: Slide = 480 + 12*24 = 768 Cap = 768 * 96/96 = 768 Ideal use of the brake can be calculated in this manner for any situation as long as you know your starting slide and cap speed. This only solves the problem of optimal brake use, but the fact that it can be predicted at all is a blessing. I still have to determine optimal starting positions/angles for the hairpin turns. I will apply my findings to the run soon. ==Edit== First hairpin officially dealt with for good: I began as close to the wall as possible, with barely enough Slide.y to clear the grass, and then, before Slide.y could reach 0, I did a full 90° turn with 24 A+B frames and came out hugging the border. Literally no speed was lost unnecessarily. This is good progress.
Active player (254)
Joined: 12/3/2008
Posts: 61
Iris done. I'm kind of proud of myself. Even though it took for-freaking-ever, the kart race is done, and the next part was completed shortly. My normal run finishes the race in 0:58.2; obsolete TAS in 0:55.8; new TAS in 0:55.0. As a slime, you have instant acceleration, so I was given free reign to wobble around like an epileptic. I also discovered that the early-door glitch can be applied to almost any screen border. My only hope is that late discovery/exploitation of these glitches won't disqualify or penalize my run...1-4 frames can be saved per transition, which could easily rack up to 2-5 seconds. The very last jump gave me some trouble, both in my normal run and here. Normally you jump over a switch or hit it, land, then charge across the pit. But enough messing around led me to find a way to jump directly off of a switch. Pretty darn cool. ==Edit== I ate my laziness and redid all the screen transitions. Surprisingly, nothing desynced until I reached Burn Daisy, where the slimes choose which direction to go based on when you enter the room. New paths in screens 1, 3 and 4, new and not-so-hectic Shuffler run, and new path in the Cheetah Race. I tried to manipulate the slimes in screen 3, but they seem to change every 5 frames, and no result gave me anything worth keeping, so I chose to enter as soon as possible. Beginning to Burn Daisy entrance: -119 frames Burn Daisy screen 1: -20 frames Burn Daisy screen 2: -5 frames Burn Daisy screen 3: +19 frames (bad luck) Burn Daisy screen 4: -32 frames Iris: -49 frames Cheetah Race: -1 frame Total: -207 frames Camellia Desert and Babel 1 coming soon!
Active player (254)
Joined: 12/3/2008
Posts: 61
==Edit== New route discovered in Iris, and Camellia Desert completed ahead of schedule. I tried to extend the lava jump to avoid the zig-zag forest, but it's simply impossible. God, I'm so glad to be back to normal movement after the go-kart and the slime. The quicksand pits were fun to play with. I can't claim to have found the best path through these, since tiny things like entry angle and position can influence the amount of Slide speed you gain on exit, and unpredictably; the path I used should be satisfactory. The block-stop glitch came in handy as I'm dealing with many of them in sequence. I've gone over this many times and can't find any wasted movements. Since I now outrun my thrown sword, I can't rely on it to get me through obstacles. I've developed a technique where I swing the sword towards the end of a jump (tap B for 1 frame, pause 3 frames, tap A), allowing me to retain control throughout the jump and only slowing down for a single frame on the ground. The density of breakable obstacles in Camellia made for an entertaining watch afterwards. The Cecil throw in screen 3 bothered me the whole time I was working, but eventually I settled on the regular 45° angle toss the developers want you to use, though I chose a faster throwing point. The Roxie fight was murder. He seems to choose his actions based loosely on where you are on the tower, and possibly time; further experimentation would be helpful, but Roxie seems to recognize 4-6 sections of the map in his algorithm. Roxie's heart has invulnerability for 31 frames between hits, and throwing Chilly does 2 damage. It is possible to take out 6 HP in one run, leaving a single sword toss to finish him, but when I did so I never had enough time to manipulate his next action.
Joined: 2/26/2007
Posts: 1360
Location: Minnesota
I can't watch any of your WIPs due to not having an emulator, but I look forward to watching the finished product. Keep it up! :D
adelikat wrote:
I very much agree with this post.
Bobmario511 wrote:
Forget party hats, Christmas tree hats all the way man.
Player (70)
Joined: 8/24/2004
Posts: 2562
Location: Sweden
Um... Sticky.. Why can't you just download an emulator like everybody else?
Joined: 2/26/2007
Posts: 1360
Location: Minnesota
Mac :/
adelikat wrote:
I very much agree with this post.
Bobmario511 wrote:
Forget party hats, Christmas tree hats all the way man.
Active player (254)
Joined: 12/3/2008
Posts: 61
Castle Freesia and Root Temple done. I'm really proud of this segment too. The iced hallways took several hundred attempts to get just right. After much testing, I decided the best policy was to build up speed such that when I land, I can begin accelerating in a different direction, so the amount of windup is scaled appropriately to the length of the hall (except the one going north, I hit the 2048 Slide cap.) The part towards the end of Freesia where I jump across the pond and hit the switch in mid-air was definitely the hardest jump I've set up yet. Georama is and will forever be an absolute joke. On a normal run I can get 2-4 hits in before the dialogue, and this time I get in six. I learned to boomerang sword him when I was 7 years old. Root Temple was interesting. Think of it as another Anemone Beach: a screen that I took from 2.5 minutes to 15 seconds. This time I took a 5-minute level and turned it into 20 seconds through the use of cliffslides. Leviathan was a challenge. You're supposed to hit his fireballs back at him, but just to test I threw my sword instead. As a result, he gets hurt the instant his fireballs come out. To make it go even faster, I jump out and catch my sword so I can throw it earlier. As it turns out, this technique was mandatory. Place of Peace coming soon!
Joined: 7/2/2007
Posts: 3960
I did that with Leviathan all the time. Makes it much easier to get the right angle on his fireballs when they're already contacting him when they get reflected. On the flipside, Root Temple always took me forever, since I played it the way the game intended. Sounds like you're making good progress!
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Active player (254)
Joined: 12/3/2008
Posts: 61
Place of Peace done. I have only one thing to say: I can steer bees. That's one more level I've completely ignored. My best attempt at a normal speed run, skipping at least half of the puzzles, did that screen in 1:09. By using a single bee to float over the beautiful clouds, I finish it in 20 seconds.
Former player
Joined: 9/1/2005
Posts: 803
Eratyx wrote:
I have only one thing to say: I can steer bees.
I just finished watching this. When you did the temple I thought "that was kinda cool". When you did the place of peace, I couldn't help but say "dude." a few times, as that was pretty fucking awesome. Keep up the ingenuity of the run :)
Former player
Joined: 3/23/2004
Posts: 95
Dude, this run is awesome! Can't wait to see what you do with Moa.
Active player (254)
Joined: 12/3/2008
Posts: 61
==Edit== Past Iris complete. Due to messing around with wall collision in Mother Monster, I found several places it can be used. By walking casually through a cliffside, Burn Daisy is all but skipped now (1655 frames saved!), which means massive desyncing and a brand new Shuffler fight. Iris is completed 216 frames quicker using the same technique. The Roxie fight went far worse than usual, as his second move was never an energy release. The Place of Peace was done better by jumping straight for a bee and steering him from the start, saving 131 frames. Once I got to Past Iris, I tried to jump across the water, and succeeded, but I knew I would need Rio later in Past Camellia. As it turns out, Rio is an amazing asset to me, helping me cross the (now icy) lava shortcut I couldn't nail before. Also, I found a way to exit the Georama fight early, into Castle Freesia, but to justify this skip I would have to get back to the world map in under 1:37, AND deal with not having Leviathan. He's particularly handy in Babel and Black Night, and he may have some use for boss fights.
Active player (254)
Joined: 12/3/2008
Posts: 61
Past Camellia, Past Burn Daisy complete. Though I'm proud of my recent streak of obliterating challenges, I couldn't pull anything off in Camellia other than using the slides fluidly and showing off some more Rio platforming skill. The boss fight went well, only about 5 frames away from ideal, though it's hard to catch the sword instantly and stay away from his quick scuttling and tongue in the second phase. Moa+Flash boosts my top speed to 36, as opposed to Flash's 24 and walking with 12. Acceleration is always 1/frame, so I don't reach top speed any quicker. When you let off of a direction, it decreases by 2/frame. My corner-cutting systems don't change at all, though visually it's more obvious that speed is retained as I turn. You may be able to see this in Burn Daisy with the zig-zag turning. Burn Daisy also went well. The Puppetmaster seemed to be invincible for a few frames after my sword was charged for two of the hits. Although the fireballs created plenty of lag (~50 frames), I couldn't use Dodo+Inferno because killing the puppet would take an extra 62 frames, and the Puppetmaster gains 17 more frames of damage invincibility for every hit.
Active player (254)
Joined: 12/3/2008
Posts: 61
Past Anemone Beach, Past Dahlia Valley, and Past Soleil done. I don't know why these segments were so easy to do. In Anemone Beach I set up a tricky Moa+Leviathan sword throw, and immediately revved up before the switch took effect. The boss fight went well enough, though even attempting to manipulate the fireballs didn't result in killing the purple things in one shot. I had to target the two larger blobs individually, and the fireballs did the rest of the work. Mother Monster...this is where I first discovered the wall glitch that skipped 30 seconds, and it was the glitch that inspired me to make this TAS. I considered simply jumping over the slides, but eventually I settled on a path that I liked. Running into the block on the first slide is necessary to stop and make it into the gap. Moment of truth, guys. Will I get sub-45 minutes? Yes, my normal speed run on this last segment took a mere 6:48, and the TAS so far is at 38:40. ==Edit== Can't sleep. Too excited. I cleared the chasm by perfectly timing Rio's catch-up with my landing, then switching to Moa+Flash while on top of him, and jumping before the menu closed. This should not have worked. I cleared it with almost no margin of error, but used those last four frames to go diagonally past the switch. This is EPIC. ==Edit== On the Smell Sense fight, I sniffed around for a glitch and found one. The spikes that appear on the floor vanish quicker than they appear, so if you make a long trail, eventually the disappearing sequence catches up to the appearing sequence, and then stops, leaving permanent spikes on the field. By connecting the two paths midway, I sped up the process, and with more finagling, trapped the boss on a 2x2 grid of constant-damage spikes. Unfortunately, he simply gained more invincibility time and took damage every second hit. My time using this failed technique was 2126 frames against the ~1110 frames in my normal speedrun. Lesson learned: Not every glitch is a helpful one. I'll have to redo it using conventional means.
upthorn
He/Him
Emulator Coder, Active player (388)
Joined: 3/24/2006
Posts: 1802
Awesome. Your work so far is great, I can't wait to see the final product.
How fleeting are all human passions compared with the massive continuity of ducks.
Active player (254)
Joined: 12/3/2008
Posts: 61
Active player (254)
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.
Editor, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Interesting! One thing to consider for the new run is to minimize the charging time with the sword, because the charge sound can become irritating, and it would be more impressive, if the sword was often charged at the last possible moment. It shouldn't require too much effort either, if it can be edited easily afterwards by just removing the unneeded charging. (Of course, none of this has any meaning, if the charge timing affects luck manipulation.)
Active player (254)
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!
Joined: 4/13/2014
Posts: 2
Hey, don't know if you're still doing this TAS or playing Centy at all but I've been speedrunning it recently (non-TAS) and there's been some new skips, I can finish the game in 48 minutes now, would be cool to see a TAS with these skips. Also, I was wondering why you don't skip Root Temple? You say it's not worth the time saved and Leviathan is helpful, but you skip about 3 minutes and Moa+Lion is a good combo for bosses. EDIT: should probably link to a video of my 48 minute run http://www.twitch.tv/geurge/c/3783237 also, Japanese is faster because of faster text.
Editor, Expert player (2460)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
Hi Geurge, this is very interesting. Thank you.
Active player (254)
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.
Joined: 4/13/2014
Posts: 2
Sweet! Glad you're still around and watched my run. Another glitch has been found in the last area, you can use the armadillo to push yourself out of bounds if it's laying beneath you when you're standing on those things on the ground that pop up after you hit them, skips most of the dungeon by going from the start to the water bit. Also, Evilduckk on twitch has routed 100% and done a few runs if you want somewhere to start with that. I'll be playing centy at SGDQ on monday if you're interested in watching btw
Patashu
He/Him
Joined: 10/2/2005
Posts: 4017
Geurge wrote:
Sweet! Glad you're still around and watched my run. Another glitch has been found in the last area, you can use the armadillo to push yourself out of bounds if it's laying beneath you when you're standing on those things on the ground that pop up after you hit them, skips most of the dungeon by going from the start to the water bit. Also, Evilduckk on twitch has routed 100% and done a few runs if you want somewhere to start with that. I'll be playing centy at SGDQ on monday if you're interested in watching btw
http://twitch.tv/speeddemosarchivesda https://gamesdonequick.com/schedule SGDQ2014 HYPE
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Active player (254)
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.