Experienced Forum User, Published Author, Active player
(379)
Joined: 7/12/2010
Posts: 22
I've been looking at it, and I think I have something that'll work. It's slower than I'd like and requires me to play one of the time-consuming bonus games, but it's something at least.
Realistically though, even if this setup does work, and even if I submit right away to get a valid run instead of searching for a faster setup, it'd still take a few days to put the run together and make sure it's optimized okay. And that's assuming I actually make the time to work on it instead of... well, going at the speed of a turtle. I'd say go ahead and back-obsolete it.
Experienced Forum User, Published Author, Active player
(379)
Joined: 7/12/2010
Posts: 22
Yeah, I was holding out hope that this problem would go away once the dev team better understood when STOP is bugged. But whatever it is, not working on console is pretty conclusive. :/
That doesn't mean this branch is doomed, because I DID find a way to avoid executing a STOP at all. If I activate the glitch while standing at course 5, Wario's Y position will be the start of a 3-byte instruction, which reaches just far enough to get past the STOP. Unfortunately that instruction is [LD SP,1054], which is a pretty awful one to have to work around. It also seems to be the only option, at least as far as standing at different courses goes.
I haven't figured out a setup that'll fix SP on top of activating the debug mode, but I've got a few ideas. This isn't over yet.
Experienced Forum User, Published Author, Active player
(379)
Joined: 7/12/2010
Posts: 22
I did some work around the time of my first TAS to understand opponent behavior better, but back then I was more interested in deciphering their patterns and actions than looking for mistakes in the code that controls those actions. I've lost a lot of what I had back then, but know enough of the important memory addresses and the -- scripting language? Whatever the phrase I'm looking for is -- for their patterns to look them up whenever I need to.
(One of these days I really need to make that flow chart showing EXACTLY how messy Piston Honda 1's pattern is. There are random branches, random delays, and random attack skips all over the place, and figuring out his pattern was the only way I ever got the TAS strat to work in the first place.)
There are a few weird edge cases and mechanics in this game, but so far none of them have been useful for speeding up the TAS. They always end up not working in the places they would be most helpful. As a sample:
Knocking down Don Flamenco 2 at a specific frame at 1:28 causes him to stay in his aggressive pattern once he gets up instead of going into his 1:30 taunting. This would be useful in a few fights if it worked on anyone else; I've especially wanted to find a way to keep Tyson in uppercuts after 1:30. But the only other fight where this works is Glass Joe; knock him down at a specific frame at 0:38, and he'll get up, skip his taunt, and do nothing for the rest of the round.
A lot of boxers are scripted to extend their stun timer after one of their jabs if you're in the middle of one of your own jabs, in order to prevent the punch from landing unstunned for a star. On Von Kaiser, this happens a couple frames late, leaving a two frame window where he can be hit unstunned, followed by another two frame window where he can be stunned for SIX hits off of a jab instead of five. An extra stunned hit would be really helpful against say Bald Bull 2, where you'd get more star punch opportunities in the first 20 seconds, or Mr. Sandman, where you could get a few more punches worth of damage in before 0:50. But only Von Kaiser has this weird quirk.
The delayed stun glitch used on clock-stop Super Macho Man is possible on any fight where you can dodge an attack and follow up with a blocked punch. I'd hoped to use this on Soda Popinski to speed up the fight; you'd counter the first hook for a star, then dodge the second hook and throw a blocked gut punch. Because of the glitch, when you intercept his uppercut to activate the knockdown flag, it would stun him, and you could use a star immediately instead of cancelling the second uppercut. Unfortunately, even if I left dodge to get a longer stun timer than I would from ducking, it runs out before I get to his first uppercut.
Just a few days ago, I noticed that some addresses used by infinite stun combos were active during the Tyson fight. A working infinite would be huge here because of how long it takes to deal damage. After investigating, I found that it was impossible to start the infinite combo because of a bug. There's an address, 03B0, that's supposed to store the ID of Mac's last evasive action; if this indicates a duck, then alternating left-right punches will be an infinite combo. But the code only goes down the branch that stores the last action if it was a dodge, making it impossible to indicate a duck. Freezing that address to hex 0E will allow the infinite to work, and the Game Genie code NYEPKZEE & NYEPSZEE will change Mac's ducking behavior so it can activate the infinite. Even if it had worked properly, Tyson's round 1 stuns are too short to activate it; the only time you can do it is after ducking an uppercut in round 2 or 3.
Didn't mean to sit on that question for so long.
EDIT: Just remembered that 03B0 actually does double duty. After the infinite combo starts, it's used to indicate which hand Mac punched with last; 01 for a punch with the left hand, 00 for the right hand. These are used to check whether Mac is punching with the correct hand to continue the infinite, and freezing it to hex 0E will cause those checks to fail. Editing the address without freezing it will still work.
Experienced Forum User, Published Author, Active player
(379)
Joined: 7/12/2010
Posts: 22
As long as you're set up for the next phase, you can drag things out for as long as you want. For Don Flamenco 1 it's especially easy; no matter how long you take, he'll never attack unless you punch him again. You could take a nap or get something to eat or whatever, and he'll just stand there the whole time. That said, I'm still aiming for real time as a secondary goal here, and haven't lengthened the movie beyond what the optimal clock stop times require.
Actually, even in the other run, it's possible to extend the real time indefinitely without changing the total in-game time. Super Macho Man's super spin punches naturally freeze the clock until he's done spinning, but there's no upper limit on how many times he can spin. (Or you can just stay on the pre-fight screen for a while.)
Experienced Forum User, Published Author, Active player
(379)
Joined: 7/12/2010
Posts: 22
I think I had a WIP that saved a few more frames shortly after that last one, but for the most part I haven't touched it since then.
Not giving up on it though. TMNT 4 is gonna be priority 1 now that I'm back.
Experienced Forum User, Published Author, Active player
(379)
Joined: 7/12/2010
Posts: 22
Spikestuff wrote:
Submission has been bested.
It probably shows that it's best to refine the newer strats instead of basing it entirely on the theory videos without refinement.
Link to video
What Spike said.
Posted two days before your first submission, getting the same time, and with the same language in the video description as your comments on Bull 1. It's pretty obvious what happened here.
Experienced Forum User, Published Author, Active player
(379)
Joined: 7/12/2010
Posts: 22
jlun2 wrote:
To what extent does that hold true?
I'm still tracking down the last few details of how the score calculation works, but it looks like the answer is going to be "not as much as I'd thought". The clock stops from getting power and Frank telling you to WAIT cost a lot more real time, as do the differences in score countdowns between two different strats. If you try to do the same strat slower, you'll only get a couple frames out of it, and you'll lose them again if you delay too much.
Oh, and there's one more thing I forgot to add to the submission. While working on one of the later Kabuki fights I'd found that I'd gotten a slower time for no apparent reason. Turned out it was something really weird. I'd used a full button press for luck manipulation... and when you're in the tap button phase, you tap the button, and there are no more exclamation marks or dollar signs, the game adds a tenth of a second to the timer.
EDIT: Alright so scoring works like this. The remaining time is rounded up to the next tenth of a second. Then, every two frames the bonus goes up by 400 points. When there's one second or less uncounted, this changes to 40 points every 2 frames. This is skipped entirely if the timer runs all the way to 1 minute, saving another 4 frames on top of that.
So yeah, not much to work with there. Without a strat change, any delay that takes the game time past xx.90 seconds is wasted, and that's only useful if the clock is fast enough and the .1 second penalties start early enough.
That's another thing I looked at; hitting the button too much doesn't immediately start adding time. There's a counter at D071 that determines how many extra times you can press the button. It's only when that counter goes down to 0 that pressing the button again adds the tenth of a second.
Experienced Forum User, Published Author, Active player
(379)
Joined: 7/12/2010
Posts: 22
Uh...
...
...well, this is awkward.
I'd actually had a TAS of this game finished already, and then sat on it while I got nowhere trying to get the submission text written...
Guess that's just how these things go sometimes.
More once I watch the run.
EDIT: Okay, that's done.
Well, where the fights where we had the same goals are concerned--and that's most of them--everything is the same. Identical times and identical scores for the same time. But then in the remaining ones, it looks like we have a difference in goal priority. You seem to be doing real time, then score, where I did in-game time, score, then real time.
I believe that real time is the wrong choice for this game because of the bonus points at the end of each fight. The bonus score is based on the time taken, taking longer to tally up for faster fights. This means in some circumstances it may be faster to slow down slightly to achieve a faster overall time, like in the Sonic games. That's not just a maybe either, that actually happens during the first Frank Jr. fight:
£e Nécroyeur wrote:
Manipulating "Wait!" attack type 2 as Frank Jr.'s final attack allows him to be defeated 3 Frames earlier than Manipulating "Wait!" attack type 1 as his final attack. However, manipulating "Wait!" attack type 1 as Frank Jr.'s final attack allows the transition to the next Round to start 7 Frames earlier than Manipulating "Wait!" attack type 2 as his final attack.
Experienced Forum User, Published Author, Active player
(379)
Joined: 7/12/2010
Posts: 22
Alright let's see what we've got here...
Round 1 is executed well but not flawlessly. Occasionally you lose a frame or two when dodging. Pattern manipulation is good for the first 1:30 but then Tyson gives you some long delays during the second half. Overall, you clearly understand what a TAS is, you just need to spend a little more time on optimization.
Round 2 is... well. Even if the category is acceptable rules-wise, almost this entire round is spent waiting for the next one. You have to do something entertaining when there's downtime in TASes, and this doesn't.
Between rounds 2 and 3 you press select. It's not well known, but select can never refill you to full health... even if you're already at full health. No, really, it just has you lose 1 if you get a positive refill with full health. Goes against your no damage goal, and is also why the KO was random at the end.
And there's one more problem...
Experienced Forum User, Published Author, Active player
(379)
Joined: 7/12/2010
Posts: 22
Spikestuff wrote:
Actually now I'm curious if this game has switches or that bios menu (or whatever it's called) to make it harder.
£e Nécroyeur wrote:
<h3>DIP Switch Settings</h3>
Difficulty set to HardestTime set to Shortest
Coinage set to Free Play
Anyway, this looks good for the most part, but I have a couple questions. First off, the Glass Joe and Piston Hurricane fights. Looking at the memory (min:sec::frame = D7F2:D7F1::D7EF), you have a time of 0:14::17 on Joe and 0:16::08 on Hurricane. Accounting for the different clock speeds, that's a one frame difference. If you can use the exact same sequence of punches, why didn't you get the exact same time?
The other thing is the opening. Can you just punch high immediately, then hold down to lower his guard before the punch connects? Holding down at the start, waiting, and holding up only to hold down again sounds like it would cost some time.
Good catch on the weirdness with Bald Bull's instant knockdowns, I remember zallard had some questions about what causes those.
As for when the difficulty maxes out, judging from the refills in this it's after the 16th fight.
Experienced Forum User, Published Author, Active player
(379)
Joined: 7/12/2010
Posts: 22
Heh, thanks.
Here it is again with the placeholder sections improved by 122 frames. Turns out they weren't that useful; all I found out was that there wasn't much danger of needing too many special attacks.
Still a lot to do before I'm done with this stage.
Experienced Forum User, Published Author, Active player
(379)
Joined: 7/12/2010
Posts: 22
Anty-Lemon wrote:
jlun2 wrote:
@MUGG
A simple debug mode remains in the game, accessible by pressing Select 16 times while the game is paused. A blinking cursor should appear. Hold B and press Left/Right to move it. Press Up/Down to change the values of your number of lives, coins, hearts, and the timer.
Holding A + B and moving the cursor all the way to the left will highlight the Wario head; unpausing will change your current form (in the order of Small, Normal, Bull, Jet, Dragon).
(Note that pressing Select a 17th time will make the cursor disappear. However, if you press Select 256 times after the initial 16 presses, the cursor will appear again. This happens because memory address AC85 which stores the Select presses loops after 256 presses.)
I don't think the debug menu this TAS enters and the one described are the same. :P
Yep, they aren't the same at all.
The easy debug mode only allows you to modify lives, coins, time, etc. and has no effects outside of the pause screen. The debug mode accessed in this TAS has numerous weird effects, such as fixing the background in place, pressing select to go to tiny Wario and back to Jet, and of course, skipping to the ending in the pause menu.
Right, and this one also changes the functionality of that one by making selecting the Wario head instantly complete the course. They're completely separate.
...though I should probably show that this one's actually inaccessible, huh? I'll get on that.
fsvgm777 wrote:
Nice glitching there.
However, I have a doubt whether this constitutes valid completion. Namely, the game's supposed to go in a post-completion state after you beat the game (which reveals where the treasures are located):
(note: the 19 flashes as well, and the locations of the treasures are revealed)
However, after playing back this submission, this isn't the case:
(the locations of the treasures are not revealed after choosing the file, though admittedly, it's a pretty cosmetic change)
Perhaps one could "über-glitch" to Course 40/the final boss, then beat it, which may create the "post-completion" save (which would technically constitute valid completion).
I'm abstaining from voting.
If that ends up being required a new run's not going to happen for a while. If I try it with this setup, the glitch that freezes the background also locks up the game during the final boss.
Though I'm not sure I understand what the problem is? Last I heard, a proper post-completion state/save wasn'trequired.
Also, I found a faster way to set up the jet flames in course 3. Can someone replace the submission with this?
Experienced Forum User, Published Author, Active player
(379)
Joined: 7/12/2010
Posts: 22
My thoughts:
The flagpole glitch, by itself, is not enough for a new branch.
Mario's speed has been changed to match NTSC, so this should be directly compared to it.
The flagpole glitch's entertainment value is a ridiculous excuse. I feel that if it were possible in NTSC without any setup, the improvement would be accepted despite any "entertainment loss."
This run is suboptimal. I think there's something in the rules about suboptimal runs not obsoleting older ones. I'd vote yes if it weren't for that.
So I'm going to have to vote "no" on this.
...or I would, but I'm not sure whether the poll is still for this specific run or is now for PAL runs in general.
Experienced Forum User, Published Author, Active player
(379)
Joined: 7/12/2010
Posts: 22
Derakon wrote:
...I'm a little worried about the "use the Japanese title when the game was never released in an English-speaking country" one. On the one hand, it provides consistency; on the other, nobody who doesn't speak Japanese will be able to tell what the thread is for until they learn "Oh, Maza Suri is Mother 3"....
That would be a problem. Perhaps putting the English name next to the Japanese name for well-known games like that?
adelikat wrote:
The problem with redundant threads isn't the lack of concern or the lack of time on mods. It is the fact that this is an ancient phpbb2 forum and mods don't have the ability to merge threads....
Well, why don't you upgrade or switch or something?
Experienced Forum User, Published Author, Active player
(379)
Joined: 7/12/2010
Posts: 22
I'm McHazard, and I'm new here.
I'm thinking about making a TAS, so I came here...
Does anyone have a list of good starting games? Preferably Game Boy ones?