Posts for Alyosha


Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Hi Arc, I tried testing this a bit and right now I am on the platform on the left side of the pit and it has just turned around at frame 23030 22870. How does this compare to your run so far? As far as I can tell, the physical spawn location of the platform is always the same , as well as its direction of travel. Jumping seems to just spawn it at different times (not entirely sure why yet)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
feos wrote:
If you have an idea of what condition you need, there's a common mean to use bot: that's how Rockman DelayStateClear was proven to be possible - FinalFighter foretold it before it actually happened "simply" by breaking into code.
unfortunately I do not know. Assuming the mechanism is functionally the same as delaystageclear the closest bank swap to my current NMI in the lag frame is about 2000 instructions away. Probably reachable but no idea how at the moment. The real problem is that watching the movie of the glitch, I do not see any situations where lag should show up, so I have serious doubts that it is similar to Rockman. I'm only really looking at it for thoroughness and maybe learning something new to get a new lead. The lag frame itself seems to deal almost entirely in sound. The programmers were really careful here, I couldn't find a case they might have missed so far. One possibility that is a bit similar to delaystageclear is manipulating 07ED, which tells the game what bank to use for various operations across frames, but again I have seen no glitches in it yet. (If you cheat it to 0 though you get some neat 'fireworks'.)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
^Oh nice glad you both are doing that one! I've been busy so haven't made it far on double dragon, but I do hope to have it done before year end. wow and my list is already updated! Thanks Samsara : )
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Cool thanks feos, I'll take a look at that myself in a few days when I have more time. As for me my current (and only ) line of research is looking at lag . After a lot of random messing about I finally got a lag frame to generate in normal level 1 play through . I had generated lag before but only by cheating backpack guys to appear every frame . This is the first time I've done it without cheating. So my working theory is that if a new interrupt occurs at just the right time something will go awry. I'm still in the early stages of investigating this , but so far nothing looks suspect . The game uses address 001B as a flag that tells it when a new interrupt happens if it is still working in the previous frame . It then modifies what subroutines it works on for the lag frame. Since backpack guy generation can be a long and variable process each frame, the range within each frame that the next interrupt can occur in during lag is pretty large, maybe enough for something unexpected ? But so far hardware error still seems the most likely candidate.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
http://tasvideos.org/userfiles/info/26944546486367506 I did a test run with expresso. I ended up one second behind by level end. Originally I had tied diddy only run, but it didn't load the exit so I had to play more conservatively. I'm pretty confident the diddy only route will win in the end, because most of the time you gain with expresso you just give up again having to wait for the camera, and the setup time is longer, but its close enough to keep investigating both cases. On the up side, the whole thing only took a couple of hours to do, not bad considering the level kept the TAS from even being completed a few years ago, thanks BizHawk! EDIT: just to compare, my run takes a bit over 81 seconds, the nico TAS originally posted a few pages back does it in 98 seconds.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Not sure if you got it worked out yet or not Arc, but to get a good dragon spawn it looks like you need only turn left as the body spawns but a frame before the head does. http://tasvideos.org/userfiles/info/26787672556905349 Here is a slightly modified file of yours that does it, I believe without losing any frames, it might work in your original file too. Hope it helps. EDIT: oh yeah, also if I just walked forward instead of turning left, I died, apparently the game thought I was at the edge of the screen? I'm sure you know about this just thought I'd mention it.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Zugzwang wrote:
I haven't checked this forum in a while but found your improvement today, great job. Several years ago I had found an improvement in A and held onto it thinking I try to improve the other levels as well, unfortunately life got in the way! I will see if I can't dig it up for you. Cheers!
An improvement in A? I can't imagine what it might be, yes please do send it my way so it can be included.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
http://tasvideos.org/userfiles/info/26784423977105053 Here is an improvement WIP. Most of the improvement comes from having Minnie longer in level 1 by getting a better spawn on the capture enemy. It gains and loses lag frames for the rest of the run after that. Manipulating fairies / capture enemies comes down to killing or not killing enemies. So it's actually not too hard to manipulate what room to spawn the last fairy in the room with the pirate. The harder part is getting it to spawn in the correct spot near the left side of the room. This seems to depend on the frame I enter. Similarly with the enemy that captures minnie in level 1, it would save more time for it to spawn near the window instead of the ladder, but I couldn't quite get it to work. More importantly, this run also syncs in NEShawk. The published one does not, while Randil's one before that did (with some added frames at the start.) The desync in my curent published run happens at the first set of bears in level 3. SO this time I made sure that it would sync in bizhawk for the best potential chance at being console verifiable. I don't think this is the final version, the better enemy spawn and some more lag reduction should still be possible. Once again anyone can feel free to jump in, I'll probably need the help to get a final V2 done.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Sorry I am out of time to work on this . I'm not sure if arc's improvement can be preserved or if other improvements are possible. Perhaps judge this one and maybe there will be a version 2 at some point in the future . Thank you!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Arc wrote:
I tried fighting the boss of The Ocean and was 5 frames faster. http://tasvideos.org/userfiles/info/26561776830838838
Yes there are several areas, this being one of them, that can be done faster. I believe The Ocean can be beaten ~ 15 frames faster, the problem is RNG. Any improvement in level 2 has to spawn a fairy correctly in the first part of level 3, for anyone interested in trying this means 07F9 should be a 2 when you start playing level 3 (in your file Arc it is a 3.) Also, you will need to get 07F9 to be a 1 in the third part of level 3. So any improvement will need to consider at least these factors. Good luck! vvvvvvv @samsara: I'm done, only speaking for myself though.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
http://tasvideos.org/userfiles/info/26559500031674055 ok! please replace the movie file with this one. Finally killed the last boss with the fairy. Well that is some pretty amazing luck, it was already there staring me in the face. At least now another TAS mystery put to rest. : ) will update submission text accordingly.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
D: D: D: wait a minute, I already have a fairy spawning in the room where the pirate is, how could I have missed that!! I just tested it and I successfully killed the last boss with this fairy. Well I do feel stupid now,but expect a replacement file in an hour or so.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Oh good idea, I never even tested it before. Well I just did now and nope it won't save time, it simply takes too long to take damage. In level 1, the only thing dealing 2 damage is getting directly hit by the cat and chandelier, but since you get invulnerability frames after that it doesn't save time to just stand next to the cat. This adds up to 2.5 lost seconds, or 150 frames. Dying takes about 450 frames. So about 600 are used in this method. In the save minnie method, it adds up 1.5 seconds to lose minnie (and the time you would save using the minnie quick exit trick) plus another 430 frames to rescue minnie (from frame 6570 to 7000), so about 520 frames total. So nope, not faster, but close and worth it to check
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Heidman wrote:
Any updates?
At the moment I am out of leads. The most likely scenario is starting to seem like random hardware error. The thing is that flipping one bit at any time will end the level, and there are about 3 bits that would have this same effect as demonstrated in the movie, so a random error has 3 chances of success. But personally I'm not really comfortable with that explanation so the search continues, even though I have so far found nothing remotely interesting. To sum up what's been looked at so far: Object table corruption: Nothing interesting, gets reset on game reset Stack corruption: game uses stack memory for sound effects and some variables related to backpack guy, clears the stack up to about 01CF. Strange effects could result if the stack pointer got low enough, but doesn't even come close without hacking. Backpack guy generation edge case: nothing relevant. General glitch hunt: nothing interesting, the game seems to do things pretty carefully. If anyone has any theories, I'd be happy to hear them!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Oh yeah Minnie's star. I started out testing both getting and not getting the star. It costs an additional 200 frames to get it, mostly due to the animation on picking it up. I tested up through level 3, and recovered about 10 of those frames by having the star, so I concluded that there was no way I was going save time in the end, it mostly just generates lag. Yes it is possible to spawn a fairy to kill the last boss, but I susspect the setup will take longer then the time it saves, if anyone can do it though I'll be impressed!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
My opinion on this is that RFN games should focus a bit more heavily on newer games. The next generation of TASers probably grew up on N64 or even later, a run of Mega Man 2 for example will not be particularly interesting simply because its an old game on a console they may never have even played. I realize though that newer systems still have immature emulation, so the TASes to choose from are limited, just my two cents on what a new comer might be looking to see and how we might pick games accordingly. As an example I think the GC super monkey ball run would be a good choice.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
http://tasvideos.org/userfiles/info/26536987742402642 Much improved WIP closer to final version. I think everything up to the last level will be final now. I am about 20 frames down by the start of the last level, not too bad for struggling to get decent RNG the entire way. Just a mater of getting the last level in shape. If anyone wants to help / co-author this run I would appreciate the help, surely someone with a fresh perspective could save even more frames. Feel free to jump in!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
http://tasvideos.org/userfiles/info/26518553074730814 Once I realized I could sync the published run in FCEUX (it also syncs in bizhawk too with adding a few frames at the start) I made a bit of a breakthrough in understanding how RNG works. And was able to make some pretty rapid progress. This complete WIP is the result. It is 100 frames faster then the published run. After the warp trick in level 1 I am 300 frames ahead, so clearly this still needs some serious work, particularly the last level. So for side scrolling levels (2 and 3) the addresses of interest are 006C,006D,006E. These are modified by certain enemies on screen, the bears in level 3 for example. They cycle the RNG for when in a section of the level a fairy will appear. Once a randomizer function does its work, the result is stored in 07F9 when the next section loads. The value is 0-3, 0 being the start of the section, 3 being at the end. Keeping track of these variables makes the fairies in level 3 pretty easy to manipulate, it is still guess and check, but at least we know what to check now. I'm still working out RNG for the other levels. I expect the final submission to be about 4 seconds ahead of the published run, losing about 1 second of what the warp saves in trying to deal with lag and RNG. Also I don't think having minnie's weapon helps, it more often then not just makes extra lag, so I've stopped development of that run.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
FCM file format wrote:
Even if the header says "movie begins from reset", the file still contains a quicksave, and the quicksave is actually loaded.
What I mean to say is that the movie file contains a quicksave (savestate) which contains RAM values other then the power on initialization values. This state is apparently loaded by FCEU 0.98.15. This game does not clear RAM upon reset, so this is important for this particular game. EDIT: It looks like the quicksave in this case is made on frame 5 from power on. I just tested this, and it turns that if you convert Randil's FCM to FM2, then add 4 frames to the beginning of the file, it will correctly sync in FCEUX 2.2.2 So yes, the published run starts from a savestate, that state just happens to be frame 5. (Arc's ghost and goblins run had this same issue.) I'm sure many runs from that era suffer the same hiccup.
Post subject: Mickey Mousecapades
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I've been working on this on and off for quite a while. I haven't made a lot of progress so I thought I'd post a WIP in case anyone else was interested in working on it too. http://tasvideos.org/userfiles/info/26476033887292740 So far I have a pretty optimized level 1 done. I think Minnie is captured in the optimal way. And I didn't lose a lot to RNG in the rest of the level. Recovering Minnie and using the warp trick saves about 5 seconds (if you don't get the second star.) If you do choose to get the star it costs 200 frames to do so. So having the star for minnie will need to save 200 frames throughout the remainder of the game for it to be worth while. I also have a file for the no star case I've been working on in tandem. I also tried the other smaller warp suggested by Tangent but it turns out to be slower by about 15 frames. I've been stuck on working with the RNG to get the correct fairy spawn in level 3. The WIP file doesn't sync past level 1 in its current form, but most of the inputs to beat level 2 are roughly in there. Having the second star for minnie to shoot in level 2 does seem to save some frames in lag reduction by killing additional enemies, I haven't done any firm calculations though, since its seems I need to do level 2 and 3 together to get that fairy to spawn. EDIT: oh yeah, also I'm pretty sure Randil's run starts from a savestate, so I didn't get the same spawns in room one. Seems it suffers from the same problem as Arc's ghosts and goblins run.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
http://tasvideos.org/userfiles/info/26408577789790762 Ok! I got a new 101% completion WIP up and running. This one includes some major updates, including the super jump in 3-3, the croctopus chase improvement, and the rolling in the air glitch in 6-1, as well as some other minor improvements. Things are really shaping up! I tried doing some more work in croctopus chase, but I moved a bit too far ahead at one point and made the game stop spawning objects, including the exit, even though the camera still eventually caught up to me. So definitely more work is needed in that one, its practically a ~1:30 TAS all by itself. Also at this point I'd like to invite anyone else interested in this game who wants to work on this TAS to pm me, or even just jump in and start working. I simply don't have the time I used to to put into this and I would hate to see it languish again in WIPs, especially now that about 90% of it is finished, by my estimation. EDIT: vvvvvv Awesome! For me this will be the last update for at least the next month. I'll probably do some work on croctopus chase, but not much else, so anything that might get done between now and then will be welcome!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
@tompa: yes I kept playing after it got stuck, but the camera never recovered. My working theory is that the camera behavior is closely linked to the current croctopus you are being chased by. For example if you are moving horizontally and the croctopus track requires you to go horizontally, the camera will move quickly horizontally too. This is as far as I have gotten. Similarly, the camera seems to break when it doesn't know what track you are on, could be by skipping a trigger? I didn't try expresso yet this was just a test run that I only spent a few hours on from scratch as proof of concept, much more research is needed. @jlun2: sorry I am unable to post videos at this time. However a simple to reproduce example is after the first set of blast barrels. You'll notice I go down to trigger a croctopus before going back up, if I just keep going up the camera gets stuck in a corner.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
I've been too busy to make a lot of progress, but today I was finally able to sit down and at least get a rough draft of croctopus chase done with my new script. http://tasvideos.org/userfiles/info/26369311450733872 I didn't resync the movie past 4-4, so it won't play the whole game, but the total time is an accurate representation of how long the run would be if submitted today. Overall, it was pretty easy to TAS the level once I could see what I was doing. The camera is quite difficult to work with though, and many of the big shortcuts I thought I could take turned out to be undoable since the camera simply got irreparably broken. The final level time of ~1:32 is about 18 seconds ahead of the previous complete attempt so that is progress at least. I don't know how it compares to the nico video ones. Anyway, with the techincal hurdle removed, its just a matter of time to get the run in shape now. Let's go! For Tompa and anyone else interesting in taking a stab at this, here's a link to my script and the file that contains the lines I used to outline the level. Maybe someone else can find a better route. https://www.dropbox.com/s/pcxokh5hytzyhz3/radar.zip?dl=0 I'm not a programmer, so I'm sure some clever person can improve the performance of that too, it does slow down emulation a bit.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Comicalflop wrote:
Couldn't you TAS through the camera hack version and record the x/y pixel position of the entire route and use it as guidelines for where you're supposed to go?
sounds like a workable idea, but I don't think I'll be using the camhack at all. So far I have a digitized version of the level outline and a working lua script to display it on the screen. It still needs some work and is pretty slow but should be fine for TASing. I'll be trying to get a rough draft of the level going in the coming days. Hopefully I'll learn something about how the camera works along the way.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3536)
Joined: 11/30/2014
Posts: 2733
Location: US
Thanks for the new info. I admit I don't really have any leads at the moment. I think I will indeed try to look at super C and see if anything comes of it. It's unfortunate that there are no visual ques of any kind to go off of, and even if the glitch occurs, since you can't see the RAM in real time play you would never know. I haven't given up though. I am confident an invalid call to EAEA is causing this glitch, I just need to find a way to make it happen. Either that or it's a one time event hardware error, but I don't really think so. EDIT: well investigating Super C a bit, it does share the same vulnerability that Contra does, in that changing a single bit at any time will end the level. Once again though its not obvious how this might occur outside the normal pathway. The coding style is also extremely similar to contra, so a hypothetical glitch would probably function the same way.