Damn it, this game is evil. I'd sue Atlus programmers not only for making almost bug-free game, but for sadistic password system. ]-\
Well, here's the story. Recently I was trying to improve Baxter's run in 3 ways:
1. Find a password that could be entered faster.
2. Run levels better.
3. Finish boss faster.
Current statistics:
1 - 1 frame saved
2 - 17+11 frames saved
3 - working on it, 20-25 frames can be saved
Summing up, not more than 1 second can be saved using ways 2 and 3. But 1st way had a potential of saving 2-3 seconds... if it worked.
I studied the game password system (using FCEU debugger), and found out unfortunate news - there are two types of passwords: generated and predefined. For ordinary Channels they are generated (taking into account items / weapons / money) but for Channel X (MAPHARDMAP) it's taken from ROM. Many games use predefined passwords for cheat codes, but not for levels.
If you are interested in it, (A426-A462) - table of predefined passwords. At least I'm satisfied with founding FIGHTBOSS[1-5] password (which isn't mentioned anywhere). ;[
Aaand I still fail to improve levels 2,3,4 - seems they are 1-frame perfect. Baxter, you did really good job here! But I want this game to have absolutely perfect TAS(es).
ANS example of the channel 4 appears to be perfect. So instead of improve
the quickplay i decided to make a continuation instead:
WIP:
http://dehacked.2y.net/microstorage.php/info/1204/Rockin%27_Kats-tmp.fcm
The end is really sloppy I know. Maybe you wonder why I didn't make a better WIP? And the answer is that I wanted to know if the WIP was good until the playback stops, and I also wanted to know if someone want to record where it starts to be sloppy and make a better WIP? Maybe someone want to continue the run and kill the boss?
Note: I continued ANS WIP with fceu-0.98.16 and I recommend you to
also use it. (I hope you don't get problem with the graphics like I have)
I want some feedback see if it was good enough. And if someone is good
to use BasicBot, I'll appreciate if you use your programming skills to this
TAS.
No I agree with you. It seems that no one want to help me anymore but I am happy that ANS helped me at the beginning. Here is a new WIP:
http://dehacked.2y.net/microstorage.php/info/1206/Rockin%27_Kats-tmp.fcm
It also appears that many people are longing for this TAS but if I get help
from many people out here the TAS get finished very very much faster. = )
If that's the case, I think it has something to do with a rather high noise-to-signal ratio in your submissions. (Record-breaking one at that, even.)
But maybe if you picked a famous game to try on, you'd get better contribution. (Assuming you do a good job. If you do worse than the average quality people are expecting, you won't get much contribution I'm afraid.)
By famous game I mean famous and suitable-for-speedrunning. Popeye isn't very suitable.
Note: This post is not a comment on Rocking Cats. I ignored the thread topic and answered only to that one sentence.
Nothing was perfect. :-/
I noticed that you still refuse to fight bosses with memory watcher, that's bad, because this game lags as hell - it's critical in boss battles, especially in this one you recorded. In fact, the game lags even during levels - every time you release punch glove you lose from 1 to 5 frames.
Well, tomorrow I'll try to continue current recording (watch my file) and finish miniboss earlier than 3100 frame. Even though I'm not sure I made perfect work before approaching the boss - really evil game, that is.
>I noticed that you still refuse to fight bosses with memory watcher
I would do that if I had a clue how to use it. And you are really kind
that you want to continue your current recording and fix this TAS!
I thought I fought the boss perfect. = (
I wish I was better to use tools.= /
Haha, look what I've found. http://shedevr.org.ru/temp/sound/RK-trip.fcm
Keep watching the scroll. If you wait several minutes, screen will come down to quite recognizable levels from Channels 4&5. The game takes bytes from ROM and creates level map on the fly.
I doubt this glitch can be used in speedrun, but it shows that the game has some real bugs to study (another one can be seen in my Rockin'_Kats-basic.fcm - in Channel 1 boss fight: collision detection fails because of huge lag).
Awesome work AnS! I've also found a "spin"-glitch on my own. Its on the first
channel at the end on the train, if ya do it right you should be able to spin
in the air, unfortunately there is no need to do this glitch because
you don't go through the wall..I just
wanted you to know about this...But it would be awesome if you could just skip a few
levels with that glitch if you found a new place to do that.
By the way how is it going with your continuation on your current recording?
http://dehacked.2y.net/microstorage.php/info/1227/Rockin%27%20Kats%20%28U%29%20%5B%21%5D.fcm
Even when glitch can't be abused to save time, it's still very interesting, thanks for sharing this!
I'm little busy for now, but here's what I managed to achieve in miniboss battle. Unfortunately, it's hard to make something entertaining here, because every additional movement makes huge lag, so I just finish miniboss as fast as possible and then use little trick. ;)
http://shedevr.org.ru/temp/sound/RK-tmp2.fcm
There's also pretty optimized walkthrough of level 3 and 4, but you should try to beat these levels faster than me. Or am I gonna do everything myself? :-?
And again few words about the game's cruelty. I'm forced to rewrite whole Baxter's run (dunno how to call this - bonus run or minirun... so I'll call it Baxter's :)) because I made fatal error at the beginning. There's strange correlation between time you wait at title screen and bosses' difficulty. Memory address 0xF0 stores quantity of frames you spent before pressing START at title screen. If you press it first frame possible, you'll get 01, if you press SELECT and then START, you'll get 02 and so on.
I figured that in last boss battle this number affects falling bombs. If F0=01 - the bombs appear more frequently then while F0=02 (in this case it's even possible to avoid bombs at all). No need to say that bombs provide terrific lag... that's why now I regret pressing START first frame possible (actually SELECT+START to choose "password" line).
As for normal run, there's no need to worry about it - Channel selector writes FF into this address, which means easiest boss tactic.
But does anybody see the logic in this correlation?? I don't understand Atlus programmers at all.
Its cool, I never thought someone wanted to see that "spintrick".
"but you should try to beat these levels faster than me. Or am I gonna do everything myself? :-?"
Nah, I really want to help you but I just don't know how. You seem to be better than me in everything in this game so...: P
But I have an idea:
How about I do help you in the game like you wrote, and if I happen to make a mistake you can fix that with a hexeditor? Because
you seem to know much about that...; )
No, I haven't said that I will FIX anything with hexeditor - it's way too tedious, especially in this game, it's always easier to rewrite whole level than to fix something in previous version. I was speaking about merging several levels into one run, but it's not useful until we're sure everything is perfect. This game proves to have no limit of improvement, that's why it's better to record this movie like ancestors were doing.
Ok man, it was just a proposition how we could do if I am your
sidekick. I think I continue your TAS instead of fixing it. You really played it
good so I don't know if I could do that better.
Here is a continuation of your movie AnS:
http://dehacked.2y.net/microstorage.php/info/1250/Dimans-continuation.fcm
I wanna know if ya think its perfect or not until the playback is stopped...
Ёклмн... Look closely at that terrific lag you produce by using punch-jump on the balls (at the beginning). It's obvious there's some way to avoid this, maybe even normal walking will be faster here. I'll try it... tomorrow.
Well, have you mastered memory watching and all the stuff I mentioned earlier? Only with this experience you can make something perfect in the game's boss battles. For now I recorded eagle boss myself, if you feel you can improve it then try - here's my version. So, the 4th Channel is completed 33 seconds earlier than in currently published run. Quite good, but I'm ALREADY sure it's not frame-perfect. But I doubt there's a human with enough patience to improve it any further. :]
Really cool! Once again you have played this game perfectly! Awesome!
No I'm really sorry I don't know how to use memory watching yet. I want to learn that stuff. The only powertool I can handle is frameadvance.
Yeah, but its something wrong with that emulator I got. The colours are
different when I have full screen! Its terrible! If it wasn't for that I would
use my emulator... But I don't know maybe someone has fixed that bug?
If so, I would be really glad if someone could be nice and give me a link! : )
AnS I don't know how to use it. I wish someone could explain it to me but I guess that's to difficult. I have read the list of "DesiredEmulatorFeatures"
http://tasvideos.org/DesiredEmulatorFeatures.html
When I was younger I could handle a hexeditor but I have forgotten :P
That's to bad cause it appears you need to know much about memory viewer
or debugger... ; (
Hey it's as simple as using savestates.
1. Run FCEU 98.15. Load Rockin' Kats ROM and play up to the boss battle. Pause emulation.
2. Choose NES->Debugger, new window will appear (caption=`Debugger'). Press "Memory..." button and other window will appear (`Memory Viewer').
3. Now you can close Debugger window and arrange two remaining windows so that you see memory contents and game screen at the same time.
4. Scroll memory listing down to 4Bx line. The fourth value (4B3) shows boss status - you can fight the boss and know it's current condition. 4B9 shows boss' life meter.
5. Scroll down a little bit to see 4Ex line - 4E2 shows important timer.This timer should decrease every frame, if it remains unchanged for 2-3 frames then you can say for sure that game lags now, so you must rerecord previous frames to avoid this lag as much as you can.