Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
adelikat wrote:
wow, this should help you out alot
It will only be helpful when I learn how to create how-to instructions. So far it's only the equivalent of listing past week's lottery numbers. It doesn't help, it only reports what was already known (or what could have been). Even using savestates to go back to the past will not help, because even a single fired shot at different time will change the future, and will cause different, unpredicted powerup be created.
Former player
Joined: 7/29/2005
Posts: 459
Location: Brazil
something totally useless but cool to see.. why dont u put, in the statistics section of your rockman wip homepage, a rerecords/seconds stats?! XD since its getting an impressive number already *-* i know, its more than totally useless.. but.. anyway XD
<small>My big signature was cleared by admin; i should read <a href="http://tasvideos.org/ForumRules.html">forum rules</a>. But... who does?</small>
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
daniayaw wrote:
a rerecords/seconds stats?!
Because there already are both the "movie length" and "rerecord count" on that page. Besides, a "rerecords/seconds" value doesn't really mean anything. The rerecords are unevenly distributed and the same frame might be rerecorded 100 times while another 10 seconds long section might be entirely played in real time.
Post subject: News on bonus drop analysis
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
I created code that tracks the last place of the ROM where the randomseed-permuting TempVar ($0D) is written into before each NMI. I found a couple of locations. "Called" here means that the location is the last $0D-writing instruction before NMI. B1E5 - Called once when switching weapons. Effectively preserves TempVar. A0E4 - Called once when the screen scrolls vertically. Sets TempVar to 0. D04C - Called when the screen scrolls vertically. Sets TempVar to 2. D69B - Called every time nametables are being written to (vertical or horizontal scrolling, weapon box appear/disappear). Sets TempVar to 3. D6AD - Related to D69B, happens rarer than D69B.. Sets TempVar to 1. D2A3 - Called every even frame, sets TempVar to <const>+(number of sprites)*4 D3E9 - Called every odd frame, sets TempVar to <const>+(number of sprites)*4 D252 - Called if there's lag (use elec beam). Unpredictable values. B1E5, A0E4 and D04C can be completely ignored: when I'm trying to manipulate luck, these functions will not be accessed. If I don't move horizontally, D04C, D69B, D6AD can be ignored. Otherwise they have to be taken to account. I don't intend to use elec beam, so D252 can be ruled out. Hopefully. D2A3 and D3E9 reside in the sprite updating function. Both of them seem to have the identical results on $0D. If horizontal scrolling is not used, only this has to be taken to account. The value returned in $0D is, straightforwardly, directly related to the number of 8x8 sprites on the screen. If Rockman jumps, his number of 8x8 sprites changes. If Rockman shoots, a new 8x8 sprite (or more) will be generated. When enemies change their shape, the number of sprites changes. If I find a way to track and predict the number of 8x8 sprites on the screen, the quest of weapon-refill manipulation is resolved for non-scrolling situations.
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
News: A lot happened today for this movie of mine. I was playing the DrWily 1 stage. It took hours to pass the first screen, but where I really was stuck was, again in the luck manipulation, This time I solved it by creating a program that randomly tries all kinds of sequences of playing in loop (in a fast loop), and stops when the right bonus has been generated. It rerecords in N frames or if an enemy yields the wrong bonus or if Rockman gets damaged. (Left) Running the bot looks approximately like this. (Below) Much to my surprise, the bot actually yielded results. I got the two refills I hoped for in that place. I got a third refill with the same method in Wily2. So I can say that part of this movie is played by BisqBot. Anyway, I've now completed Wily3, starting Wily4, but before playing Wily4, I'll keep a little break. I made an AVI of the progress so far for myself, and I'll analyze it. I don't want to rush the end like I did the last time. I'm not publishing a WIP either, for whatever reason. Because I haven't taken the timings carefully for the v4 movie in the Wily stages, I don't exactly know how much I've gained/lost in each period of the game, but overall at the beginning of Wily3 battle, I was 2931 frames (49 seconds) ahead the v4 movie. EDIT: Oh, and if someone is interested of the luckbot's source code... here's the most relevant part of it. Goes to drivers/pc/input.c. It won't do anything by itself. It requires some monitoring code in x6502.c and the bindings to keyboard commands. The monitoring code: The keyboard command code and the joypad update code:
Post subject: WIP updated
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
I have updated the WIP. Found at http://tasvideos.org/Bisqwit/RockmanMovie.html as always. It indeed contains now the Wily1, Wily2 and Wily3 stages, and the fixed Cutman battle. Three things that bother me most: - In Wily1, I collected two refills. It costed 4 seconds to do it. This is very ugly. Although, the level was still completed 65 frames faster than in v4, I want this faster. A lot faster. - In Wily2, there's a sloppy jump somewhere I know. - I want one more beam for the Wily4 stage. Things I'm proud of: - The way of fighting the clone robot (no pause trick!) - it's much less lag and faster. - The strategy of playing in Wily3.
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Okay, I decided to postpone the taking of the second refill until Wily2. With 1 refill, I found (BisqBot found) a method that leads to the spikeroom 121 frames faster than in the current WIP. The beams will still be enough for the rest of the level, and I believe that the beginning of Wily2 is much more fruitful for the two refills than that little room of Wily1 is. Ps: Did everyone lose their interest in this movie, or is it just that nobody understands what I'm talking about?
Editor, Reviewer, Experienced player (968)
Joined: 4/17/2004
Posts: 3107
Location: Sweden
I have not lost interest and I do understand what you're talking about. It's just that I'm too speechless to say anything constructive. I'll watch the new wip this evening, but you said you already rolled back to Wily1, so I guess it will just be for my own entertainment.
Former player
Joined: 4/16/2004
Posts: 1276
Location: Uppsala, Sweden
I didn't lose interest either but I don't have the proper ROM (no, I probably won't get it) and I like to watch the finished result. But it seems that you are near the end now and that sounds awesome! Keep it up!
/Walker Boh
Player (70)
Joined: 8/24/2004
Posts: 2562
Location: Sweden
I'm just lurking around in this topic to read whats new etc. I'm very eager every time I see a new post. I just doesn't have anything else to add. I don't know this game that much even though I really do love it. I don't want to watch the WIP because I don't want any spoilers. I want to watch the completed and submitted video once it's done. Then I will fully lean back and enjoy this run with big eyes.
Former player
Joined: 8/17/2004
Posts: 377
I'm greatly interested in the run, but I'm one of the people who really doesn't understand what you're talking about ^_^. But wow, way to break Wily Stage 3...
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3598)
Joined: 11/3/2004
Posts: 4738
Location: Tennessee
I agree with Truncated, very interested but speechless. The implementation of Bisqbot is a jaw-dropper. Seems unprecendented to have a computer "solve" sections of a TAS!
It's hard to look this good. My TAS projects
Player (70)
Joined: 8/24/2004
Posts: 2562
Location: Sweden
Hehe.. I guess this is being more of a "tool-assisted" speed run. :D Since it's the tool which makes the run partially. Perhaps we should name it a bot-run or something like that eh? =D
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3598)
Joined: 11/3/2004
Posts: 4738
Location: Tennessee
Do you think this bisqbot could become usuable for other games. It seems that the only required pieces of inormation would be a ram address and a target value range for that address. Maybe this could be a program where you type in the RAM address, value range, and number of frames past savestate x you wish to search? Also, the possiblity of a null frame range between the last frame tested and the RAM address check. That would be helpful for RPG's since the tartget action is calculated some frames after the user input.
It's hard to look this good. My TAS projects
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Yes, the same method could be useful in other games. You just need to find the way to measure the results. In Rockman's case, the following aspects are measured: Q: Which reward was generated? (If any) A: It is the value of the Y register when-if location $BF25 is executed. Q: Did Rockman get damaged? A: If the ROM location $A231 has been executed, he did. Otherwise he didn't. Doesn't include instant deaths. Q: What kind of item did Rockman pick? (If any) A: It is the value of the A register when-if location $C833 is executed. And of course, you need to come up with an algorithm that generates realistic button presses. In Rockman's case, it is realistic to hold certain buttons down for certain times, and to shoot occassionally.
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3598)
Joined: 11/3/2004
Posts: 4738
Location: Tennessee
And of course, you need to come up with an algorithm that generates realistic button presses. In Rockman's case, it is realistic to hold certain buttons down for certain times, and to shoot occassionally.[/quote] only because time is a factor (too many choices for the computer to try quickly lead to ridiculous calculation time) what might be more useful more more micro option (approx 20 frames) would be on option in tell the program which button to use in the process. For instance, the section of megaman you are testing would only need the left, right, b, and a buttons. In other situations, you might eliminate more. perhaps to make it more useful it could have an option that certain buttons are held down the entire time (like if it were certain that the character must always move to the right during x frames) I'm just thinking of a more generic program options that could be implemented on other games rather than game specific algorithims. Could you post your code? This seems to be potentially a very valuable tool for other TAS's! ESPECIALLY my DW4 run!
It's hard to look this good. My TAS projects
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
adelikat wrote:
Could you post your code?
Huh? I did!
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3598)
Joined: 11/3/2004
Posts: 4738
Location: Tennessee
doh!
It's hard to look this good. My TAS projects
Joined: 7/29/2004
Posts: 136
Location: Temple City, CA
I'm quite interested in the run, I understand what you're talking about, and I'm watching the WIPs. The problem is you're playing the game at a level so far above my abilities that there doesn't appear to be anything wrong enough that I can spot it.
"How can you prove you exist? Maybe we don't exist..." -Vivi Ornitier (Final Fantasy IX)
JXQ
Experienced player (750)
Joined: 5/6/2005
Posts: 3132
I have a couple questions, since you like feedback :) 1) In Iceman's level, you pause a few times while zipping. Are you taking damage somehow during that zip, or is there another reason for pausing? 2) I noticed in Gustman's level that when moving down (and thus continually jumping over the top of the screen to do so), sometimes one beam is used and sometimes two are used. What causes this? Edit: more quesitons 3) What's the reason for using the Elecbeam a few times in Wily-1 after getting the large powerups for the magnet beam? Were there enemies we never saw? 4) If you could explain the screen glitches in Wily-2&3, that'd be cool :) it looks like you are somehow repeating the same screen multiple times in an attempt to get to the right spot. I'm going to check the maps and make sure this question isn't retarded.
<Swordless> Go hug a tree, you vegetarian (I bet you really are one)
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
> 1) In Iceman's level, you pause a few times while zipping. Are you taking damage somehow during that zip, or is there another reason for pausing? It's to eliminate lag. The lag is caused by the game's collision checks of Megaman vs the enemies. During the "teleportation", these checks are not done (enemies don't hurt), and thus Megaman gains lag-free movement at the expense of 2 frames (pause on+pause off). > 2) I noticed in Gustman's level that when moving down (and thus continually jumping over the top of the screen to do so), sometimes one beam is used and sometimes two are used. What causes this? Two beams is used when Megaman starts in-from a wall. One beam is used otherwise. The reason is that the beam needs to be on exactly the right height. If I do in the second screen what I did in the first one, in the third screen I can't put the beam on the right height. Therefore I had to enter a wall and place the beam more precisely by using a helper beam as support. > 3) What's the reason for using the Elecbeam a few times in Wily-1 after getting the large powerups for the magnet beam? Were there enemies we never saw? There were obstacles. More precisely, three of the blocks that can be picked up with Guts or electrocuted into pieces. > 4) If you could explain the screen glitches in Wily-2&3, that'd be cool :) it looks like you are somehow repeating the same screen multiple times in an attempt to get to the right spot. I'm going to check the maps and make sure this question isn't retarded. It is a complicated thing but I assure you all of it is explained in http://tasvideos.org/RockmanTricks.html. More specifically, the portions that apply are: - Grabbing the top of the ladder too high (press up+down) - Horizontal screen wrapping The thing that most confuses the viewers is the fact that Megaman is physically in the next room while he visually appears in the left edge of the current room. During scrolling, the "next room" is viewed briefly, but after the scrolling, the "current room" returns to the view. In Wily3, the "next room" was viewed for a longer period because Megaman managed to progress rightward in that room. The "current room" appeared back to the view when Megaman walked to the left, but physically he was still in the "next room".
JXQ
Experienced player (750)
Joined: 5/6/2005
Posts: 3132
Checked maps, question 4 was retarded. My bad. Very nice lag solution on my first question! This also shows why you paused so much during the giant zip in Wily-3. It also shows that you have reverse engineered the hell out of this game :) Thanks for the answers!
<Swordless> Go hug a tree, you vegetarian (I bet you really are one)
Editor, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
jxq2000 wrote:
This also shows why you paused so much during the giant zip in Wily-3.
No, actually the giant zipping of Wily3 is different. For some unknown reason, to progress in that wall you need to be continuously transforming. Otherwise you're stuck. Apparently, the "water" causes a different motion engine to be created where the laws of zipping don't exist (except in the teleportation mode).
Active player (277)
Joined: 5/29/2004
Posts: 5712
Bisqwit wrote:
> 3) What's the reason for using the Elecbeam a few times in Wily-1 after getting the large powerups for the magnet beam? Were there enemies we never saw? There were obstacles. More precisely, three of the blocks that can be picked up with Guts or electrocuted into pieces.
Does it help reduce lag if you blast the Fleas with your Thunder Beam while you're taking out the blocks, or is it really better to have the blocks onscreen as little as possible?
put yourself in my rocketpack if that poochie is one outrageous dude
Player (84)
Joined: 3/8/2005
Posts: 973
Location: Newfoundland, Canada
Suggestion: As far as i can remember from just watching your WIP, in wily one at the long long spike room with flying guys. At the end on it, you use Magnet beam and walk across it and jump up. Couldn't you have zipped on the wall then jumped?