Posts for FractalFusion

Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
Is there a way to reroute it so you don't have to go through Strength and the Hiker there? You can get HP Up (if you need it) by biking from Mauville City there and back, and from Meteor Falls you can bike back the way you came to get to Mt. Chimney. Something else to improve: When you get the bike, there is a way to manipulate the music to reduce fadeout delays when switching to a new area, such as this part in the published TAS.
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
Hello merrp, Sorry, I'm so busy these days that I can barely find time to do anything regarding Pokemon Emerald. Regarding paths: IIRC, it's a little faster to get closer to Brendan here. You can talk to Mom from the left, which adds a "turn frame" but you take two less steps. I think talking to Norman like this is faster. You can avoid a turn frame in Granite Cave if you enter the first ladder as shown above. Talking to the Pomeg Berry man from below saves a step. I also noticed a few places where you make a turn and then press A on the very next frame (like turning to talk to someone). IIRC it saves a frame to approach the trigger (for pressing A) head on instead of turning into it, whenever possible. It's very small though. Avoiding encounters on the bike: Taking a couple extra bike steps (by going back and forth) is better than slowing down/bonking, IIRC. That's what I did in my Pokemon Ruby TAS. Regarding strategies: - I hope you don't mind me discussing strategies. - I am aware of the two crit max Tackles on Grovyle since you did it in an earlier WIP. If it really is 1/256 chance for both, that's brutal :( If you can get at least the first crit Tackle, you can use Mud Shot for the second. How much does crit Mud Shot do? - I noticed you got Strength, but don't use it a whole lot, so I wonder if it's necessary to even take that route. I'm trying to figure out what it's for. It saves SE messages against Numel, but other than that, I'm not sure. Is it possible to replace the Strength on Slaking with a non-crit Water Gun? - Would it be faster to not do the double battle (last battle before ACE) and just fight them individually? There are a lot of things going against double battles vs two single battles; that came up in the Pokemon Gen 4 TASes and a lot of it applies to Pokemon Gen 3 as well. - Could you remind me why you need two extra Pokemon (other than Marshtomp and Abra)? If you did double corruption, would you be able to get away with one extra Pokemon instead of two? By the way, is it all right if you post the bk2 of your WIP, and the Lua script you used? I'm interested in knowing how it works.
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
Warp wrote:
Suppose one hose can fill the container in 1 hour. Another hose can fill it in 4 hours. A third hose in 9 hours. A fourth hose in 16 hours, and so on and so forth (going through the square numbers). How long does it take to fill the container if you use this infinite amount of hoses all at the same time?
Well, we just get 1+1/4+1/9+1/16+... = pi2/6, the number of containers filled per hour. So to fill one container, it takes 6/pi2 hours, or approximately 36.5 minutes.
Warp wrote:
Which reminds me of: What's the answer to the problem posed in xkcd #356?
According to explain xkcd, the question comes from a "Google Labs Aptitude Test" in 2004:
Randall explained in a speech at Google five days before this comic was released, that he was nerd sniped, in a way, by that problem in this test (see problem 10 on page 2), and got quite irritated when he ultimately found that it was actually a modern physics research problem, requiring very advanced math, far more complicated than the other puzzles.
The answer is 4/pi - 1/2, but unfortunately I cannot begin to explain to you how to get this value, even if I wanted to.
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
I have some comments about your WIP (such as a couple more shorter paths and about battle strategies) but I have no time to talk about them right now. Maybe in a couple days.
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
It's good that you don't have to wait at the teleporters now (not that I know how RNG works in this game). Only downside is now you hear 31.68s less of gameplay music.
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
merrp wrote:
- Using an Elixir. This is what I originally did for the double corruption method, but you can't use an Elixir on an Egg.
Oh, too bad. Well, it was worth a try anyway. What does the Elixir even do when you use it on a move whose max PP is 0? Give you 1 out of 0 PP?
merrp wrote:
Not yet tried, probably a bad idea: - Performing a second corruption to corrupt the first move's PP to a nonzero value.
I don't think that is even possible. If I understand it correctly, corruption only affects the last (most significant) byte of each block of four bytes, and Move 1's PP is the first byte of a block of four. Edit: Is it not possible to use a Leppa Berry or Ether instead of Elixir?
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
How about writing instruction code in the box names (the boxes where you store Pokemon), like in the Pokemon Crystal and Pokemon Silver TASes? I checked, and you can use the same characters as when naming Pokemon, and you get 8 characters per box name even on JP version. Though I'm not sure where it would be located in memory.
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
merrp wrote:
Is there an optimal route drawn out somewhere?
For the two I mentioned, the way to go through optimally (which was not in your video) would be: ~18:04: ~33:23: Also another two: ~12:53 ~17:58 There are also similar paths that can be shortened at around 4:38, 8:09, 8:15, 18:09, 18:17, 18:54 and 33:25. Other things: - IIRC, at 6:35, it is faster to talk to Norman on his right (player facing left). It's in the published TAS. - Once you get the bike, it is possible to take advantage of sound fadeouts to reduce the length of some screen transitions. Also in the published TAS. Edit: Another thought. Is it possible to set up ACE by writing instruction code in held mail instead of in the nicknames of a lot of Poochyena?
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
Hm, interesting run. Some comments: - It seems like you take longer paths in Granite Cave (~18:04) and after leaving Mauville Gym (~33:23) here. - You mentioned saving frames (waiting for Wally tutorial Ralts) by waiting in the Youngster battle, so it scrolls at 2 RNG cycles per frame. I think you can scroll it faster by running near the spinner at ~6:22 and in the grass, so it scrolls at least 2 cycles per frame from rerolling the spinner duration every frame, and you get free grass rolls (and possibly others). - If I understand the data corruption correctly, you are setting up 0x10 HP EVs and 0x31 Attack EVs so you can make the game think you have the move 0x3110 when you corrupt the PID. Would Pokerus be helpful here, to cut down on the extra fights (and maybe collect less Protein)? Pokerus check occurs after every battle (regardless of result) and you just need RNG value of 4000xxxx/8000xxxx/C000xxxx , though it might be hard to find. - Is double corruption necessary? Would it be possible just by corrupting PID instead of both PID and TID? (Bad eggs can still use moves, and move #1 is not affected by the changed PID.) - Have you considered whether other forms of data corruption are possible to get move 0x3110? Looking at the data substructures seems to indicate that it is possible to have an experience of 0x3110 and turn it into move #3 using corruption.
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
0xCFE3 would be in System Bus. You can also access it from WRAM using 0x0FE3. System Bus 0xC000-0xDFFF corresponds to WRAM 0x0000-0x1FFF. Edit: The top number is the size of the region. E.g. WRAM size is 0x2000; System Bus size is 0x10000. Edit 2: Oh, I forgot you were talking about GBC, not GB. In that case WRAM has size 0x8000; there are 4 different 0x2000 banks in WRAM. At any given time, one of them is loaded in System Bus 0xC000-0xDFFF.
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
nighthowl589 already translated it in the Youtube video's comments.
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
Hello merrp. I have a few comments about your WIP. - Your video seems to indicate that the RNG value is always seeded at 0 and goes through the formula: seed × [41C64E6D] + [6073] without being reseeded at any point in this TAS. Is that true in Pokemon Emerald? I haven't done Emerald for a while so I may be confusing it with Ruby/Sapphire/Fire Red/Leaf Green. - What is the Lua script you are using? Do you have a way to indicate things like critical hits? - 2:15: It is faster to talk to the girl instead of walking up beside her. (It might not matter because of the delays.) - 5:20: IIRC it is faster to walk over and talk to Mom to get the running shoes. - You definitely have to beat Brawly to activate Norman's gym. (Unless you mean to say that Norman's gym is skippable all together in this exploit.) I'll say more if anything else comes to mind.
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
Hello MUGG. I don't know how much Japanese you are intending to learn, but I'll make a few notes as far as how I understand Japanese (keep in mind that I am not a native speaker of Japanese). I don't watch One Piece, so I don't know what the context is behind these sentences.
MUGG wrote:
desu = It is
Desu (です) doesn't always mean "(it) is". It is true that desu can be used as a polite replacement for da (だ) (both which approximately mean "(it) is"), but unlike all other forms of the copula da/desu, desu can also be used as a polite marker in general (e.g. atsui desu (暑いです) "(it) is hot", shinai desu (しないです) "(I) don't do"), in which case it doesn't replace anything.
MUGG wrote:
mō = more
Only when it comes before a noun denoting a small quantity, or a count word; otherwise it means "already" or (when negative) "anymore".
MUGG wrote:
Shōrai = in the future
The difference between shōrai (将来) and mirai (未来), both which you have probably heard and both which mean future, is that shōrai refers to future prospects or something anticipated in the near future (which is what the example you gave does), whereas mirai is more general and often refers to the unknown.
MUGG wrote:
na = not
Only when it follows a verb in its base form (like how unaru (唸る) is).
MUGG wrote:
Bushi no haji ... This isn't becoming of a samurai.
I don't know the context, but I don't expect "isn't becoming" or "unbecoming" as a translation for haji (恥), as opposed to something like "shameful" or "disgraceful". In English, "unbecoming" means something slightly different (more like "inappropriate").
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
Warp wrote:
blackpenredpen recently dealt in a youtube video with what could be considered a challenge. He first gave a simplified version of the challenge: 1/(3*4) + (1*2)/(3*4*5) + (1*2*3)/(3*4*5*6) + (1*2*3*4)/(3*4*5*6*7) + ... = ? Then he gave the original challenge, which was: 17/(75*76) + (17*18)/(75*76*77) + (17*18*19)/(75*76*77*78) + (17*18*19*20)/(75*76*77*78*79) + ... = ?
Telescoping sums is the way to go, for this and similar questions. However, there is a way to do the original challenge (and the simplified version) that is better than in the blackpenredpen video. The way he does it, he uses partial fractions to rewrite 1/(n*(n+1)*(n+2)) as (1/2)[1/n - 2/(n+1) + 1/(n+2)], for which the terms cancel by telescoping sums. While this is very useful in general, you would not want to do this on the original challenge, which has 59 fractions! The key is to note that each term has consecutive numbers multiplied together in the denominator. Thus we only need to decompose 2/(n*(n+1)*(n+2)) = 1/(n*(n+1)) - 1/((n+1)*(n+2)), which telescopes. So on the simplified version, we would have: 1/(3*4) + (1*2)/(3*4*5) + (1*2*3)/(3*4*5*6) + (1*2*3*4)/(3*4*5*6*7) + ... = 2/(2*3*4) + 2/(3*4*5) + 2/(4*5*6) + ... = 1/(2*3) - 1/(3*4) + 1/(3*4) - 1/(4*5) + ... = 1/6. This can be applied to the original challenge as well: 17/(75*76) + (17*18)/(75*76*77) + (17*18*19)/(75*76*77*78) + (17*18*19*20)/(75*76*77*78*79) + ... = (17*18*...*74)[1/(18*19*...*76) + 1/(19*20*...*77) + ... ] = (17*18*...*74)(1/58)[1/(18*19*...*75) - 1/(19*20*...*76) + 1/(19*20*...*76) - 1/(20*21*...*77) + ...] = (17*18*...*74)(1/58)[1/(18*19*...*75)] = 17/(58*75) = 17/4350, which is way faster than trying to find a 59-fraction partial fraction decomposition.
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
NxCy wrote:
A plane has 100 seats, numbered from 1 to 100. The 100 passengers board the plane in numerical order, i.e. the passenger whose seat is number 1 boards first, then the passenger whose seat is number 2 boards the plane and so on. The first passenger chooses a seat at random and sits there. For all the remaining passengers, if their seat is not taken, they take their own seat, otherwise they choose a seat at random from the remaining vacant seats. What is the probability that the final passenger sits in his own seat?
For this problem, it's not too hard to find the answer. The answer is 1/2, as follows: At some point, someone other than the last person will choose either seat 1 or 100. If seat 100 is chosen, then the last person does not take their own seat. Otherwise, if seat 1 is chosen by the kth (possibly 1st) passenger, then there is some sequence (possibly of length 1 or 2) where person 1 sits in seat i1, whose person sits in seat i2, ..., whose person sits in seat k, whose person sits in seat 1, and all intervening seats are filled with their corresponding passengers. In that case, the remaining passengers take their seats, and so the last person takes their own seat. Since seats 1 and 100 when open can be chosen with equal probability at all stages, then the answer is 1/2.
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
So the game wasn't broken enough the first time around. Now we have game-breaking glitches leading to more game-breaking glitches. Nice improvement by the way.
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
Challenger wrote:
Actually it's Gravity Man's stage music in this game.
Yeah, I figured that's what they were trying for. Though personally it sounds really off even from Gravity Man's MM5 stage music, which is why I didn't say it earlier.
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
Link to video More interesting than I expected. It has a weird Rush Coil glitch and also Quick Man's stage as well (complete with lasers). Strangely enough, Wave Man's stage music in this game doesn't sound anything like Wave Man's stage music in MM5.
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
Encode: Link to video
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
I've heard of this game before (mainly from Youtubers willing to suffer through it). Some level solutions are pretty interesting but for a TAS it's no problem. I noticed that this game is on the libTAS non-compatibility list, yet you were able to run this in libTAS. Even though the only version available is the Steam version, you were able to add a file to trick it into not connecting with Steam. Do you know if it is possible to use this trick to run other Steam games in libTAS?
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
Nice! I didn't expect this much of an improvement over the other TASes. Anyway, I made a 4-way comparison of Pitfall TASes on TASVideos: Link to video The four TASes are: - Top left: This submission - Bottom left: Lobsterzelda's first Pitfall submission - Top right: pozzum's perfect Pitfall (no deaths, 114000 pts) - Bottom right: My any% TAS from 2012 I also included a display showing the current room number as well as treasures collected and the room number of the next treasure. By the way, video dumping seems to be wrong for Atari 2600. I noticed while encoding that even though this submission is 65388 frames (ending at the last jump), the last jump in the raw video dump ends at 65303 instead, as if the video started at 60fps and was converted to 59.923fps, instead of starting at 59.923fps in the first place (I assume 59.923fps is supposed to be the correct framerate for Atari 2600).
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
p4wn3r wrote:
A category consists of a collection of objects, and for each pair of objects, a set of morphisms between them.
I never really understood what category theory is supposed to be. Isn't a morphism just a "function", and an object just a "set"? Now I suppose the difference is that a function is a map from a set to another, whereas object and morphism are mathematical things that no one can make any assumptions about; the morphisms from A to B are literally defined by the elements comprising Mor(A,B) and nothing else. OK, I oversimplified a bit. There are some rules you have to follow, and p4wn3r already described them above. Also, composition has to be associative. I'll give this question a try. So consider the morphisms from A to A, defined solely by the elements comprising Mor(A,A). I'm assuming that a morphism f in Mor(A,A) is invertible if there exists a morphism h in Mor(A,A) such that h◦f=f◦h=idA; h is unique and denoted f-1. So to show that invertible morphisms form a group, three of the properties are automatically satisfied (associativity, identity, invertibility) so all we need is to show closure. If f and g are invertible, then so is g◦f, since (g◦f)◦(f-1◦g-1) = g◦(f◦f-1)◦g-1 = g◦idA◦g-1 = g◦g-1 = idA and the other way around, likewise. So invertible morphisms of Mor(A,A) form a group denoted Aut(A). Now consider isomorphic objects A and B; that is, there exists h in Mor(A,B) such that there exists some g in Mor(B,A) with g◦h=idA and h◦g=idB; g is unique and denoted h-1. ("Isomorphic" here has no meaning beyond this; objects A and B are just objects with no further specifications.) Let f be an invertible morphism in Mor(A,A), and consider h◦f◦h-1. By the property of composition, this is a morphism of Mor(B,B). Is it invertible? It sure is, since h◦f-1◦h-1 is also a morphism in Mor(B,B), and h◦f◦h-1◦h◦f-1◦h-1 works out to idB (and the other way around, likewise). So h◦f◦h-1 is an invertible morphism in Mor(B,B). Now that we have that, we now define the function α: Aut(A)→Aut(B), α(f)=h◦f◦h-1. We will prove that α is a group isomorphism (we are now getting back into the more familiar notion of isomorphism). First, α is one-to-one, since if α(f) = α(g), then h◦f◦h-1 = h◦g◦h-1, and by left composing by h-1 and right composing by h, we get f=g. Second, α is onto, since for any morphism g in Aut(B), h-1◦g◦h is in Aut(A) (for similar reasons as to why h◦f◦h-1 is in Aut(B)), and α(h-1◦g◦h) = h◦h-1◦g◦h◦h-1 = g. Finally, α is a homomorphism, since α(g◦f) = h◦g◦f◦h-1 = h◦g◦h-1◦h◦f◦h-1 = α(g)◦α(f). Therefore, α is a group isomorphism, and so Aut(A) and Aut(B) are isomorphic as groups. ... OK, that did feel like a lot of "abstract nonsense". Yet it feels like something I went through over and over during my university studies.
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
p4wn3r wrote:
Therefore, solving p^4+(1-p)^4 = 1/3, which does give a number between 0 and 1, you can make your method work.
One of the solutions is p = 1/2 - sqrt(12*sqrt(6)-27)/6 ≈ 0.24213; you can solve it by substituting p = 1/2 + x and expanding to get 2x4 + 3x2 - 5/24 = 0, which can be solved easily as a quadratic in x2.
p4wn3r wrote:
About Pascal's triangle, it seems that you're right. I made a program to compute it mod 4 and did not find a row for the first 100 iterations. Maybe that property only works for prime n, I don't remember.
It's not possible for all elements of a row of Pascal's triangle (other than the ends) to be a multiple of 4. The ith row of Pascal's triangle sums to 2i, a multiple of 4. Since the two 1's at the ends only add up to 2, there has to be at least one other number in the row that isn't a multiple of 4.
p4wn3r wrote:
So, even if the rows in Pascal's triangle are not all divisible, you can pick a huge m, and set person A at the extremes, and for every row you put A on m mod (N-1) combinations. If m is large enough, these new combinations should be very small, and the equation still solvable.
Good! This is what I eventually came up with when trying to show it is possible for all N. (I got tripped up on "m mod (N-1) combinations" for a while; I eventually figured out that you meant "m combinations of 'mod (N-1)'", though I think it should be m+1 rather than m.) I use C(m,i) to mean the binomial coefficient m choose i. Assign, for each i between 0 and m inclusive, C(m,i) mod (N-1) of the C(m,i) outcomes of probability pi(1-p)m-i on A; everything else can be divided evenly among the N-1 others. Then the probability of A winning is: f(p)=sum[0≤i≤m] (C(m,i) mod (N-1))*pi(1-p)m-i. As mentioned before, f(0)=1 and f(1/2) = sum[0≤i≤m] (C(m,i) mod (N-1))*(1/2)m < (m+1)(N-2)(1/2)m. So to get 1/N as a possible output of f(p), we need f(1/2)<1/N so we can use the intermediate value theorem. So we just need f(1/2)<(m+1)(N-2)(1/2)m<1/N, or (m+1)(1/2)m<1/(N(N-2)), and this can clearly be satisfied for large enough m, since (m+1)(1/2)m goes to 0 as m goes to infinity.
p4wn3r wrote:
So, the equation now is this, which also works to get a fair probability for everyone.
This equation p8+2p4(1-p)4+(1-p)8 = 1/5 works out pretty nicely. The left-hand side is just (p4+(1-p)4)2, so after taking square roots, you can solve it similarly to p4+(1-p)4 = 1/3 above. Note that for N=5, 8 flips is not the minimum number of flips required; it is possible to do it in 6 flips since the polynomial f(p) above with m=6 and N=5 can be made equal to 1/5. Though it would be a lot harder to solve even with the p = 1/2 + x substitution (you'd have a cubic in x2 now), especially if you don't have WolframAlpha.
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
Riddler Classic this week has an interesting question. I'll paraphrase it below: ---- You need to fairly choose one of N people to be the winner, using a coin. If N=2, then you just flip a fair coin to decide the winner; heads for one person winning and tails for the other. If N=4, then flip the coin twice; the outcomes are HH, HT, TH, TT with 1/4 probability each, and just assign each outcome to each person. However, if N=3, it is not possible to assign the outcomes of a finite number of flips to the three people to fairly choose one of them with probability 1/3; for k flips, every outcome has probability 1/2^k, so no matter which outcomes you take, you can never get their probabilities to add to 1/3. However, you can choose to use an unfair coin (probability p of landing heads, 1-p of landing tails) and select any p between 0 and 1 that you wish. The question is: Is it possible to choose such a p so that you can flip the coin a finite number of times and assign the outcomes to fairly choose one of three people, and if so, how? How would the question change if there were five people (N=5)? Or for the case of N people in general? (Feel free to use WolframAlpha; I used it to help with this problem.)
Editor, Experienced Forum User, Published Author, Skilled player (1943)
Joined: 6/15/2005
Posts: 3250
MrWint wrote:
FractalFusion wrote:
How many rerecords do you estimate it took to bot this?
I stopped trying to track this after it has been pointed out that these numbers are wholly incomparable to anything else and just skew the statistics.
Are you referring to TASVideos statistics? Because if you are, then I could care less about whether its statistics are skewed. What I liked most about your submissions were the rerecord counts running in the hundreds of millions, if only to clearly demonstrate how much more optimized your TASes are over just about everything else.
MrWint wrote:
No. Pokérus doesn't do anything useful in Gen II.
OK. I wasn't sure whether the 2x boosted EV/Stat Exp. from Pokerus would have made a difference at any point since Cyndaquil is mostly at low levels (boosted EV is unlikely to change the stat at low levels) and when you get Raikou at LV40, you OHKO the vast majority of Pokemon from then on without using criticals. Though now that we're talking about Pokerus, I'm wondering whether the 2x boosted EV make a difference in other games. The only thing I know for sure is that Pokerus doesn't matter for the current route in Pokemon Diamond/Pearl glitched. ---- By the way, I noticed that even though Pokemon Crystal reduces the number of mandatory battles compared to Gold/Silver (by 9, if I counted correctly), Crystal is still a pretty long game. There are 81 mandatory battles in the pre-league portion of the game alone (23 in post-league), which is a pretty large number (though Diamond/Pearl glitchless has 97, counting double battles as 2). Especially long is the Goldenrod Tower section; that section alone has 24 mandatory battles, more than the entire post-league! So even though I do appreciate all the new strategies that were implemented since my really outdated TAS of Pokemon Gold, I find Gen 2 TASes rather boring, especially now that catching Raikou is clearly the way to go. I'm saying this in case anyone was wondering why I never bothered with improving my outdated TAS from 13 years ago. And yes, I agree that my outdated TAS should be obsoleted in favor of this TAS. This TAS is far better optimized, on a far better emulator (the one I made mine on was so broken that the system time affected sync, seriously), and on a version of the game which in my opinion is better.