Considering he now knows more RNG trickery in the same vein that allowed for his triumph over the Camu situation, I suspect ALL other related roadblocks can be similarly weakened for the rest of the game.
I was wondering if you could help me to understand something a little better about the way the RNG works (and possibly help me cut down on time trying to get a Camu Jewel drop).
Nitrodon wrote:
For any attack, the RNG is used 21 times for that attack per target. (I know what all 21 do, but most are irrelevant for most actions.) Additional numbers may be used before all of these (for targeting, including attacks which always target all enemies) and after all of these (for the animation), but we'll just focus on the ones that change the effect on a certain target. After those 21, if the enemy dies, can drop an item, and no items have been dropped this turn, an additional number is generated. For Camu (for example), this number gives a 12% chance of continuing with the attempted drop (low number = drop). After that, if the first number succeeded, it generates a number 0-3, and a 1 (i.e., 0x40-0x7F) makes the item drop. In a multi-target attack, this occurs before the effects on the next enemy are determined.
Gunty wrote:
The RNG produces 55 number between 0 and 255 (or 00-FF) at a time. The initial values are always the same when starting the rom, and cannot be manipulated at all. These random numbers are stored in the memory addresses 7E0521-7E0557.
Everytime a random number is 'used' by the game, an internal counter, located at 7E0559, increments by 1. This counter starts at 0 and if it reaches 54 all random numbers have been used once. If another random number is requested, the RNG produces a new set of 55 random numbers. The way this happens is through bitwise XOR operations. random number 'i' becomes 'i' XOR 'i+31' and so on.
Using this information, I'm making the assumption that when an attack is made, it increments that 'counter' by 1 for each time the RNG is called, thus incrementing it by a minimum of 21 per attack.
I've noticed that some actions will affect later randomness in different ways (casting Flash vs. a normal attack), but some give the same result (Using a Big Boomer vs. Dive IP).
Nitrodon mentioned that some attacks will call additional numbers before and after the normal 21. This got me thinking that each attack/action will call it's own amount of numbers...and that's where I could use some help.
I've been trying to get the Camu Jewel to drop since mid-December, without any luck. Yesterday I went over the videos I have of all my attempts to see if I could make any connection between attacks...but my data is rather limited - I only know of a few similarities and frankly, it's not enough to help me do anything more than continue to shoot in the dark.
What I'd like (if you happen to have this info) is how many calls to the RNG each action I can use makes, and how many calls each of Camu's actions make (and how many are used to determine what Camu is going to do each round, if possible). What I can do is try and make Camu die on a different Random Number each time, this eliminating a lot of the trial and error I've been doing (since some combinations will have the same end result).
The actions I can use are: Shared: Attack Defend Antidote Magic Jar Hi-Potion Big Boomer Boomerang
Again, if you could spare any information on how many calls those all make it would be appreciated. It just seems like shooting in the dark like I have been isn't going to get me anywhere...
Thanks in advance.
He sent me this in return:
Here you go:
Start of each round: - 6 RNG calls per enemy - 6 RNG (additional) calls when trying to escape
Shared: - Attack 21 - Defend 0 - Antidote 41 - Magic Jar 41 - Hi-Potion 21 - Big Boomer (21 per target) + 30 + randomfactor - Boomerang (21 per target) + 30 + randomfactor
Most of the randomfactors are caused by a targetting algorithm which keeps calling the RNG until it's result lesser than 42. The random factors in Camu's attacks are caused by the AI. Also, I have no idea how much numbers the Calls Companion takes exactly, but I do know it's random enough to not rely on it.
But, while typing this list something else occured to me. If you can give me a few logs of your battles with Camu I might be able to trace down what the current state of the RNG is in your game. With this I could make a savestate at the start of the Camu battle you can experiment with in an emulator. I'm not sure if this is allowed by SDA, since it's indirectly using tools, so it's your call.
- Gunty
Note that I have no way of collecting logs, so the option of him making a savestate for me to screw around with was non-existant.
I took the info he gave me and constructed a list of all possible increments of the RNG (treating the randomfactor and variable "r" and noting where it was called, thus creating it's own result). I only did this for all combinations that applied to Tia and Maxim since they're both faster than Camu.
Even with the info, I still can't predict what the actualy RN would be, all this info prevented me from doing was trying things that would end up with the same result.
The battle went like this:
Round 1
Tia: Flash(100) Maxim: Flash(61) Camu: Attack - Guy Guy: Big Boomer(82)
Round 2 Tia: Flash(101) Maxim: Flash(69) Camu: Attack - Guy Guy: Big Boomer(87)
Round 3 Tia: Flash(100) Maxim: Hi-Potion - Guy Camu: Calls Companions Guy: Big Boomer(71)
Round 4 Tia: Flash(103) Maxim: Big Boomer(68) - Slave Dies Camu: Buster Attack Guy: Thunder Blast(173)
Round 7 (where I started keeping track of the RNG increments...I had the first 6 rounds figured out back in December) Tia: Strong - Maxim/Tia Maxim: Dive(84) Camu: Dies and drops his Jewels
Refer to the master list on page 6 of this thread for what I will and won't be picking up. But no, I don't have the Fire Dagger...it takes much too much time to go get.
Tarantula is almost dead, I'm just trying to manipulate away one casting of Stronger he does later in the fight WITHOUT getting myself killed...that particular round he just so happens to be FASTER than Maxim, and having Tia cast Strong on 1/2 people or using a Hi-Potion triggers a Poison Shower, killing at least one person off. Mega Quake triggers the Stronger.
Awesome. I'm glad Camu is finally done (lol@Jewels comment). I can't wait to see the run, probably one of my favorite games (I just wish I never lost my save data. >_>).
This is the awesomest news I've heard in quite a while.
Since I saw this from Gunty, maybe you already know but, do you know about the Gratze dungeon sequence break? Check the thread at TASVideos if you don't. (I need to make sure you know this before you get there, heh.)
Now saved in the Treasure Sword Shrine with 0:44 on the clock.
The only hard parts (in terms of figuring things out) for this one was the Tarantula fight (obviously), and the basement of the Treasure Sword Shrine. Only real time lost was in the basement, when I just stopped due to a brain cramp...maybe 2 seconds, if that.
The v2.0 only refers to his amount of runs through the game. v1.0 would've been his initial run where he figured everything out to do on the real run. (this one)
Segment 6 complete. Now saved in the North Dungeon with 1:02 on the clock.
God this last segment was irritating. About 18 minutes long, with 3 different town sequences, 3 dungeons, and a boss fight.
The town sequences: The RNG is constantly used in towns to determine the movement patterns of the NPCs, thus I need to make sure I speed through the text exactly the same each time. Normally this wouldn't be a problem except they sometimes throw a some small text boxes at me (each letter takes one frame to apear IIRC) and I can't always hit the button fast enough.
Ironically, I needed to milk a couple RNG calls in Parcelyte after delivering the Treasure Sword so I'd get a favorable run through Gordovan West Tower (Luckily, I'd know if I hit it right since the room with the Orc trapped in the square that has to stand on the switch would have a different movement pattern for the Orc if I was off).
Gordovan West Tower was a whole 'nuther issue. It's a rather long dungeon, with many spots where you need precise movement. One extra move (either by steps, sword swings, tools, etc.) and everything would be shot. I needed Gades to perform Destructo-Wave on his first turn, which happens every time if I don't screw up. It's so damned easy to screw up in here...I think I had no less than 50 attempts that ended here alone (Easily 100+ attempts for this segment total :wallbash: )
Cave Bridge went a lot more smoothly than I thought it would. The only room to solve is the basement, which only took me three tries I think.
North Dungeon was easy in comparison to the rest of the segment. I actually got it all perfect on the first run-through.
Note that I don't think this segment could have gone any better really...I watched it over and saw no time lost. Kinda suprising that the longest segment so far is the one that's closest to perfect
Amazing! I'm glad to hear that the run is back in full swing DD. Truly, your persistence and resolve is a testament and a model for all of us here at SDA.
Yeh I'm eagerly awaiting this vid. I bumped my snes and it deleted all my saved games so I started again and I'm actually near where you are now except I have aroun 8 hours of game time I think.
Does anyone know how having 1:02 at the North Dungeon compare with the TAS video?
Does anyone know how having 1:02 at the North Dungeon compare with the TAS video?
The TAS reaches the save point in the North Dungeon at 0:54:23 on the game clock, or 0:57:23 in realtime. (The game clock pauses during screen transitions and in menus.)
Segment 7 done. Now saved in the Ancient Tower before Gades with 1:11 on the clock.
Maybe 3-4 seconds lost in this one, one from an in-battle position swap mishap (Too fast on one button press), and from the room with the Spinner (4 blocks surrounding the switch). There's a lot of quick turns in there that have to be done and I slowed down a little bit to make sure I didn't screw up (very easy to do in there).
Also, everyone's IP is maxed out from the fights in here.