Joined: 3/19/2005
Posts: 63
Location: SuPeRZzT LaNd
Why would it end with me? that doesn't even make any sense!
HWIOHIIOWHIOHIDH HEBlkbnrkashpoirhjpakirhkl;23332232322
Joined: 5/2/2009
Posts: 656
of course it makes sense.
My first language is not English, so please excuse myself if I write something wrong. I'll do my best do write as cleary as I can, so cope with me here =) (ノಥ益ಥ)ノ
Joined: 4/30/2012
Posts: 1
Will this ever be updated again? =[ I was looking forward to this so much
Joined: 12/31/2009
Posts: 174
Maybe not by me. Most of my important lua scripts were lost in a hard drive crash and the ones on pastebin are severely outdated in comparison. I do have some new information for anybody who is interested. Movement on the overworld can be safely hexed from other movies as long as you sync up the first frame of input (no noticeable lag that can cause desyncs). Results may vary when it comes to interaction with mobile entities (RNG controls their spawn points and direction of movement). The first frame you are able to dismiss speech bubbles during conversations vary greatly but I do not know by what. I have seen differences up to -/+ 3 frames between movies starting from the first speech bubble. I have mentioned before that frames you wait before dismissing a speech bubble may be subtracted from the loading screen and end up costing no frames. Loading screens can vary by lag frames by unknown measures at the moment. I compared two slightly different movies and occasionally one would save a few frames compared to the other but lose it on another loading screen. Attempting to optimize the reduction of lag frames may be futile at this point until somebody figures out what causes it to happen. This would also include lag frames that would appear almost randomly when it shouldn't lag (and usually cost time by forcing the author to change something in hopes of neutralizing the loss).
I have had begun the dissection of calls to the RNG during battles and other occasional instances that peaked my interest. Most of these tests were done with pixiefrogs but it should be the same basic principle for manipulating other enemies. When it is time to refresh an enemy's action, the RNG is called (I will call this part 1). The RNG may be called again (part 2) and the range a value is selected from depends on which branch is taken during part 1. The game then executes the action based on the values of both parts (both are stored in the enemy's data struct). Important values required for analysis is commonly left in the cpu registers so it is a matter of getting the lua script to recognize the return address (think of it as a signature of what the random value will be used for) and then getting the remaining data from the other registers or from memory. Often times, the enemy whose action is to be refreshed is in a specific register(s) so the script should at least be able to identify the associated enemy.
Joined: 9/20/2012
Posts: 9
Hello, I'm the guy who wrote the speedrun walkthrough on GameFAQs. I see you were using it as a source for ideas. If there are no sequence breaks found in the game, then the TAS would follow a path similar to the FAQ's path. However, there are a few notables: - I agree that the difficulty should be set to hard as soon as it's available at the end of W2D1. It's only fair that way. - Clearing Another Day shouldn't be a goal because you can only play that after the credits. - Playing at level 1 is pointless so I wonder why that was brought up. Pin drops add significant time, so the only pin drops that should happen in the TAS are 100% drops (unavoidable) or ones that are required to clear a wall mission. - Fusions are still horridly slow compared to puck damage, so it'd only be used in boss battles where using a fusion would save time. Considering a fusion takes around ten seconds to perform, I'd only imagine the level 3 fusions are worth using, if even. This is sort of a relief because it means you don't have to manipulate the combo map cards themselves, only the arrow panels. - Psychokinesis D (drag) should become the best psych in the game. Battles would be manipulated so that an SUV (large jeep-like object) or car is on the field every time. Using the psych itself would only last a few frames, thus maximizing the gauge. Sexy D is given at the end of W1D5, and Sexy + is required for a W2D2 wall mission, so there's no detours in obtaining them. However, this introduces the "fighting game problem" ... if every non-boss battle becomes Psychokinesis D abuse, some people may complain that it's repetitive. Then again, is this any different than using Gurdurr to solo most of Pokemon BW? - If using Sexy D/+ along with Ice Blow, it'd be much simpler to manipulate trends so that D+B is #1 or #2 in every area. Some areas have a specific brand at #1 every time, but as far as I know, #2-#13 are randomized. - It's impossible to no-damage clear the whole game. Some attacks against the partner cannot be avoided, such as W3D3's Uzuki fight. - The "SOS" condition happens when a character's half of the HP bar is at 0. There are some equips that increase ATK when a character is in this position, and there is a pin (Tin Pin Thrift) that induces SOS and provides +30% ATK. It is actually possible for both characters to be in SOS, but any damage will result in a game over. I avoided SOS in the FAQ for practicality reasons, but in a TAS, the SOS option should be used as soon as it's available. I could use dual SOS to make week 3 a breeze. Unfortunately, if both characters are in SOS, the annoying "critical" beep will last through the whole battle. See here for an example of what it sounds like. (To the person who said I didn't have good recording equipment, watch that video) If only Neku is in SOS, the beeping won't happen. If the run were to go for absolute speed, I'd have to use dual SOS, but then some people may complain about the sound. W1D3: You get Poison Bones at the end of the day. This is a pin that sometimes halves the DEF of non-boss enemies at the beginning of battle. In most cases, this doubles the damage output. It wasn't used in the FAQ because it's luck-dependent. But in a TAS, it'd activate every time. W1D6: Accessing Spain Hill requires either 3 Rare Metal, to access it via Center St., or a Lv. 3 Murasame, to access it via Molco. The latter mission is better because it gives a Durable Leather, but when I played around I was a bit short on PP. W1D5 and W1D6 would have to go for extra battle bonuses in order to get the 222 PP required to level Murasame. W2D3: Scramble Crossing's trends can be manipulated so that Natural Puppy is the #1 brand, thus avoiding the wall mission. W2D5: Ditto here. Scramble Crossing can be manipulated so that D+B is the #1 brand. The optional Tin Pin battle would have to be played here in order to get Tin Pin Thrift. Reaper bounties in W3: These can be avoided entirely. In all honesty this game is an absolute nightmare to TAS optimally. There are tons of random factors such as trends, noise symbol placement, and obstacles. In addition, with Zanoab's notes indicating that there are random lag frames, I don't think any full run should be fine-tuned to to an extreme degree. In addition, a stylus TAS requires another level of precision to pull off, and you'd need to co-ordinate it so that you pass the puck immediately (or almost immediately according to Zanoab) every time. Of course, if there were some way to glitch it in order to access W3D7 immediately, I'd be all up for that. I could attempt the TAS, but note that I have no LUA knowledge or technical programming knowledge, so anything I'd do would just be brute-forced. I also can't guarantee that I'll even finish it this year. This is a huge undertaking if done with no sequence breaks and I don't know how much time I can spend on it. Lastly, I think the absolute minimum amount of battles (not including tutorials) is 85. That's about 4 battles per day, so it's not much at all.
Joined: 12/31/2009
Posts: 174
Thanks for the post. I found it very helpful and reassuring. Some comments I have.
GipFace wrote:
- Playing at level 1 is pointless so I wonder why that was brought up. Pin drops add significant time, so the only pin drops that should happen in the TAS are 100% drops (unavoidable) or ones that are required to clear a wall mission.
It only costs 4 frames to change the level if you are already in the menu. I haven't checked but the only way changing the level would cause a desync is if player's HP is factored into the AI and/or it manipulates a better drop. Probably not the best way to manipulate the RNG but it is an option if needed. The level 1 is for an optional goal of being low leveled but I don't see the challenge worth pursuing.
GipFace wrote:
- Fusions are still horridly slow compared to puck damage, so it'd only be used in boss battles where using a fusion would save time. Considering a fusion takes around ten seconds to perform, I'd only imagine the level 3 fusions are worth using, if even. This is sort of a relief because it means you don't have to manipulate the combo map cards themselves, only the arrow panels.
I agree with you there. I haven't tested what effects fusions have on the battle yet but restoring HP while dealing damage may have a use on some bosses.
GipFace wrote:
- Psychokinesis D (drag) should become the best psych in the game. Battles would be manipulated so that an SUV (large jeep-like object) or car is on the field every time. Using the psych itself would only last a few frames, thus maximizing the gauge. Sexy D is given at the end of W1D5, and Sexy + is required for a W2D2 wall mission, so there's no detours in obtaining them. However, this introduces the "fighting game problem" ... if every non-boss battle becomes Psychokinesis D abuse, some people may complain that it's repetitive. Then again, is this any different than using Gurdurr to solo most of Pokemon BW?
I don't see that happening because alternative pins may be needed. I haven't done tests yet but as a drag pin, I will assume it's combo would require at least 3 hits to pass the puck. From my experiments with Pyrokinesis, the drag MUST be continuous so if it is against one enemy, it would drain ~52 frames to pass the puck. If the battle manages to out lasts the pin, we would need a second pin to continue attacking.
GipFace wrote:
In all honesty this game is an absolute nightmare to TAS optimally. There are tons of random factors such as trends, noise symbol placement, and obstacles. In addition, with Zanoab's notes indicating that there are random lag frames, I don't think any full run should be fine-tuned to to an extreme degree. In addition, a stylus TAS requires another level of precision to pull off, and you'd need to co-ordinate it so that you pass the puck immediately (or almost immediately according to Zanoab) every time. Of course, if there were some way to glitch it in order to access W3D7 immediately, I'd be all up for that. I could attempt the TAS, but note that I have no LUA knowledge or technical programming knowledge, so anything I'd do would just be brute-forced. I also can't guarantee that I'll even finish it this year. This is a huge undertaking if done with no sequence breaks and I don't know how much time I can spend on it.
I haven't done much research on trends, noise symbol placement, and obstacles yet but I hope to do so soon. The stylus TAS is currently only annoying for moving on the maps. The levels of precision makes it annoying to fully optimize (3 frame delay before it takes affect don't help either). As for passing the puck, I have most of it figured out. I was making a resource page for the site but I never got around to finishing it yet. You can find the Puck mechanics and other interesting pieces of information here. I'm currently writing a trainer that will attach to the emulator using lua via sockets. It will be in Python and use tools similar to Cheat Engine to read memory directly (doing it with lua is too inefficient for dumping the entire RAM). When I get it to a usable state, I will write the resource page as I finish up the tools.
Joined: 9/20/2012
Posts: 9
Appreciate your hasty reply. The problem with playing at level 1 is that every 1 level below current max level will be added to the drop rate multiplier. Some drops will become 100% as a result. So the best way to save time is to never adjust the LVG. Any required low-percentage drops can be luck-manipulated anyway. Ideally, when the last noise is erased in a battle, "NOISE ERASED" should appear immediately without any wait for pin drops. Heavy luck manipulation will be required on W1D4-W1D7: Bigbanfrog (noise #2) comes with 8 Bigbansprogs (noise #10). Normal drop is 0.5%, and the easy drop is 5%. Either all 16 checks must consecutively fail (erasing N#2 erases all N#10), or N#2 must not be the last noise erased in a battle. As for Psychokinesis D, some psychs will pass the puck immediately when they deliver a hit. A car/SUV hit should pass the puck. If it saves time, I don't think grabbing all 6 pin slots is necessary. It's quite possible to clear the game with 4 pin slots. However, there's the problem of waiting for reboot. 2 slots will be taken by Poison Bones and Tin Pin Thrift, so basically you'd be working with 2 pin slots for the majority of the TAS. Good luck on figuring out all the luck-related issues. I'm very interested as to how you'll solve the noise symbol problem. Ideally, you'd want all the mandatory symbols to float right over Neku to save the most time. At least when you get the Chain 4 sticker, you can drag the symbols to him.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4045
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Taechuk
He/Him
Player (63)
Joined: 12/4/2017
Posts: 66
Hey, me and a friend of mine started working on a TAS of this game by ourselves, right now I have day 1 and 2 done, heres the vids : https://www.youtube.com/watch?v=C8BhsLZLat0 Day 1 https://www.youtube.com/watch?v=br3JeG0bvCI Day 2
Joined: 12/31/2009
Posts: 174
Taechuk wrote:
Hey, me and a friend of mine started working on a TAS of this game by ourselves, right now I have day 1 and 2 done, heres the vids : https://www.youtube.com/watch?v=C8BhsLZLat0 Day 1 https://www.youtube.com/watch?v=br3JeG0bvCI Day 2
Nice job. Do you have the movie for day 1 available somewhere because I would like to do a comparison with my WIP to figure out where you lost time. My Day 1: https://www.youtube.com/watch?v=k3plYVg94pg Some possible improvements:
  • 8:03 - Fight with two frogs with Shiki. I managed to save ~2 seconds from dumb luck. In my fight, one of the frogs on Shiki's screen teleports to the other in a position that Shiki can hit both frogs with a combo finisher. It cost about two seconds to wait for the frog to teleport but I was able to combo the second frog and hit both with the combo finisher for 54 damage. In terms of balancing damage, the first frog attacked by Shiki suffered 30 more damage than the other. The frog teleported late for the start of Shiki's second combo but if you can crack the rng manipulation to get it to teleport during Shiki's first combo, you could save a few more seconds off mine.
  • 8:30 - Fight with Day 1's boss. I need a frame by frame comparison because the rng and strategy we both used are completely different. I somehow beat the fight 2-3 seconds faster.
It felt like forever ago so I'm not sure if I still have the movie for that video. I'll let you know if I find it.
Taechuk
He/Him
Player (63)
Joined: 12/4/2017
Posts: 66
Sure, here you go : https://puu.sh/ByjJ0/78247cbe07.dsm (for some reason I can't send in in userfiles) For it to sync properly you'll need Desmume 0.9.9 with bus-level timing on, I left it on because I want a fair comparison vs RTA, saving one frame per text is a lot. Also this is done up until a bit after the fusion tutorial. Also, this one and the one in my video is not the same, I've improved them, still, I think yours are still faster.
Taechuk
He/Him
Player (63)
Joined: 12/4/2017
Posts: 66
Just checked, bus-level timing off does not save a frame per text, it does save some frames during texts though, and some loading are a bit longer with it off.
Joined: 12/31/2009
Posts: 174
Thanks, I'll take a look at the movie later. I searched everywhere but unfortunately, I couldn't find a copy of my movie anywhere. After getting the second frog to teleport on Shiki's screen by pure luck, I decided to finish day 1 and use it as a baseline. I was hoping to figure out the connection between enemy actions and the RNG so I can create a "perfect" day 1 but it never happened. After I did an in-depth review of your boss battle in the video, I realized a major flaw in your strategy. In my video, Neku was constantly hitting the boss and only took an almost unnoticeable pause to reset and start a combo to optimally time the finisher. Here is the list of hits Neku does before he passes the puck including the finisher. My video:
  1. 5 hits
  2. 11 hits
  3. 7 hits (no finisher)
Your video:
  1. 5 hits
  2. 7 hits
  3. 3 hits
That is a big difference of ~60 hp (Neku has an extra finisher) in Neku's damage for the battle. I didn't check total damage but I bet fixing that should make our times for the fight identical.
Taechuk
He/Him
Player (63)
Joined: 12/4/2017
Posts: 66
The TAS I sent is different from the video, but yeah, I guess I didn't manage the pyrokinesis gauge completely perfectly. It was mostly an attempt at TASing this game, and can be improved if more time is spent.