Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
While this would work, Geodude would have to go up all 99 levels individually. Zanoab is right, it's faster to glitch one of your Pokémon to a higher level anyway.
In Gen 1 and Gen 2 crit is slightly less than 2x damage, so I don't think it would be possible to get the OHKO with a crit there.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
I've done two-player TASes of River City Ransom, and I think it would be much more difficult. I usually do the recording by figuring out the best input sequence for one player for a short (30-120 frames) segment, then holding down those keys as I work on input for the other character. River City Ransom is tricky because one player's input can increase lag or change the AI's behaviour, so I often have to rework a stretch of input. Some keyboards can't accept certain combinations of key presses, so I set up redundant input configurations for the times I have to press several buttons and the frame advance key. Unless you have three hands I think it would be too tedious to use controllers instead of the keyboard to make a TAS.
Are you planning to work on a two-player RCR TAS? I'm curious to know if you've found improvements to my run.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
I did get the game to do something unusual with an invalid text ID, but I'm not sure it can be used for arbitrary code execution. Here is the .bkm file that gets to that point.
I'm not sure why the stored text ID isn't working in Mount Moon, but I was able to use it for other dialogue in Viridian Forest. It appears that the anomalous dialogue won't come up even if I return directly to Mount Moon, maybe something is resetting the value to 0 on its own. I'll do some testing and try to find a way to use this bug to pick up a Rare Candy.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
I did a quick test and thought it was a couple frames faster from the top, I guess I was mistaken.
I'm having some trouble getting the anomalous text box to work outside of Viridian Forest. I'm trying to pick up the Rare Candy in Mount Moon, as picking it up from a distance would reduce the number of battles Mew needs, but doing the blackout Trainer-Fly in Mount Moon always gives me a start menu.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
The streamer Werster made a new record for the glitchless unassisted speedrun with a time of 1:51. I noticed a little improvement in his run that TASers have been missing for years - the second time in Professor Oak's lab, it's faster to go around Oak and talk to him from above. This takes 4 extra steps, but it saves about half a second because the rival spends less time walking around.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
I'm not sure about this route, teaching Mega Punch and travelling further to find the Rocket with Raticate is potentially slower than the extra attacks from solely using Pound. At this point I think it's something that requires testing rather than discussion, I have midterms but I'll try to get on this soon.
You're completely right, I got confused between Mount Moon and Viridian Forest.
The current title for the category is "no glitch warps", a better name might be "no memory manipulation." Tricks like ZZAZZ that get a desired result by RAM manipulation are considered part of the heavy glitch abuse category.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
Why not that Lass?
This route looks even better. I'll look into manipulating dialogue boxes to pick up a Poké Ball remotely, which would let the run skip the Mart entirely.
That's an interesting idea. It skips a couple battles but that route would definitely require a trip to the Mart.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
This is intriguing, and I'm happy to see a new member getting into this thread. If this route works, it's brilliant, and I'll be testing it soon. I have some questions about your route:
It would be necessary to PC save and quit in order to pick up that Ether. It may be possible to glitch an Ether into our inventory with blackout Trainer-Fly.
Actually, a dialogue box should pop up. It may be possible to trigger the dialogue box for "I found Rare Candy", depending on the last one loaded by the game. It may also be possible to use a blackout Trainer-Fly in B2F to glitch Ether into the inventory.
Do you know precisely what special EVs and DVs are needed for this route?
What's this about Metapod's data? There's no reference to Metapod in your route plan. (Edit: I think you're referring to the Bug Catcher's 4th Pokémon, a Metapod. We don't need to fight that Metapod if its data is a problem, because it's possible to fight the Lass above that Bug Catcher and return to Pewter to reset her position. This would have an impact on Charmander's EVs.)
I have some questions for myself that I'll try to test soon.
1. What dialogue can trigger "I found Rare Candy" and "I found Ether"?
2. Can there be 2 areas in a state of Trainer-Fly, or does the glitch require completely separate executions?
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
I need a trainer battle to fix the trainer-fly status, otherwise the game will bug out and I won't get any wild Pokemon. The old man catching Weedle counts as a trainer battle, so that's the quickest way to set up the wild Nidoking. Earlier I planned on losing the second Rival fight, but when I discovered that the old man counts as a trainer battle this saved a lot of time.
When the trainer-fly glitch is used, the game tries to open the last dialogue box it tried to open. It normally opens the start menu because that's how the old glitch was performed, but the new method allows the game to open any dialogue box from the area of the glitch. The dialogue in Viridian where the old man says "time is money..." happens to correspond with the dialogue in Viridian Forest "I found Pokeball!" This allows a fast way to get a Pokeball for Nidoking without visiting the store in Viridian, which does not stock Escape Ropes.
There might be. I'm trying a single-player TAS because the lag reduction might make it faster than my two-player TAS, right now it's too early to say for sure.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
If the glitch isn't useful for arbitrary code, at least it's still faster than getting Gyarados for a no-glitch-warps run. I've done some testing and found that the glitch loses about 3 minutes getting through Viridian Forest, and then gains over 4 minutes Thrashing everything on the way to getting Mew. Nidoking wins battles faster than Mew, so it should stay in front of the team until the Juggler who poisons Mew in Koga's gym. I may start working on the TAS after I finish River City Ransom, but someone else can feel free to start on it if they want. Here's the planned route
1. Get Charmander with 18 HP and low DVs. All DVs even, defense DV of 0, 2, 4, or 6, special 0, 2, 4, 6, or 8.
2. Lose to 3 max-damage critical Tackles, or a tail whip and 3 non-crit Tackles if AI can't get a crit on the first turn. (I forgot if that is the case in Generation 1)
3. Heal at Pokémon Center in Viridian
4. Run Oak's parcel errand, proceed to Viridian Forest.
5. Run into level 5 wild Pikachu just in front of trainer, lose to 2 Thundershocks. Pikachu's special DV should be 10 or more so its special stat is 11.
6. Talk to Old Man, answer "No". Talk to him again and answer "Yes".
7. Encounter level 3-5 Caterpie or Weedle with 7 special, growl 6 times, run
8. Walk into forest, Poké Ball immediately added to inventory. Encounter level 1 Nidoking, catch it. 15 speed DV, and attack DV high enough to give it attack 7.
9. Fight level 3 Caterpie with Speed DV 0-4 so it has speed 7, same as Nidoking. HP and Defense DVs low enough to knock it out with 2 critical Poison Stings.
10. At Mart, buy 2 Poké Balls and 2 Escape Ropes. Out of money, but this route will require 3 Escape Ropes - for Bill, Sabrina, and Pokémon Mansion. Could either pick up the hidden one on Route 3 or just Teleport away from Bill's front door, whichever is faster.
11. Go through trainers with Nidoking. Always Thrash against three or more Pokémon. Use Thrash against two Pokémon if Poison Sting is not very effective or super effective against one or both of the trainer's team members.
12. Go through Mount Moon, fighting both trainers in the way.
13. Proceed as in Primo's run, but with Nidoking. Don't bother teaching the Bubblebeam TM, Nidoking gets by with Thrash and Poison Sting.
14. Catch Mew, but continue fighting with Nidoking. Get HM02.
15. Use Nidoking for fights until using Mew to face the last Juggler in Koga's gym. Rest of the run looks like the current run. Time savings at this point at least 5 minutes.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
There probably is, and I don't have the knowledge to do it. I discovered the save corruption glitch used in the Yellow run but other people figured out how to make it useful. Unfortunately it looks like p4wn3r and MrWint haven't been on the forums in several months, I'll message FractalFusion and ask if he can figure out what's going on with this glitch.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
Sorry for the double post, but this could be a big deal. It looks like the glitch to enter Trainer-Fly without using the Start menu puts the player in a different state of Trainer-Fly, where the trainer used to perform the glitch is considered defeated and the player can still use the A button. It may involve the Old Man from the Missingno. glitch, or it may be entirely about the method of fainting away from a trainer just before the battle. If it's the latter, that means we have a new method of performing Trainer-Fly that could skip the battle in Viridian Forest and more efficiently skip battles in Mount Moon.
Also, it may be possible to use this glitch to pick up any item in an area, since I just used it to pick up a Poke Ball from the other side of the map. Requires more testing.
edit: I made a bkm movie to show off the process of triggering a version of the glitch that crashes the game.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
On another note, I just found an intriguing youtube video showing a method of performing Trainer-Fly in Viridian Forest. This could catch a Nidoking very early in the game, but it's agonizingly slow to perform the glitch. I'm not sure what the fastest route is to exploit this, but it's intriguing. Route 2 has plenty of Pokémon to give us Nidoking. The correct route might involve losing fights early on rather than winning - does anyone have an accurate damage calculator for Generation 1?
I'm exploring a lot of different routes because I'd like to make an improvement to Primo's no-glitch-warps run if there's a significant route change to be made. I wouldn't be interested in, as you said, splicing the second half of his run onto the first half of the glitched warps run.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
They had a problem with a walking trainer in the Pokémon Mansion.
They talked to him from that position and fought, causing the trainer to stay there. It took over an hour for all the stream's team to faint from random encounter battles.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
Over half of all the Poison-types in existence are from Generation 1.
To make Snorlax disappear, it has to load onto the top of the list of disappearable objects, because the trainer-fly glitch removes the first object from that list. I'm not sure if Snorlax disappears if I do the first part of trainer-fly before meeting it but trigger the encounter later. Now that I think about it, I think triggering the "wild" encounter is the event that actually deletes Snorlax. Unfortunately skipping the Gambler battle requires triggering Trainer-Fly twice, since we have to pass him once to load Snorlax onto the list of disappearing objects and pass him again once Snorlax is gone.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
Yeah, you need to pay Snorlax a visit before making it disappear. Unfortunately trainer-fly can't be used to skip anything on Route 25, because the nearby trainer who can be used for the trick is technically on Route 24.
I ran the numbers, a level 100 Nidoking would definitely be faster than Charmander or Gyarados for the path to Mew. Unfortunately, I don't think it's possible to meet something with only 7 Special in the cave, as the weakest Zubats and Geodudes still have 9 Special. It's possible to get level 100 Gengar, Ivysaur, or Nidoqueen in the cave, but they're all part-Poison and so not useful for wall-warping later.
I can't do an exact comparison between runs because of route differences, but Charmander is 1 minute faster through Mount Moon and Gyarados gains 50 seconds on all the battles near Cerulean. A level 100 Nidoking would save time from always moving first, always getting a one-hit win, and from Thrash being so fast to use.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
What route changes would be made in a new no-glitches-warps run? It's possible to skip Brock and the existing NGW run was made before discovering that trick.
There's also the discovery that it's possible to save and regain menu control during the first stage of Trainer-Fly by going to a PC. It's possible to skip 2 mandatory battles and the optional battle in Mount Moon instead of catching Gyarados in Mount Moon - it's not possible to do both. It could also be used to skip 2 mandatory battles on Route 6, but this involves backtracking to Cerulean and may be slower than just fighting. A route that skips the Mount Moon fights would certainly want to pick up Mega Punch and teach it to Charmander for a faster Rival fight.
If we skip grabbing a Gyarados in Mount Moon, that means only performing the trainer-fly glitch to get a level 100 Mew, or possibly a different Pokémon. Mew is a great choice because it can learn Fly, Take Down, and any other moves we want. If we catch a Mew in the same place, I believe there are no route changes after that point, but the run will already be several minutes ahead. A strong non-Mew candidate would be any non-poison type that can go from level 1 to 100, preferably one that can learn Fly and Take Down. I'm open to suggestion, but I suspect Mew will still be the best main battle mon for a new run.
Are there any route changes for a non-glitch-warped run that I missed? I have to admit I'm curious how much time can be gained now that we can skip Brock and use trainer-fly to get past certain fights.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
I can't stop laughing. I just found out that the stream successfully beat Giovanni on the second stream, and then used Dig to escape without picking up the Silph Scope. Time to go in the maze again!
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
That would be great, thanks. I'm on vacation with just a Macbook so I can't work on any runs at the moment, but just having Bizhawk for Mac is a big improvement over nothing.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
I'm having trouble getting RAM Watch to work in Bizhawk 1.5.2 on OSX 10.8.3. When I click on it, the program stops accepting any mouse input and must be quit with command+Q. Are there any fixes to this issue to make RAM Watch usable?
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
There was a similar experiment in 1999, with Kasparov against the world. Kasparov won, but the world team played very well. They had a team of skilled players recommending moves, and the voters tended to choose good moves because bad players couldn't coordinate on which bad moves to play.
I suspect that a democratic run of this game would be much faster and much less funny.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
Here's a bug from some abnormal use. I was emulating Pokémon Red in Bizhawk running two lua scripts, and left it alone with the turbo button taped down for an hour. At some point it crashed with the error "System.NotSupportedException: Memory stream is not expandable."
I'm running it again and keeping an eye on the computer so I can report when it happens. Are there are any fixes for this? Other than the obvious "don't emulate a game for 24 hours."
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
Thanks, but that doesn't seem to work. It runs but doesn't press Start at all. I got the following scripts to work, and I got the result I wanted by running them concurrently.
To press A, B, up, left, down, and right 50% of frames:
local buttons = {"A","B","Up","Left","Down","Right"}
local state = {true,false}
local keyinput={}
while true do
for key,value in pairs(buttons) do
keyinput[value]=state[math.random(2)]
end
joypad.set(keyinput)
end
And to press Start 0.1% of frames:
local buttons = {"Start"}
local state = {true,false}
local keyinput={}
while true do
for key,value in pairs(buttons) do
keyinput[value]=state[math.random(1000)]
end
joypad.set(keyinput)
emu.frameadvance()
end
I don't precisely understand it, but it works. Now I'll set it on turbospeed and make it play Pokemon Red for twelve hours.
Experienced Forum User, Published Author, Player
(178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
I actually need this too, thanks! Now I'm trying to modify it to change the probability of each button press, but I'm not sure how. This is what I attempted to give it a 1/1000 chance of pressing Start:
local buttons = {"A","B","Up","Left","Down","Right"}
local state = {true,false}
local keyinput={}
while true do
for key,value in pairs(buttons) do
keyinput[value]=state[math.random(2)]
end
joypad.set(keyinput)
end
local buttons = {"Start"}
local state = {true,false}
local keyinput={}
while true do
for key,value in pairs(buttons) do
keyinput[value]=state[math.random(1000)]
end
joypad.set(keyinput)
emu.frameadvance()
end
That didn't work. Can you tell me what I did wrong, please?
edit: Wait, I think I know. I need to put the frame advance after all the key inputs.
edit 2: ":22: '=' expected near 'end'". I don't see where to put the = sign near either "end" in this code, so it won't run. When I put an = in front of end, it says "unexpected symbol near 'end'."