1 2
8 9 10 11 12 13
Editor, Skilled player (1938)
Joined: 6/15/2005
Posts: 3246
Antoids wrote:
When does the game roll for stats and gender of the starters?
The game rolls Pokemon's values for the starter at the point when you select it. I'm not familiar with exactly how the RNG works but there are methods for manipulating critical hits and first turn. See also: http://tasvideos.org/PokemonTricks.html If you have any other questions, feel free to ask here.
Active player (276)
Joined: 4/30/2009
Posts: 791
I have a thought about the current published Sapphire run. In it, a Machop is captured, then paralysed for Guts abuse and given a Quick Claw. There is an in-game trade for Slakoth -> Makuhita in Rustboro, which while getting it will be initially a bit slower, Hariyama the evolved form has a higher Attack than Machoke (100 base stat vs 120) meaning it can OHKO stuff at a lower level, and it evolves sooner (L28 vs L24). Plus, with the traded exp bonus, it will level up much faster. Of course, this leaves it vulnerable to disobedience for a good portion of the run, but I'm sure that can be worked around in much the same way Quick Claw activation works. Pros of using the Makuhita trade: Higher attack stats Quicker evolution Can sort its moveset earlier Priority move in Fake Out Makuhita has wider TM selection Cons: Faster levelling means more levelup messages, but also means more OHKOs with and without crits. Needs some babying to be usable before Brawly Fairly bad levelup moves - needs to TM Brick Break for the fastest fighting move among other things
Joined: 7/31/2005
Posts: 128
Location: Virginia
Makuhita has "Fluctuating" EXP growth, which starts out the fastest and becomes the slowest. You can compare with Machop's "Medium Slow" growth here. From a glance at the run, Machoke is Lv43 after Sidney. That's >71833 exp, so Hariyama would be Lv41 instead. Huh, so it would be fewer level-up messages. On the other hand, he'd be getting more "new move" messages. Here's my estimate: Lv16 Machop: Seismic Toss, Foresight, Revenge, Vital Throw, Submission, Cross Chop (6 total). Lv06 Makuhita: Arm Thrust (4th move), Vital Throw, Fake Out, Whirlwind, Knock Off, Smellingsalt, Belly Drum, Endure (8 total). ...Oh wait, +50% exp for traded pokemon. (I knew that!) Machoke beats Steven right before Lv50, so with the same EXP Hariyama would be over Lv52, and would have a 9th message due to SToss (Lv51). Starting off he'll need 1630 extra EXP (2445 / 1.5) to catch up to Machop's Lv16, too. There's also all the instances of "boosted", and Hariyama's cry being longer than Machoke's. Base 120 Atk versus base 100, higher levels so better damage, obtained earlier... yeah, I dunno! Good suggestion. You'd need 286 exp (pre-bonus) to get Lv10 and Arm Thrust for the first gym, though. Also, Makuhita catches up to Machop in EXP at Lv22. At any rate, it could be entertaining to use disobedience to pick other moves for you. For example you could pick a fighting move against a ghost, make the crowd "wtf" and Hari uses Earthquake instead.
Working on a mod of an old favorite in my spare time. PM for updates!
Active player (276)
Joined: 4/30/2009
Posts: 791
Arm Thrust, while pretty powerful if all of its attacks hit, is a fairly slow attack in terms of messages, because it hits 2-5 times. I wonder if Vital Throw can go first when Quick Claw activates, even though it goes last normally, it is a strong single attack that will be faster in the long run. EDIT: Nvm, Quick Claw cannot make negative priority moves go first
Mastania
He/Him
Joined: 5/30/2009
Posts: 135
Location: Top of the pops
Hariyama just doesn't get any speedy Fighting moves, unfortunately. In a TAS, trading for it will waste a heap of frames, getting Brick Break will waste a heap of frames, using Arm Thrust EVER will waste a heap of frames... it's just not built for it.
Waddle Waggle Wattle
N._Harmonik
She/Her
Joined: 8/27/2006
Posts: 502
Location: Canada
Mastania wrote:
Hariyama just doesn't get any speedy Fighting moves, unfortunately. In a TAS, trading for it will waste a heap of frames, getting Brick Break will waste a heap of frames, using Arm Thrust EVER will waste a heap of frames... it's just not built for it.
It won't be known unless it is tried. One of the many points of TAS making is experimentation.
Why, oh, why do I even <i>try</i> to understand my own species?
Editor, Skilled player (1938)
Joined: 6/15/2005
Posts: 3246
Here's some news. I figured out how the game determines its initial random seed in Sapphire. It is set on the 6th frame after reset. It depends on the uid (Unix time) of the movie recording, or your system clock if there is no movie. Note: Due to VBA limitations, the uid (Unix time) must be between 0x00000000 and 0x7FFFFFFF. In other words, it must be between 1970 Jan. 1, 00:00:00 and 2038 Jan. 19, 03:14:07.
Let d be:

- the number of days after Dec 31, 1900, if the year is 1999 or earlier
- the number of days after Dec 31, 1999, if the year is 2000
- the number of days after Dec 31, 2000, if the year is 2001 or later

Let h be the number of hours after midnight that day. Let th be the tens digit and uh be the ones digit.
Let m be the number of minutes after the hour. Let tm be the tens digit and um be the ones digit.

Calculate v = 1440d + 960th + 60uh + 16tm + um. Let x=floor(v/65536) and y=v mod 65536. Convert x,y to hexadecimal.

Then the seed is:

0x0000????

where ????= x xor y.

Ex. 
2011 Feb 6 14:16:18

Number of days after Dec 31, 2000: d=365*10+2+31+6=3689
h=14, th=1, uh=4
m=16, tm=1, um=6
Seconds does not matter.

v=1440*3689 + 960*1 + 60*4 + 16*1 + 1*6 = 5313382
x=floor(5313382/65536) = 81 = 0x51
y=5313382 mod 65536 = 4966 = 0x1366

x xor y = 0x51^0x1366 = 0x1337

Therefore the initial seed is 0x00001337.
RNG information can be found at this page: http://www.smogon.com/ingame/rng/pid_iv_creation#what_is_a_pid Finally, here's an updated Lua script that displays Pokemon IV, natures, and hidden power for the lead Pokemon (starter when you select it). For the enemy, replace 0x3004360 with 0x30045C0. http://pastebin.com/v7DAv0md
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Does the time limitation cause any problem in getting better pokemon for a better run? Also, how did you manipulate the attacks during the published run? I want to try doing the run using the female character to see if it's faster, but I don't know how to mainpulate attacks without wasting frames.
Editor, Skilled player (1938)
Joined: 6/15/2005
Posts: 3246
There isn't any problem with the time limitation. There are 2^31 such uids and only 2^16 possible initial seeds, and I believe every one of the initial seeds is possible. My method of manipulation back then was to delay frames until I got a critical hit or such. I would just press frame search over and over; that is a simplistic way to manipulate. However, I think there should be a more advanced way of manipulation now. Just to let you know, I heard that GoddessMaria15 is also working on this run.
GoddessMaria
She/Her
Reviewer, Experienced player (849)
Joined: 5/29/2009
Posts: 514
Location: Hell...
Yes, I am working on a run of this game. Right now, I am 108 frames ahead of the current run. Also, picking May(Girl) seems to save time as opposed to picking Brendan(Boy).
Current projects: failing at life
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Will you post Wips every now and then so people can have a look? That would be nice.
GoddessMaria
She/Her
Reviewer, Experienced player (849)
Joined: 5/29/2009
Posts: 514
Location: Hell...
I will post a WIP after the Rustboro gym(1st gym).
Current projects: failing at life
Editor, Skilled player (1938)
Joined: 6/15/2005
Posts: 3246
For those who are interested, here is a run on the J version of Pokemon Sapphire by cstrakm: http://www.youtube.com/watch?v=F2ZgwcYi8M8 http://www.youtube.com/watch?v=m9d4ABPXugc The final time is 1:26, which I am unable to compare to the U version. I have left annotations explaining some stuff.
Former player
Joined: 6/30/2010
Posts: 1093
Location: Zurich, Switzerland
FractalFusion wrote:
For those who are interested, here is a run on the J version of Pokemon Sapphire by cstrakm: http://www.youtube.com/watch?v=F2ZgwcYi8M8 http://www.youtube.com/watch?v=m9d4ABPXugc The final time is 1:26, which I am unable to compare to the U version. I have left annotations explaining some stuff.
Why do the graphics look so glitchy? I don't remember that from the published run.
Current project: Gex 3 any% Paused: Gex 64 any% There are no N64 emulators. Just SM64 emulators with hacky support for all the other games.
Editor, Skilled player (1938)
Joined: 6/15/2005
Posts: 3246
andypanther wrote:
Why do the graphics look so glitchy? I don't remember that from the published run.
Sorry for the poor quality. I got this from nicovideo ([1][2]) and uploaded it directly to Youtube. There's nothing I can really do about the quality. cstrakm left a movie file, but I have been unable to find the correct ROM to play it back. For those who aren't aware: I'm building a page that lists how the RNG works in Ruby and Sapphire (and Emerald). I worked out most of this from trial and error, and observation. Things currently covered include formulas, trainer ID, critical hits, starting Pokemon stats, Pickup ability, and catching a Pokemon. I'm trying to find out how the Pokemon encounter mechanic works, but the way it is implemented is needlessly confusing, and is proof of how much Nintendo hates game modification devices. There are also subtle changes in Emerald as compared to Ruby and Sapphire, so I do not know for sure how much of the page applies to Emerald. Also, if you see kirbymuncher, thank him for getting a King's Rock via pickup, and catching Kyogre with a Great Ball with almost no delay. It's in the first published run of Sapphire. Stuff like this doesn't happen every day.
Editor, Skilled player (1938)
Joined: 6/15/2005
Posts: 3246
Something I discovered yesterday. It is possible to force Wally to 2HKO Ralts during the tutorial for catching a Pokemon. This saves a lot of time (about half a minute). To do this, first Zigzagoon must have 11 or 12 Atk (Zigzagoon's stats are set when walking out of the gym). This isn't hard. The hard part is that Ralts must have 17 HP and 6 Def. This means Ralts must have a very low HP IV and a very low Def IV and a Def- nature. If this is satisfied, then Zigzagoon's Tackle can do a max of 10 damage on the first Tackle and a max of 7 on the second Tackle, just enough to KO Ralts. By the way, p4wn3r told me the ROM that allows cstrakm's run to sync, and has offered to encode the run for better quality. The ROM required is "Pokemon - Sapphire (J) (V1.1)", or alternatively, "2126 - Pocket Monsters Sapphire (J) (V1.1)". Edit: Wow. What a stupid mistake. No one saw that. It never happened. <_<
Mastania
He/Him
Joined: 5/30/2009
Posts: 135
Location: Top of the pops
Oh WOW. Does it trigger any special dialogue, or does the game just continue on as though he'd caught it?
Waddle Waggle Wattle
Editor, Skilled player (1938)
Joined: 6/15/2005
Posts: 3246
The game just continues as if he caught it. As far as I know, there aren't any other effects. The Ralts is not tied to any Ralts or Gardevoir that Wally would have in later battles. Trainer Pokemon that you battle appear to have set stats and flat IV distribution (all one number). I should check again though.
GoddessMaria
She/Her
Reviewer, Experienced player (849)
Joined: 5/29/2009
Posts: 514
Location: Hell...
The test run has saved about 5261 frames over the current run, but there will be fixes in the final.
Current projects: failing at life
Editor, Player (44)
Joined: 7/11/2010
Posts: 1022
FractalFusion wrote:
I'm trying to find out how the Pokemon encounter mechanic works, but the way it is implemented is needlessly confusing, and is proof of how much Nintendo hates game modification devices. There are also subtle changes in Emerald as compared to Ruby and Sapphire, so I do not know for sure how much of the page applies to Emerald.
The reason for the RNG-related RNG cycling seems to be to make Synchronize work (something that's exploited when manipulating the RNG in realtime, but would seem suboptimal in a TAS). It does the same thing in fourth generation DS games too.
Editor, Skilled player (1938)
Joined: 6/15/2005
Posts: 3246
Hm, I never knew about the Synchronize thing. (I assume you are talking about the Synchronize ability, and its effect outside of battle in Emerald.) I do not know if that is the root cause, but the developers seem to like fiddling with wild Pokemon generation that appears to be beyond just making one ability work. In Emerald, I discovered some time ago that it's even worse, and I'd rather not go into it now. I might eventually figure out the "how does it work" of it, but the "why" part of it I will never know. By the way, the new run will be on Pokemon Ruby. I know you might think it is slower, but the main reason is that we're using Taillow/Swellow for this one, like in cstrakm's run. I'll leave you to fill in the details. We hope to save another minute or so from the test run.
Editor, Skilled player (1938)
Joined: 6/15/2005
Posts: 3246
Here's a re-encode of cstrakm's Pokemon Sapphire run, now with caption subtitles: Youtube: http://www.youtube.com/watch?v=Cc_u_CZbH5s Megaupload: http://www.megaupload.com/?d=28MSOCH2 (~114MB) In other news, GoddessMaria15 and I are still working on the run. We are past Wattson. I'll determine how much of the WIP I would like to show, and then post it later.
Editor, Skilled player (1938)
Joined: 6/15/2005
Posts: 3246
Since there hasn't been a WIP yet, I'll post one. A lot of the beginning part of the run is too interesting to spoil, so I'll only post a WIP up to catching Taillow after Rustboro gym: http://dehacked.2y.net/microstorage.php/info/798461076/wip.vbm ROM name: 0907 - Pokemon - Ruby Version (U) (v1.0).gba Notes: The rerecord count was made 0. Also, the "recording date" should really be called "GBA clock start" and had been fudged from the very beginning to suit my luck-manipulation needs. Prior to starting the run, I used a program to simulate the RNG, and search for sequences which generate the rare events (Mudkip, first Rare Candy, Ralts event, second Rare Candy, and Taillow) , and have small delay. For events after catching Taillow, I use a bunch of Lua scripts and trial to search for the events. Feedback and comments are welcome.
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
Awesome WIP, I was actually really entertained by it, hope the run keeps that kinda pace
Editor, Player (94)
Joined: 5/27/2006
Posts: 239
how do i get the movie to work? it says something about the battery running dry and it desyncs right away.
1 2
8 9 10 11 12 13