Posts for FatRatKnight

Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
Hmm, fixed my lag count on one of the Chapter 1 stages. That last one didn't have 447 frames of lag, but 191. Hopefully, there aren't many other errors in my frame counts. Aside from counting up frames, the rest of Chapter 2 went by fairly quick. There are still known improvements to be made, since in mid-battle, I discovered that scrolling the screen over a bit makes Queen Bee stop moving from the last hit sooner, and therefore gets out of the hit-stun quicker. Besides that potential improvement, I can see one likely improvement all the way back into the first stage (Those jumps are pretty fast, and I neglected to even test them back then...). I'd rather continue and mark down everything that looks suspiciously improvable. Going back every time I notice something does not sound appealing.
Measurements are based on:
* 7E0067 (fade-in/out using bit 0x10)
* Emulator's frame counter (obviously)
* 7E00DB (game's internal frame counter. Lag check)

 1-* Coast of Pange           336 frames (  4 lag)
 2-* Empty Land              1240 frames (261 lag)  1885 as fish
 3-* Ocean of Pange           533 frames ( 72 lag)  1561 as fish
 4-* Land of timid Ikustega   314 frames ( 16 lag)  1265 as fish
 5-* Land of bull Ikustega    315 frames ( 15 lag)   967 as fish
 6-* Land of Amphibians       396 frames ( 41 lag)   671 as fish
 7-* Land of Boss Ikustega   1945 frames (308 lag)    91 as fish
 8-* Domain of Profasu        663 frames ( 64 lag)
 9-* Domain of Giant Bee      691 frames (129 lag)  Keril
10-* Land of Insect           443 frames (  6 lag)
11-1 Cave of King Bee        1011 frames (128 lag)  Jump D-Fin
11-2   Battle w/ King Bee    2084 frames (316 lag)  Spring Tail
11-3   Megausu's speech       504 frames ( 30 lag)
12-* Desert of Sand Eater     597 frames ( 10 lag)  Crystal get!
13-* Desert of Edosaurus      350 frames ( 43 lag)
14-* Desert of Mosuchop       245 frames (  7 lag)
15-* Desert Time Trans       3031 frames (397 lag)  Saved Amphy in record
Chapter 2 finished at frame 47675
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
I got through King Bee now! Typical bashing of the boss took place. There's some mild optimizations over my previous Chapter 2 fishy test run. I haven't checked any alternative ways of doing things. I just picked whatever strategy seems fastest at the time and optimized it. While waiting for that 1000 meat, eating those random things actually delays the appearance of that meat by a frame for each thing I chomp down on. On the other hand, since there's fewer sprites onscreen, that means less lag. And the menu is very laggy on its own, anyway. I think there's some reduced lag, but I haven't thoroughly checked. Besides, why be picky? The next areas should go quickly enough. Though, I'm wondering how the end result would look. Will it be just a "jump to next area, and bash bosses silly" run? May as well keep going and see how it turns out.
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
From what I can tell of that lua script, it seems you're checking for 0, and only 0. From my tests, both 0 and 1 gets me the flashing meat. It's not a 1/256 chance from those eels, but a 2/256 chance. Let me know if I misread something, since I'm not familiar with lua.
Dromiceius wrote:
To be honest, I'm astonished you've figured out as much as you have if you really aren't using a debugger to trace the code.
I have not used a debugger. As I do not know SNES Assembly, I do not believe that reading the ROM binary with assistance from the debugger would help me. If you knew my history of cracking passwords of various games, this fact would seem less of a surprise. I believe my experience in the past has helped me to spot out patterns quickly. I now see exactly what's going on in the random number bits. All that's happening is that they're getting shifted around. If you look at the numbers in binary, a division by 2 simply shifts the bits 1 digit to the right. The bit that gets shifted out of 7E00DE is shifted into 7E00DF. In effect, once the game generates the bit in 7E00DE, it sticks around until 16 RNG calls later, when it's finally shifted out into oblivion at the low end of 7E00DF. The game only generates a single "random" bit each time, and merely moves it through the random number addresses. Since a bit is shifted from 7E00DE to 7E00DF, perhaps Big Endian format is more appropriate. Or just use the practical knowledge we have and stop thinking about the theoretical beauty of each individual bit. I finally beat Chapter 1 with that final piece of RNG you gave me. It became many times easier when I got an idea on roughly what frame I can expect good food. My frame-counts to the best of my ability to measure them:
Measurements are based on:
* 7E0067 (fade-in/out using bit 0x10)
* Emulator's frame counter (obviously)
* 7E00DB (game's internal frame counter. Lag check)

 1-* Ocean of Origin         1255 frames ( 95 lag)  Original Dorsal Fin
 2-1 Cave of Guidance         177 frames (  3 lag)
 2-2   Inside cave            726 frames (167 lag)
 3-1 Cave of Temptation       195 frames (  7 lag)
 3-2   Inside cave            901 frames (156 lag) 1920 as eel; +300 EVO.P
 4-* Ocean of Terodus         623 frames ( 42 lag) 1403 as eel
 5-1 Cave of Zinichtys        107 frames ( 11 lag) 1309 as eel
 5-2   Inside maze            925 frames (113 lag)  497 as eel; +200 EVO.P
 6-* Domain of Cepalas        471 frames ( 24 lag)   52 as eel
 7-1 Cave of Origin           310 frames ( 63 lag)
 7-2   Inside cave           2284 frames (367 lag)  Powered up! Saved fish in record.
 7-3 Domain of Kuraselache   1069 frames (123 lag)
 7-4   Battle w/ King Kuras   988 frames (239 lag)
 7-3r  Chickens of the sea     74 frames (  5 lag)
 7-5 Coast of Pange          1424 frames (191 lag)
Chapter 1 finished at frame 21051

EDIT: Fixed incorrect reported lag of 7-5 (was 447)
      Also marked the second 7-3 with lowercase r.
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
klmz wrote:
Hmm, I think you can get as full-powered as an amphibian can be before fighting King Bee.
That depends on what you mean by "full-powered". Eating Debustega's lunch, the sacrificial Ikustega's gift, and luck-manipulated premium larvae meat, you could have as much as 2200 EVO.P. This is enough to max-out either Agility or Biting power. On the other hand, I'm a little short on affording things like Dual Horn and Armor Body... Although, seeing that tackles (21 frames of animation) appear to be faster than biting (30 frames), after vaguely testing things as some fish, I'm now more convinced that tackles are the way to go. Even more so if I choose to make a detour to become a bird, since I can then make those tackles in the air. Those Fierce Jaws don't seem terribly appealing now... I decided to observe the random numbers closely, and cheat-set a few values to help me through. I now have a much better understanding on what to look for to know when I'm getting especially yummy meat. The random numbers takes up two bytes, at 7E00DE and 7E00DF. It has already been stated before now, but I have confirmed that they are indeed the addresses containing random numbers. Each time they are updated, the game will separately update each byte. It may choose to increase or decrease these values. If it chooses to increase, it adds 0x100 then divide by 2, rounded down. If it chooses to decrease, it simply divides by 2, rounded down. 7E00DE goes up or down by some currently unknown factor. 7E00DF goes up if 7E00DE is odd, that is, bit 0x01 is set; Else, it goes down. As for determining flashing meat... The moment that the enemy is done being stunned by your attack and begins disappearing, that is when the game checks the RNG. There are some enemy states at addresses 7E09A4 ~ 7E09AB, which will help to know when they do die at bit 0x10. Even more convenient, bit 0x08 in the same bytes tells you if there's any flashy meat. When it comes to how the game uses random numbers to create your reward, this is what it does: Flash = address 7E00DE + address 7E00DF (add the two together) If ( Flash MOD enemy_specific_drop_rate == 0 or 1 ) then drop flashy meat. Else, drop regular meat. The enemy_specific_drop_rate depends on what enemy it is. Jellyfish = 64 (Somewhat common) cute eels = 256 (Very rare) Green sea slugs = 32 (Common. Perhaps this is why I got 3 so quick...) Zinichthy = 256 (But they drop 300 flashy meats... Too bad it's so rare) ... Just to name a few. The enemies I'm targeting for those yummy 200 boosts are 64, so it's not that awful to manipulate them up. The only real unknown at this point is what determines whether 7E00DE goes up or down. I do know exactly what happens when it does change, but not what decides which way it goes. By the way, cheat both 7E00DE and 7E00DF to 0, and almost everything you kill drops good meat, as well as force highly unusual behavior.
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
Optimizing a few things, then got lazy while setting up the eel and fish forms. Turns out that Debustega should have prepared for a land shark! With lacking comments, I won't say much else here. Being a fish actually made up for the time taken to get the Green Crystal! The total savings appears to be roughly 1400 frames over the fish-less test run that I haven't posted here, but stuck with no tail or dorsal fin evolution (which would probably be later replaced anyway).
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
I TASed up a test run of Chapter 1! It was fun watching myself beat the boss silly. Obviously, as a test run, I haven't actually bothered to tightly optimize everything. The only real luck manipulation taking place is on the first jellyfish. Beyond that, the second piece of flashing meat I get was actual luck. Some improvements that come to mind: * Luck manipulation. Lots of it. * Evolve the tail to something more decent. Even a small change made early enough can still be worth it, I think. * Skip the blue crystal. Manipulate up the points from the numerous crawly shell things on the ground! * Various optimizations... Those crawly shell things I mentioned gives 200 points per flashing meat. Now, tell me how three of those can possibly take longer to manipulate than going on a detour to the blue crystal? There's two I can poke at while still an eel in the same cave without going off the beaten path, and I count like 7 enemies which can give that tasty treat in the caves just before Kuraselache's Domain. There's another few on the way past that. As for the start of Chapter 2, I'm a little torn between getting the first green crystal or skip the darn thing. Here's the characteristics of getting a crystal early on: + I have an excuse to name a form! Imagine what I can do with 10 letters! + Skip the Coelafish dialogue! (Jump over the water around the area) + Can one-shot everything before the first boss right from the start. + Have at least 10 Agility instead of 4. + Eel does not get "change of circumstances" for jumping in or out of the water. Plus it mysteriously floats over the ground making footsteps! + Fish has 6 strength, which would help if I can reach the boss quickly enough. But it's stuck with "change of circumstances" around water, and stuck with 1 bite in my evolution plan. - Must jump to take advantage of high Agility - Can't bounce on enemies. Combine this fact with the above... Yeah, ouch. - Must take a somewhat long detour to get the crystal. You'll need to make up for roughly 2000 frames of loss on the detour + transformations with 1920 frames of high speed sailing through the air in order for the crystal to be worth it. - Must spend a few frames to record the form and name it for it to be used in Chapter 2. It is hard to tell whether getting the first crystal is even worth the effort. I can still quickly work up 300 EVO.P without it. The biggest reason I can think of is the travel time, which will surely be reduced significantly. If I do pick up the crystal, I'm thinking an encore of the Eel is the way to go. Pick up a few EVO.P, and try to time it so I can begin attacking the first boss of Ch2 as an amphibian with 6 strength. Depends on just how much the green crystal time limit would get me...
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
FatRatKnight wrote:
(A rather large post)
Um, do I exist? The last two posts imply that mine means absolutely nothing, except to bring this thread back to life and show some otherwise missed posts. (The fact my attempts and my time-savers are not even mentioned gave me this impression) Sorry about my negative mood in the last paragraph, but I feel like nothing I said got heard. Then again, I didn't pay any attention to the test run until now. It looks real sloppy to my eyes, but it's merely a test, just getting to the end is mostly good enough, so at least there's something to compare to.
negjay wrote:
World 1: I'm surprised that the dash-attack didn't get used once.
Agreed, I am also a bit surprised. A lofty bite can be almost completely replaced by dash attacks, especially after considering what gives Agility and what doesn't. At least look at my real-time run in Ch1 with savestates to see that choice in action. There's bound to be a few other things you would like to see. It even beats the test run for chapter 1!
negjay wrote:
World 2: You could have afforded the Jeprol back-o'-the-head before the Debustega fight. That would have saved a ton of time.
One could also spend the exact same number of points for equally decent strength. As a bonus, you even get a little speed, which won't go away if you do choose to get 15 bite from Fierce Jaws + Jeprol later on. I'm sure there are still plenty of ways to speed things up. Now I want to TAS up something!
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
I made a real-time run with savestates to beat Chapter 1 somewhat fast. An actual TAS should beat this time easily. I'm just improvising a route without slowdowns, and seeing where it takes me. I would love to revive the discussion of E.V.O. and get a TAS underway. Though, at the moment, I'm more motivated to talk than to actually try things out myself. If my Life Force run is any indication of how motivated I am, you should note that things won't get done terribly fast if I'm the only one around. I dug around for a few memory addresses...
7E0098,1u - Crystal transform frame count (0~63). Increments every frame
7E0099,1u - Crystal transform timer. Increments when 7E0098 returns to 0
7E00DB,1u - Apparently a frame counter. Freezing this causes oddities
7E00DE,1x - A general-purpose RNG. Freezing it causes behavior and luck changes
7E00DF,1x - Another address for a RNG. Just confirming what they are!
7E00E1,1u - Number of sprites currently being tracked
7E0137,1x\
7E0138,1x \ Some enemy states.
7E0139,1x / Seems to be equal to 0x88 if an enemy taking up that spot exists
7E013A,1x/
7E0766,1u - Enemy counter. Enemies loaded into memory since entering screen
I don't actually know how the game determines when you get flashing meat. When I set the values to 7E00DE:5A and 7E00DF:E6, the jellyfish always drops flashing meat. Not the eels, though. Naturally, enemies behave strangely after freezing these values. A few random time-savers I can think of for Chapter 1, already seen in my real-time run: Evolution choices No jaws. That 800 points is better spent on Dorsal Fins and fins. It's a choice of a potential 5 bite versus a potential 6 strength + extra speed (at a cost of 1000). The choice of picking up the Spiraled Horn in my real-time run is probably not a good choice for an actual TAS. Cave of Guidance Hit R after reading the dialogue. The R button takes you instantly back to the world map if you've cleared an area, and the place is cleared after eating the crystal. Cave of Temptation Again, hit R after your transformation act. It doesn't matter whether you can't move at the time. After you're done flashing hues of yellow, hitting R gets you out to the world map anyway. Obviously, manipulate the eel form. The speed easily wins out over the 10 strength of the manta. You have 1920 frames to use this form. Look at 7E0098 (0~63) and 7E0099 (done when it hits 30) for time remaining. Ocean of Terodus The trigger to clear out the wall of bubbles is to raise the enemy counter to 50, and after it gets there, make sure no more enemies exist. A good look at memory location 7E0766 is helpful here. Probably the best way to do this is stagger back and forth right about where some fishes will spawn. Immediately upon their creation, you turn around and swim away for a few frames, then come back to spawn more of them. This means we probably won't be getting any food from here. This makes it more important we consider the time taken for some EVO.P elsewhere. You will still be an eel after this with more than half the time remaining, given how quick this is, so it isn't all bad. Cave of Origin After thrashing the boss with lovely tackles, don't dash out of the cave. Just swim at a normal pace and stick close to the overhanging rock to avoid some dialogue. As for Chapter 2, I suggest a Power Tail and Vestigal Sharks Dorsal Fin for the first boss of the chapter. Having 6 strength (and a little speed) for spending 300 EVO.P is definitely very useful. It's even enough to one-shot the cockroaches in the next area! Just giving a shout out for a hope to see the completion of a TAS of this game. Maybe I'll try a bit myself, when I feel like working on something besides Life Force.
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
I opened up Command Prompt and told FC to compare the two files. Apparently, there are a few differences between the files, but the question is, if you largely did nothing, then how did these differences arise? A binary comparison picked up 62 bytes that do not match (In three distinct areas), although the two files are exactly the same size. If they were exactly the same, I would have to question my operating system's sanity. Why accept one without question, but flatly refuse to run the other? In this case, I'm still questioning things, but at least I can detect some difference between the files. I don't understand enough to figure out why 62 bytes is enough to call up a warning and prevent me from reading the contents of the file. If no one else is coming up with any problems, then the problem might be on my end. If that is the case, then for some reason, my computer is especially picky about something. Well, thanks for letting me know the (lack of) changes made to the help file. I'll try a few more things before giving up on the file.
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
I am having trouble viewing the help file. Also, my computer is complaining of "unknown publisher" whenever I attempt to run the .exe or open the help file. I can run the .exe anyway, but the help file can't be viewed. I did not have this problem with FCEUX 2.0.2, and I never got any warning about "unknown publisher" in that version. I specifically remember the warning never popping up for 2.0.2, and I still can see the help file in that version. For 2.0.3, I get a warning and can't even view the help file, either directly or through the executable. When I attempt to access the help, I see a lovely Internet Explorer was unable to link to the Web page you requested. The page might be temporarily unavailable. In the help viewer. I am using Windows XP Professional, if it matters.
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
Hey, Microstorage is available again! Since it's up again, I put my edited run up there, and edited my previous post. There isn't much progress to view in the run, but I got rid of my biggest regrets: Frames 1820~2170 got a makeover, where I no longer spell a barely legible FATRAT in there. It's mostly illegible! In its place, I dance around instead. Frames 3440~3680 just wasn't daring enough. Now there's a little more action and a lot closer shave for Red. Then at the end, 10 new frames, testing things out in the short term before deciding to go back and fix my previous problems. I suppose these 10 frames are enough to foreshadow Red's fate, huh?
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
alden wrote:
Basically, a read-only toggle that can be set for individual players?
More like a read-only toggle that can be set for individual buttons (not necessarily individual players), and will only write if the button is pressed. The writing would invert whatever the movie file has at that point for that button. If you're not pressing anything, it will simply read as normal.
upthorn wrote:
This is an emulator feature called "Multi-track recording" [...]
Using FCEUX right now. "Multi-track recording"? I'll look into that. Will it even allow messing around with A and B without affecting the D-Pad of the same player? Maybe I want to shoot in time with the music! The XOR idea was just running through my head for a while, and I only posted it when I had come crashing into a problem, and was also in a rush for something else over here.
Post subject: XOR rerecording
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
I am TASing Life Force/Salamander, and many, many times, I wanted to record one player, and let the other player play out whatever input I set it off to do. As it stands, I either modify the .fm2, or try to remember what I did with one player as I work out the other player. And right now, the editing I'm doing to my run involves remembering a very long sequence with one player. The basic idea I'm thinking about is that when you load an earlier state, it won't blow away the input for later frames. And when you press a button, it inverts the movie file's input of whatever the button represents. Going past the end of the movie file will add in blank frames, and invert the null sequence with the TASer's input. As the movie file is preserved between loading states, this is probably incompatible with bulletproof recording I've heard about. Though, if nothing changed when you loaded up an earlier state, the later state shouldn't have any problems syncing up anyway. One applications I can think of is 2-player runs. Inputting null for player 1 after you did everything you need to do for P1 lets you avoid worrying about it as you work out P2. Another is, perhaps, erasing some input that looks bad, but wouldn't have any impact on the overall run. Missed shots, perhaps? I haven't actually seen this idea around, so if it already has been discussed, point me to it. If not, let me know if you understand what I'm trying to say, and whether the idea is any good.
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
I get my next WIP ready, and I can't even connect to Microstorage now. I did refer to this thread and I'm still having problems. It seems as though it's completely down for the time being. (EDIT: The problems are gone now.) EDIT: Temporary link removed. I'm using Microstorage again. By the way, while I only added a few frames, I did make some adjustments to my run. Basically, I got rid of my biggest regrets, and hopefully is more entertaining. I still think my TASing style changed. ImageShack seems like a convenient site for pictures. I might use it after taking a little more time to decide where to put my picture.
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
Mainly, I'm posting to confirm I did not forget this project. Secondly, I've only added around 13 seconds over my last WIP so far. Just a report on how much I've done so far. I'm moving, but slowly... I'm probably going to spoil a part of my plans here, but here's what I'm thinking for a particular part of the first level: At those red vines, I won't shoot them all. I see some letters in there that I don't want to shoot. All I would be doing is get rid of all the extra vines so that these letters don't have any extras hanging off them! I might even end up doing a bit of TASvertisement through these vines! (In truth, I'm playing around with the idea of writing Wii on there.) That is mostly what I have planned for those vines. I don't want my plans to come off as bad after I put in the effort to write on those vines. And though the surprise is somewhat ruined by my explaining something I foresee, I don't actually want to end up making something awful when all that is needed to prevent it is asking here. On a side note, in the process of making that plan, I snapped a few screenshots and made a GIF file. Any suggestions on where to upload the picture?
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
So, it has been published for a few days now... I saw the description. I now feel more a part of TASVideos than just a lurker. I feel like it's luck that had me interested in the right game, which happened to be decently entertaining and also has a relatively easy input. Regardless, I still put in effort, and accepted trying out a possible improvement, re-doing a fair chunk of the game several times in order to find the fastest path. I still say luck has something to do with it, but luck alone won't get me anywhere, and I still put a fair amount of effort into this. I'm quite happy I contributed a run to this site! Perhaps I should look into updating that FAQ I have over in GameFAQs... I'm sure there's at least a few things I can add to it now.
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
Indeed, I did insert that A right before submitting this run. The visible effect being that you see the ATP go to 000 just before the ending starts. I wanted to show that I can hit Darces with a physical attack without slowing down in spite of the fact I'm skipping him. And it should show that the attack would deal no damage. It would take a clever observer to note that, though. It is a very small difference, anyway. The only visible difference is changing a number, and it's visible for only a short time. I tried listening to the attack noise, but I can't notice it at all.
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
Finding that mistake helped. I was getting a bit tired, and would have looked later, but you picked up where I left off and found the solution quickly. The change is enough for that next monster, and now the run is faster by another 8 frames. Through our efforts, here's a new run with 3776 frames. Again, most of the later stuff got copied over, with the usual adjustment to avoid that flank attack. Now it should be quite tough to find further improvements. One attack jar, two healing potions, making use of every last HP, and enough manipulation of enemy movements to keep ahead of everything. And for fun, going down to 1 HP three times! Hopefully, this is it. I can't see any better route for picking up potions, and all of the movement and fighting is pretty optimal. I consider it highly unlikely that anyone will find a way to beat this game faster. Hopefully someone else will come by and prove me wrong again, just like what you did on my submission. Good job, we've done a lot. I look forward to making a new submission with this new run.
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
Well, I made an attempt at skipping the blue elixir in the Cloud Realm in favor of an attack jar. However, upon reaching the first stairs, I get exactly the same time. I've come across a few problems: - Using an attack jar clears away my set-up spell. However, I don't need to wait for the previous spell to finish after it hits. - I have 4 wasted frames on the first spell, to hit max damage - I have 4 more wasted frames on the second spell, to hit max damage - I will have 4 wasted frames on the next monster, again for damage I was hoping I do not need to set the non-damage spell, which takes 9 frames to set and cast, but using the attack jar gets rid of the set up, and trying to cast a blank spell does not affect damage. The fact that I save 5 frames by using it to interrupt the previous spell is enough to maintain the time. (EDIT2: My apologies, I keep thinking about it. I thought it was 5, then 4 which isn't enough, then now I'm back to confirming 5.) Normally, I have 6 frames to do whatever I want after I transform the first spell. Previously, I've used 5 of them to make an attack spell and wasted only 1 frame. This time, the change is not needed, since it's wasted anyway. So now I move the cursor over to the items, which takes 2 frames, and I don't know what I can do with the 4 spare frames I have after that. For the second spell, this one is from a jar instead of a spell. As I said previously, I was really hoping I don't have to set the non-attack spell up again, but using the jar erases the spell for some reason. After setting up the non-attack spell again, I'm left with 4 frames to throw away. Problem is, I can't use those 4 frames on anything. Setting up a new attack spell ahead of time uses 5 frames, which pushes me over the 8-frame rule. While I do use a healing potion ahead of time, saving 4 frames when I reach the next monster, it's not enough to get ahead of that 8-frame rule. I need to be faster by 8 frames in order to get around that 8-frame rule, as the updated attempt has no frames to spare after using a potion and casting the spell. If I can set up the attack spell ahead of time, that would save another 5 frames, and would save one frame-rule unit, but I don't see how I can. It looks as though every attempt I make, I am stopped so close to my goal. I have 12 spare frames, but they are in different frame-rule units, and that slows me down exactly enough to match the updated attempt.
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
It's a bit late for a lua script now, at least for my TASing needs. I've just now made a few edits to my posts about this run. However, I might have a few ideas for casual playing, if you feel like it. Such as calculating your attack and defense, the power of your selected spells, and projected damage against the current target. And actually seeing your max HP would be nice, too. As far as I know, the hero's attack and defense doesn't exist in memory -- they are calculated on the fly. I should dig up a few more addresses and see what I can find to allow those calculations, as well as polish off the formulas I do have. Though, if you don't want to, that's okay. If you do want to take the time to do that, then I'll get to work on my formulas, and what I would like to see. I still haven't pinned down physical attack power yet...
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
Well, I already reduced the time by 11 seconds. That's very significant for what I thought was already as fast as possible, and for a run that's already this short. I guess since what I'm talking about is more of a new run, I should post back at the topic in the NES forum. My new post there: http://tasvideos.org/forum/viewtopic.php?p=181529#181529 I apologize for not posting the new .fm2 file, yet. Once I finally find out what is the fastest, I'll make sure to make that one available, hopefully as a new submission here. EDIT: Well, that was quick. I already have a submit-ready run. As I said in the submission text, this game is easy to TAS with its relatively simple physics. I think the route I picked is the fastest, but I'll check a few more things before I go ahead. I've also edited two of my posts in the other thread for this run.
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
So far, I already reduced the time by 685 frames, bringing it to a length of 3809 frames. A good portion of it is because I skip the shop entirely now. I think I can still go just a little faster. EDIT: Make that 3784 frames now. Go ahead and look! Don't mind the excessively low record count, 64. I started from a new movie file and re-input a lot of things. The only thing that didn't change much is the run through the final dungeon, which I just copied over (and a mild adjustment to avoid a flank attack). How should I represent the count upon submission? The current potion route gets two of the northern potions in the cloud realm and I get the third from deep within Tores Sanctuary. The previous 3809 frame run picked up a potion to the west of the starting town, instead of the one in the sanctuary. I guess the edit makes the following text unneeded, so I'll just shrink it down. I'm going to look over a few other potion-gathering routes, especially the potion in the bottom floor of Tores' Sanctuary (should cost only 2 frames to pick up, but that's enough to push it over the 8-frame rule), before I submit a new run. Using a jar as an attack spell substitute is a possibility, but the nearest one I could find so far is about 16 steps out of the way. I'll look a little more then create and submit my final run. I'll look over a few final things before I finally submit. I will calculate whether it is worth picking up an attack jar. Thank TaoTao for posting some possible improvements I could have done in the discussion of my submission, and now I've made those improvements. Some useful memory addresses for the (U) version I've been using keeping track of:
0000 Frame counter -- Most luck and timers seem based off this.
008A Position -- A must for when you can't even see where you're going.
008B Direction -- In case I need a reminder where I'm headed
007B Pause -- Sometimes I forget if I hit start or not.
00DB Foe's HP -- Useful to know if I ended up missing the needed damage
00DC Your HP -- I like to know the instant I hit 0.
00D4 Spell timer -- 0x99=spell hit, 0x9D=fire the next spell!
00AB Door knocks
009B Door timer
00CE Selects which foe gets to move. Increments in 4-frame ticks
00CF Used for determining how foe moves. Increments when 00CE goes from 15 to 1.

76E0 B1F Tores enemy 0; Must not be 0x5B
76E1 B1F Tores enemy 1; Must remain at 0x68. This I kill.
76E2 B1F Tores enemy 2; Must remain at 0x7A
7705 B2F Tores enemy 5; Must stay in 0x?0
7707 B2F Tores enemy 7; Should move to 0xC2. This I also kill.
7720 B3F Tores enemy 0; Must move to 0x2C
7721 B3F Tores enemy 1
7722 B3F Tores enemy 2; These four enemies are in the room
7723 B3F Tores enemy 3; just before Tores Sword
7724 B3F Tores enemy 4
75E0 Final Dungeon; Must not be 0xB1
75E1 Final Dungeon; Must not be 0xB5
75E4 Final Dungeon; Must move east
75EC Final Dungeon; Must move south and out of that hall!
75ED Final Dungeon; One of the final monsters by that hall.
75EE Final Dungeon; Another one of the final monsters by that hall.
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
TaoTao wrote:
I found some possibility of improvement (not sure): On the 2nd basement of Tores' shrine, you can pass through the first door without opening it. I tried inputting <up> on 2379 frame in your movie and succeeded. I think the effect of door is invalid only on the first frame after going up/down the stairs.
With the fact that doors take a while to open, the ability to pass right through it without opening it will definitely save time. I might have a little trouble manipulating that next enemy into moving where I want, but I have three other doors before that one to pause at.
TaoTao wrote:
How about picking up potions instead of buying foods? There are 1 red potion on the west from the first town, and 1 red potion and 1 blue elixir in the cloud realm. If they meet your demand, some improvement can be done, isn't it? (Because it takes time to shop)
I did use the CAMP action at three separate times. These could be replaced by the three potions that you describe. Which means I won't need to visit the shop for any food, and therefore skip visiting the king at all, since gold becomes completely unnecessary. Frame 1212 is when I start running through the door after learning Faerie magic, the start of my path to the king. And frame 1962 is when I finally fly up to the cloud realm. That's 750 frames between those two points. Of course some of those frames will be needed to actually exit the town. So we're left with roughly 720 frames, perhaps? Unless those potions require me to walk more than 360 steps out of the way to get them, then this is quite likely another improvement I can make. Seeing as there are possible improvements, I will cancel this submission while I work out the improvements, then submit a run even faster than this one. Many thanks for pointing them out. I didn't think it was likely that there would be some improvements, but I can be surprised.
TaoTao wrote:
But I refered FatRatKnight's FAQ on GameFAQs.com, so the most of idea is thanks to him.
Thank you. I'm glad to know my FAQ has helped, and in return, you helped find some ways to speed this run up even more. I am the same person who made that FAQ on GameFAQs. I just finally got around to making this run. EDIT: I have canceled the run. Expect an improvement after several days!
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
Odd, the time reported here says 01:14.78, yet the emulator I'm using reports the time at 01:14.90... What caused the difference? There's a couple edits I should do to the submission text, so far that I can find. First off, there's a forced wait at the title screen. About 4 seconds of waiting. There does not exist any such input that can skip this 4 second wait. Second, town doors work differently from dungeon doors. Town doors can be opened by any of the five actions, and the auto-opening spell will not work on them.
Enhasa wrote:
My first reaction on seeing this was "WTF? There's an NES Dungeon Magic?"
My reaction to this post is "WTF? There's a Dungeon Magic for another system?" The NES one is the only Dungeon Magic I'm aware of, until now.
Naohiro19 wrote:
TaoTao's first movie is here on nico nico douga here: http://www.nicovideo.jp/watch/sm4515003
Not sure how to view the movie in that link. My impression of this post is that there has been an attempt by someone else before my submission.
Editor, Experienced Forum User, Published Author, Skilled player (1173)
Joined: 9/27/2008
Posts: 1085
I think I should try to grab them all, unless it looks quite a bit more interesting if I do something else at the time which would prevent me from getting those bonuses. In particular, I'm thinking about the two bonuses at the end of the first level. I would like to keep the two players flying into each others' space even while digging through the regenerating gunk. I'm not sure if I can dig upwards or downwards, but if I can't work my way vertically at all, I may sacrifice getting one or both bonuses for the sake of dancing around with both players together entertainingly. Although, I could still try and dance a bit on opposite sides so I can still get both those bonuses... I'll try to work it out when I get to that point. For now, there's the rest of the stage I have to get through.