Posts for Alyosha

Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
A little update on this one. I tried figuring out why the boss dies in Dacicus' glitch, here is what I have so far. A subroutine at $A87B is being called which has some function in keeping track of fireballs. At the point the glitch occurs, fireball 1 (y value at $033D) has y-value 79 (#$4F) This makes a check fail comparing to #$50. At this point is where things get strange:
  $B2A8:BD 3C 03  LDA $033C,X @ $033D = #$4F                   A:04 X:01 Y:91 S:FD 
  $B2AB:C9 50     CMP #$50                                     A:4F X:01 Y:91 S:FD 
  $B2AD:B0 AD     BCS $B25C                                    A:4F X:01 Y:91 S:FD 
  $B2AF:AD 0C 04  LDA $040C = #$00                             A:4F X:01 Y:91 S:FD 
  $B2B2:D0 A8     BNE $B25C                                    A:00 X:01 Y:91 S:FD 
  $B2B4:A9 01     LDA #$01                                     A:00 X:01 Y:91 S:FD 
  $B2B6:8D 0C 04  STA $040C = #$00                             A:01 X:01 Y:91 S:FD 
  $B2B9:A9 C0     LDA #$C0                                     A:01 X:01 Y:91 S:FD 
  $B2BB:99 A4 03  STA $03A4,Y @ $0435 = #$02                   A:C0 X:01 Y:91 S:FD
Register Y currently has a value related to Kuros' position on the screen. For no discernible reason, the code proceeds to use this register to store #$C0. The corresponding RAM address is $0435. Now, $0435 is the location of Mikail's current attack pattern. It ranges from 0-5. The game performs a check later on to check what pattern he is in, if it can't find a match (which it can't since it is set to #$C0) the fight ends. This explains why the fight ends, but not the graphical glitches. I'm not sure of the possibilities to do thing with this glitch outside this particular fight. EDIT: with some more analysis, it seems that block of code is specific to Mikail's room. The game checks a RAM address ($006B) that carries the current room designation, in this case it is 5. When it is 5 is the only time this block of code is called. As a side note, the game does another special check if the current room is 1. I so far have not found any room with such a designation, although it might be worth looking into further.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
z1mb0bw4y wrote:
I'm picking up Metal Storm. Improved 8 frames on password input. Hopefully more to come lol.
Awesome! I admit I was a bit intimidated to try that one, I hope you keep finding improvements as easy as that one.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
@feos: My thought there was that since these demonstrations are meant to showcase technical prowess, they should meet the highest standards of verifiability (use real hardware.) This isn't to say that console replays alone are the tech demos, but whatever technical process is being demonstrated should have a console verified component along with it, at least in my mind.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Well since I did say I strongly support the idea, I will at least take a shot this. Overview: I think the overview section is fine. Technical Requirements: Demonstrations should: -execute a novel concept on a gaming device beyond that which is attainable through controller inputs alone. OR -Use controller inputs to perform a novel action aside from beating (or simply crashing) the game. In addition, demonstrations must be considered a significant new contribution to existing material, and be demonstrated on reference hardware. Notes: I think the section as originally written uses existing examples to shape the requirements a bit too much, so I personally prefer something broader like this. TASing itself originally could have been considered a technical demonstration, yet it wouldn't fit the original definition. Entertainment Requirements: I think the first and third bullets are fine, with the second bullet unneccesary Speed Requirements: Maybe someone else can add useful input here, I'm not sure what to make of it. Goal Choice / Obsoletion Looks good to me Documentation -All parts of the Demonstration should be sufficiently documented such that it can be reproduced substantially from the submitted material. Notes: I add in a documentation section as this tier is supposed to bring novel concepts that add to the knowledge base, and as such should be thoroughly documented
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Odongdong wrote:
I was working on SNES Prince of Persia, actually.
Oh nice! Are you still working on it? If not I would like to see any work you have, I was thinking of working on that one fairly soon.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Well I guess the RNG problem was solved by HHS, at least in part thanks to some technological advancement, nice! Anyone have any other noteworthy problems to add? Given that a mega man TAS has recently been rejected, I wonder also about the 'no magnet beam' run. Is there any plausible way such a thing might be done?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
^Nice work on those by the way. I looked at Rad Racer myself briefly but couldn't get much out of it. Looking forward to seeing gauntlet in the submissions. Won't be too long before we are under 30 runs left!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
^ I'm not sure what you mean by that. Flashback is published hurray! I noticed FatRatKnight's WIP too, surprisingly large improvement. Unfortunately I think all the really easy ones are done. I tried looking at kabuki Quantum Fighter and so far can't save even 1 frame. Maybe I will try Wizards and warriors 3 next.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
It could be because the file is the converted version of the original run (fcm->fm2) that it is coming up as FDS. Same with the Jackie Chan run. As for the blue robot fight, yeah I was surprised when I saw that worked as well (completely by accident.) You might also notice that I only actually hit one of the robots. The fight takes the same amount of time for the robots to actually die, the improvement comes from the fact that they die further away from me, so I can start moving earlier, saving about 5 frames.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Oh, what a great idea! As someone who doesn't find TASes generally interesting to watch, but is fascinated by the more clever and technical things that can be accomplished, I strongly support this idea. I would say the 'technical requirements' section as written now is maybe over specific, but I think its a good start.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Mothrayas wrote:
A few years ago I tried to make an arcade SF2:TWW playaround run, using glitches like handcuffs and all the other things Guile can do, invisible Dhalsim, player vs player fights, etc., although I never got far with it. A good playaround/glitchfest would probably be able to obsolete both SNES runs.
I have a question related to this, and preferred game version in general. How is the preferred version/port of a game decided? Is there a list? For example NES Double Dragon is also on this list, but there are surely plenty of other ports of that game, so should I do NES double dragon or the Genesis Version (which also has a published run) or something else?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
jlun2 wrote:
Hey, I'm not sure how you would check quickly, but with the introduction of vault, several TASes that were submitted from way back but were rejected were accepted and published. So if you want more ideas, those could work too.
Good point, I didn't consider that in thinking up this project. I think I have more then enough to keep me busy though. If I ever make any substantial progress in this project, surely those street fighter runs will be saved for last, entertainment is not my strong suit.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
http://tasvideos.org/userfiles/info/22688727279303428 Found a neat new trick (not sure exactly why it works, intentional or not) but if you hit a boss on the last possible frame before you die as they deal you a killing blow (where you die while still having HP left) then they will die too, regardless of how much HP they have remaining. Only useful for bosses that slump over and die instead of blow up. EDIT: complete run saves about 25 seconds. Not sure how much can be saved additional.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
So I did a bit of testing to find out why the boss takes so much longer to kill in kyman's run. Here is how killing a boss works. after the last hit, a timer at $0392 is reset to zero. Then it increases by 1 each frame until it hits 128. At 128 the boss explodes. After this happens and the sprites leave the screen is where things change. In the original run (and in the mini-boss) the timer does not reset, it counts up to 255, at which point play is resumed. But in Kyman's current WIP, the timer resets to 0 and has to go all the way back up to 255. So it's not really a frame rule per say, we just need to figure out why the timer resets in some cases but not others. I also noticed that kyman gets 50000 points for beating the boss, where the original run only get 10000. EDIT: seems like both things are connected to the critical hit head shot. When I beat the boss with it, it slows down, without it, speeds up. Critical hit gives 50000 points, normal hits, 10000. http://tasvideos.org/userfiles/info/22672731366586841 WIP up to stage 5. Pretty easy with TASeditor.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
your resulting file only needs to have 1 number for each result, which won't result in a file bigger then 16 MB And if you are only interested in 1-ups anyway you can just store those. Hmmmm not really sure what else to do with that pattern though, maybe it resets somewhere in there for some reason?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
The dragon fight takes the same amount of time, I just happen to have a different power up. The second and third dragons were the same as Baxter though. This game is quite simple compared to most other platformers and sidescrollers. There are very few tricks that actually speed you up at all. Let's see 3-1. I played that level the exact same as Baxter, so not sure what you see as different, was it something specific? vvv done!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
What is your current script that you used to get the data you have so far? There are 'only' 2^24 ~16.7 million options to check. Even if the script only does 5 per second that is only a month of computing time, quick compared to the ~3 decades it would take if you had to check the whole 2^32 RNG
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
ALAKTORN wrote:
How did you figure out that it only uses the first 3 bytes, btw?
I created a save state 1 frame before killing an enemy with a bullet about to hit him. Then I just tried different RNGs just randomly testing. I had saw that FractalFusion originally suggested maybe only the first 2 bytes effected the item. When that didn't work I happened to try 3, and it did : ) Are you sure the cycle is 5699? That does not divide evenly into 2^24, so it would mean the RNG does not contain a whole number of cycles...
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
ALAKTORN wrote:
Alyosha wrote:
You can test this yourself by simply using 2D A7 59 XX (the first three bytes from 1683597101)
That’s a weird definition of “first three bytes” to me… 1683597101 is 0x6459A72D, so instead of taking either 0x6459A7 or 0x59A72D, it takes 0x2DA759? Isn’t that like… looking at each byte individually? I’m pretty confused… I’ll have to look into that some. Edit: Well if the calculation gives 5531, that doesn’t give a Life Up, so it’s still wrong…
Look at memory watch/viewer in DeSmuMe and you'll see it, yeah I expected it to be the opposite way as well, I didn't notice until I froze the RNG in cheats.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Ohhhh ok I get it now, I had the wrong endianness. now it makes sense. Well it still has the same behavior I mentioned before. Only the first 3 bytes effect the item. You can test this yourself by simply using 2D A7 59 XX (the first three bytes from 1683597101) they all give 1-ups. In your example, the first 3 bytes are 0x59A72D = 5875501 5875501 % 5699=5531 But since this definitely gives a 1-up, there must unfortunately be something wrong with your list or formula.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Yes that is strange . I will do some testing and try to track down what is going wrong. EDIT: Ok so all my testing was in the intro stage. I'm guessing this is an area that uses the other drop list you were referring to since I tried your RNG that should give a 1-up and got nothing. So I'll get to a region that has the proper list and test from there.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Hmm sorry I wasn't specific enough , by first 3 I mean address wise, not numerically. So the RNG bytes are AA BB CC DD AA BB CC determines item drop So mod24 doesn't work since that is like using BB CC DD When you calculated the table did you do it this way?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I have an idea what the problem might be I think. Only the first 3 bytes of the RNG effect the item outcome as far as I tested. so RNG's larger then 2^24 need to be dealt with by only considering the first 3 bytes of the number.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
what answer is it giving? Is it working on lower RNG values and only failing up to that point? You could also write a little code to just subtract 5699 from the RNG repeatedly until it gets the modulo result to test it. By the way why are you starting at -1?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Randil's run was 7 frames ahead in level 1 (which is roughly 17000 frames long.) Baxter's original was really solid. So in this case, old doesn't mean poorly optimized. Same with Blublu's Rad Gravity run. As a side note, it is interesting how standards have evolved in TASes like this one. In the original, Adelikat, Arc, and Bisqwit all gave Baxter's run a technical rating of 9. By today's standards though the run seems like nothing special. EDIT:
just four seconds
Oh yeah, the run is only an improvement of about 100 frames. So I guess the other ~2 seconds comes from how the site calculates movie length.