This is my submission for a TAS of Pokemon Pinball - Ruby & Sapphire. The goal of this category is to defeat Rayquaza as quickly as possible. There are no major glitches used to achieve this, just precise pinballing and physics manipulation.

Game objectives

  • Emulator used: BizHawk version 2.3.3
  • Defeat Rayquaza as quickly as possible

Comments

The general route for this speedrun is to earn and complete 5 bonus rooms, the 5th containing Rayquaza. We earn a bonus room by catching and evolving 1 pokemon. We also make frequent use of the slot mechanic - the second slot lets you enter catch mode, the fourth lets you enter evolve mode, and the 5th gives you a free bonus room outright. The first and third slots contain nothing relevant to the speedrun, so they are ended as quickly as possible. After you complete the first 2 bonus rooms, you have to do them again. After you beat the second bonus room for the second time, you catch Kyogre and are allowed to progress to bonus room 3, where you defeat Rayquaza and complete the speedrun.

Stage by stage comments

Catch Mode

While in catch mode, your goal is to hit the bumpers at the top of the table 3 times, causing the silhouette of the pokemon to fill in and gain collision. If you hit 3 bumpers all in one go, it plays a cutscene where the pokemon is immediately created, but this is considerably slower so instead we get 2 hits, drop the ball back down, then send it up for the 3rd. There is some dead time while the silhouette is filling in, which we use to set up a slot without wasting time. Once the pokemon gains collision, you have to hit it 3 times. If the ball is inside the collision box when it spawns, you can get all 3 hits immediately as it tries and fails to eject the ball. There is minor RNG manipulation during the 2nd catch to avoid a pokemon that has no evolution, which would break our route.

Evolve Mode

The goal of this mode is to collect the 3 golden "EX" gems that spawn around the table, one at a time. Once you collect the 3rd, you can enter the hole to evolve the pokemon. The RNG is purely based on the current in-game timer, and the location of all 3 EX gems is determined when you select the pokemon to evolve, so we can achieve a different pattern by waiting 1 additional frame before the selection. This lets us avoid the gems spawning in slow places, and set up to get multiple gems in one go or collect the last gem and immediately enter the hole. This is made harder by the fact that the gems don't get collision until the animation has completely finished, which lasts quite a bit longer than it appears.

Bonus Room 1 - Duskull/Dusklops

In this room, 2 Duskulls spawn on the screen at once and you must keep hitting them until you've defeated 20. Then after a short animation, a dusklops will enter the arena and require 5 hits to defeat. The location of the next Duskull depends on the frame the previous duskull was hit, allowing for some manipulation for favorable spawns and stringing multiple hits together. The dusklops is tricky to defeat because if the ball enters the area directly in front of it, it will catch the ball and throw it back which is very slow. We take advantage of the fact that if the ball is inside of it's collision box the game can be confused about how to eject it, so we can get 3 or 4 hits at once by dropping it through the dusklops earning a hit as soon as it regains collision.

Bonus Room 2 - Kyogre

In this room you must hit Kyogre 15 times in order to defeat it, or 18 times to catch it on the second visit to the room. Kyogre will attempt to freeze your ball in place or catch it in a whirlpool, both of which force you to stop for a while. Fortunately the corner at the back end of the Kyogre has interesting collision boundaries, and you can wedge the ball in there such that it isn't ejected after hitting the Kyogre. This allows you to get 5 hits in a single go, so we can complete the room for the first time in only 3 swings which saves quite a bit of time. You can also prevent the move that freezes your ball by hitting the Kyogre at the right time.

Bonus Room 3 - Rayquaza

Finally, you must defeat Rayquaza by hitting it 15 times. This room involves the least exciting TAS tricks because Rayquaza bobs up and down, and can only be hit while at the bottom of it's movement. This prevents you from getting multiple hits at once (except when it stops to do the lightning attack), so the focus is on getting a hit and returning the ball as quickly as possible, but not so quickly that when you go for your next hit it goes right under the Rayquaza. Additionally, about 8 frames after we achieve the last hit the Rayquaza will fly up offscreen and then do a flyby that spawns 2 tornadoes which can catch your ball and throw it up in the air, to say nothing of being unable to hit the Rayquaza for 5 seconds until it comes back. This thing is deeply annoying.

Other comments

Much credit to DaJaWi, whose youtube video inspired me to create this and let me know what is possible in several sections. I've linked their side-by-side comparison run of the Ruby table and the Sapphire table below. Credit also to roseasromeo for helping me pick apart the physics engine and analyze the relationship between the X and Y velocity, and where the ball ends up going (it's less straightforward than you'd think). We actually went way deeper into that analysis than we really needed to, if anyone else is interested in running this game I'd love to share what I learned about it.
I'm struck by how solidly put together this game is for being from 2003, I think it's fun to play and entertaining to watch. The easiest and hardest thing about putting this run together was the limited search space. On any frame you can flip either flipper, and you can bump the table left right or up every 27 frames. This means the input search space is relatively small, but it also means that you can discover that the only way to get the ball where you want it to go is to change the hit you did 100 frames ago so it has a better exit vector. Not sure what else to say here, it's my first time so please be gentle with me but I'm SO looking forward to getting feedback on the run/submission and joining this community!

ThunderAxe31: File replaced for removing 1127 blank frames at the end of the movie. Note that we don't use RTA timing (more here)
Samsara: I feel a precedent-defining judgement coming... But I don't think it should come from me. Resetting to new.
Memory: Judging
Memory: So optimization looks fine and audience reception was good.
There were initially questions about where the TAS ended, beating rayquaza as opposed to catching it, but with the recent clarifications to games without clear ending, this has been deemed acceptable.
Next there was discussion about how the TAS ends. It ends with beating Rayquaza and idling in gameplay. Previous pinball tases were suggested to game over and reach a credits sequence that only appears after game-over. Game over is extremely slow for this game and there is no such ending sequence here. As a result, there really wasn't a ton of consensus on how to end them and I believe that as long as the goal is finished, it is valid.
Lastly, there has been mentions of save corruption being possible. Since this TAS was well received, it's possible for save corruption to be a new branch, but that will be determined after such a TAS is finished.
Accepting to Moons.
Spikestuff: Publishing.

Joined: 1/14/2016
Posts: 98
From those options, I feel thatleaving it "as is" is fine, because I saw everything I was promised and came to see. I'd be fine with a save & quit to mark the tas as finished, but throwing away all lives, which has nothing to do with the goal itself, detracts from the core gameplay and the stated and reached goal.
Joined: 10/1/2013
Posts: 98
Location: My Basement
Chanoyu wrote:
From those options, I feel thatleaving it "as is" is fine, because I saw everything I was promised and came to see. I'd be fine with a save & quit to mark the tas as finished, but throwing away all lives, which has nothing to do with the goal itself, detracts from the core gameplay and the stated and reached goal.
Ditto, couldn't have said it more succinctly.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11268
Location: RU
Spikestuff wrote:
Just for publication purposes I created extended input.
Link to video I don't like this version because there's nothing going on while waiting. Maybe if the boll repeatedly tries to die and gets saved until the timer runs out, it'd look better. The situation with Tetris and both other Pinball movies is that they don't take significant time to game over, and also the fact that all 3 of those movies have a full-blown ending. For games that have an ending, it makes perfect sense to game over if that's the only sensible way to trigger the ending. For games that have no ending but have a scores screen, it also makes sense to game over to access it, but the more time it takes, the less enjoyable it gets, still depending on how entertaining the waiting time is of course. If there's nothing you can do while waiting and there's a lot of time to spend, in my opinion it feels worse than simply stopping the movie (and the encode) after you've completed the last required thing.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Judge, Skilled player (1288)
Joined: 9/12/2016
Posts: 1645
Location: Italy
While I already expressed my opinion about how I think this movie should be ended, I also want to add that I think that it would be better to leave the final decision about it to the author and/or the audience. Since there isn't any known problem that would be caused by either option, I don't see why it should be enforced as a rule.
my personal page - my YouTube channel - my GitHub - my Discord: thunderaxe31 <Masterjun> if you look at the "NES" in a weird angle, it actually clearly says "GBA"
eliilek
He/Him
Player (44)
Joined: 3/19/2020
Posts: 3
I assumed since I was the author I shouldn't be weighing in! I've been playing around with it since submission, and I because of the time involved I don't think there's a way to drop enough balls to reach the game over screen without making it a lot less engaging to watch. I would prefer to leave it as-is, maybe adding in a save and quit to mark the ending more clearly. That said, I've also been messing around with the save corruption glitch and may make another TAS of the game regardless, so I won't be crushed one way or the other.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14876
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [4399] GBA Pokémon Pinball: Ruby & Sapphire "Sapphire Field" by eliilek in 08:41.69