Game information

  • Emulator used: BizHawk 2.9.1
  • Starts from a fresh save
  • Genre: Puzzle

Comments

Peggle Dual Shot is a Nintendo DS port of the pachinko-based puzzle games Peggle and Peggle Nights, including most of the same levels with some bonus content. Each level requires hitting the 25 orange pegs to win without running out of balls while utilizing each Peggle Master's special green peg ability to clear pegs more efficiently.
This TAS completes both Adventure modes in record time, with each individual Adventure mode beating the current records for Peggle and Peggle Nights on PC by at least a few minutes.
There were a few main important things to keep in mind while routing levels to make them more efficient:
  • Shot Angles: The angle at which each ball is shot is most efficiently controlled with the touchscreen. Since the touchscreen has a resolution of 256x192, it means there are about 588 possible angles each ball can be fired at. It's best to tap either the left/right (y=24 to 191) or bottom (x=1 to 255) edges of the screen to get the most precise angles; tapping further away from the edges tended to give the exact same results and is most likely arbitrary for angle finding anyways. Precise pixel shots often allow for balls to be able to hit specific orange pegs fast, weave perfectly between other pegs/obstacles for a better hit on something more meaningful, or hit a combination of pegs that hits/clears room for multiple oranges the quickest.
    • For extreme fevers at the ends of levels, I tried as best as I could to line up each shot with where the prize buckets appear, since hitting extra pegs or the platforms between each bucket loses time.
    • Pixel shots have been documented way more by speedrunners for the Peggle games on PC. Peggle Dual Shot has slightly different ball gravity, obviously a much smaller resolution, and overall has been studied much less, so finding exact pixel shots is something I mostly did on my own. There's probably some optimization still left to go but I was able to get what's probably about the best possible shots.
  • Shot Timing: On some occasions, purposefully stalling shots in order to line up timing with the free ball bucket, moving pegs, or moving obstacles helps land the shots you'd ideally want as well. Finding good pixel shots on levels with any moving pegs/obstacles is generally a lot harder, and "losing time" to save time is often worth it.
  • Fast Forward: Obviously an intended feature, but still worth mentioning as it's what really helps make this whole run miles faster than it'd be otherwise. Holding down the Y button to fast forward works during level intros, in between shots, during extreme fevers at the ends of levels, and even more.
  • Peggle Master Abilities: Each five levels you play as a different Peggle Master which each has a unique green peg ability, some more helpful than others. Normally on PC the orders you play their levels in are a bit different between Peggle and Peggle Nights, but in Peggle Dual Shot they're the exact same for both Adventures:
    • Bjorn: No significance at all, really.
    • Jimmy: It tends to be pretty helpful to have the second ball that spawns from the multiball to clear a different set of pegs than what the other ball is already covering. The angle the pre-existing ball moves at after hitting the green peg changes too sometimes, strangely enough.
    • Kat Tut: Usually the large free ball bucket is a detriment for balls being able to leave the screen quickly but occasionally it's good for clearing tricky oranges near the bottom of the screen.
    • Splork: Pretty nice free AOE clears, the more pegs they're around the better.
    • Claude: Since the flipper timing is something that can be controlled, it's pretty helpful for combo strings. Thwacking balls down to quickly end shots with no better outcome is also sometimes helpful.
    • Renfield: The ball reappearing at the top is usually a waste of time, but the one good thing about it is that since it falls back down at the angle it was in at the bottom of the screen, it occasionally helps clear oranges along the edges or other parts of levels that would be slower otherwise.
    • Tula: The sooner you use the green pegs the better, literally. They each clear 20% of the remaining orange pegs with a maximum profit of nine orange pegs (25 * 0.2 = 5 → (25 - 5) * 0.2 = 4), so using them in the first few shots is definitely the way to go.
    • Warren: The prize wheel is somewhat consistent, with magic hat & triple score always being two of the four prizes. The third prize will be either magic hat or an extra ball, and the fourth will be another random Peggle Master's ability. Magic hat is helpful by basically making the balls bouncier and their hitboxes larger, and out of the other Masters' abilities Splork's and Tula's are probably the best to get.
      • In Warren's levels in the Peggle Nights portion, it's possible to receive later Masters' abilities too, making Cinderbottom's easily the best.
      • The wheel's prizes usually change with each shot; sometimes it's probably better to wait before using green pegs for the best abilities.
    • Cinderbottom: Without a doubt the most overpowered ability. Fireballs phase through pegs without a care in the world allowing for tricky oranges to be cleared way more easily, and fireballs always get a free bounce if they hit the free ball bucket allowing for even more insane comboing. The only thing that rarely gets in the way of them is level obstacles, still never a huge deal though.
    • Master Hu: Not much significance, although sometimes zen shots can reach seemingly impossible angles that land better combos.
    • For the master levels, the last five levels of each Adventure, the game lets you choose any master to clear them. Cinderbottom is overall the most consistent and what I chose for all of them, although in certain scenarios it may be possible for others like Splork or Tula to come close.

Other comments

This movie starts at booting up the game itself, not the DS BIOS, hopefully that works okay.
Timing ends after tapping the last "Continue" button to reach the credits after beating Peggle Nights Adventure.

ThunderAxe31: Claiming for judging.
ThunderAxe31: Cool! This game seems to leave a lot of options for optimization, and it seems that a lot of thought has been put into the making this movie.
I want to note that this movie beats both Peggle and Peggle Nights level sets. Completing just the former would suffice for fastest completion, as the game presents you the credits sequence after beating it, while completing the former can be considered as a form of "second quest". Having both in the same movie is allowed and appreciated. I just need to note that future submissions that aim to improve this movie will also need to beat both level sets in the same movie.
I also want to note that we may want to give a branch label to this movie, in order to avoid confusion from pure fastest completion runs that only aim for completing the first level set. I suggest something like "Peggle & Peggle Nights". Regardless, any decision about this is up to the Publisher team.
And with that said, accepting for publication.

despoa: Processing...


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15628
Location: 127.0.0.1
This topic is for the purpose of discussing #8595: berrimeow's DS Peggle: Dual Shot in 1:33:39.72
Active player (328)
Joined: 2/23/2005
Posts: 786
I'm replying to this thread because I once tried TASing this game, and gave up when I realized this game should be brute-forced for maximum efficiency and entertainment, similar to the old Lunar Pool movies. Peggle has massive potential to be a really entertaining TAS if someone wants to write a brute forcer. Every shot should be at least as impressive as a Zen Ball shot. As it stands, this movie is indistinguishable from a casual run that uses savestates.
Shot Angles: The angle at which each ball is shot is most efficiently controlled with the touchscreen. Since the touchscreen has a resolution of 256x192, it means there are about 588 possible angles each ball can be fired at. It's best to tap either the left/right (y=24 to 191) or bottom (x=1 to 255) edges of the screen to get the most precise angles; tapping further away from the edges tended to give the exact same results and is most likely arbitrary for angle finding anyways.
Did you know that you can subpixel-adjust your shot by tapping the D-pad left and right? Here's something you did about 5 minutes into the run: In this same position, here's a shot I found after about 2 minutes of attempts (though admittedly I wasn't holding the fast-forward button when it happened):
Former player
Joined: 6/30/2010
Posts: 1107
Location: Zurich, Switzerland
This wasn't as entertaining as I hoped it would be. Instead of spectacular trick shots, it was mostly just burning through the available balls quickly while taking out some orange pegs on the way. I understand that some of it is just an inevitable part of an any% category as opposed to a highscore TAS or some sort of "minimum moves/balls" challenge, but I was wondering at times if the gameplay really is optimal. CtrlAltDestroy's post confirmed my suspicions. I'm giving this one a "meh".
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.
Really_Tall
She/Her
Editor, Player (185)
Joined: 9/29/2014
Posts: 122
Location: Scotland
First of all, it's nice to see a full TAS of this game! I spent some time working on Lua scripting for it a few years ago on DeSmuME but I only actually TASed 1-1. Here's a TAS of 1-1 that aims for style rather than speed, and here's the result of my research on RNG. I also have a TAS of 1-1 that aims for speed, but I haven't published that yet. Do note that it's somewhat unfair to compare TASes of 1-1 to a full game run, because they can use perfect RNG by changing the system clock before startup, and it is infeasible to have perfect RNG in later stages of a full run. I noticed that the submission text doesn't mention RNG manipulation (for orange peg positions in the next level) at all, which is a red flag. Along with changing the system clock to get perfect RNG for 1-1, you can manipulate RNG for the next level quite quickly by waiting on the fever screen, because all of those particles rapidly advance RNG. Even if no scripting was used to find good shot angles and/or RNG seeds, I'd expect to see at least some testing of different RNG advancements at the end of each level, to attempt to cluster orange pegs together, and to avoid them appearing in the worst possible positions, for example. Additionally, the assertion that there are only ~588 possible shot angles is wrong. In my testing I found that there are 14296 angles, almost 30x more. Once again, even without exhaustive testing, using this greater level of control to change the shot angle very slightly would make many shots more efficient. The acceptance message doesn't discuss the optimisation of this movie, which is improvable, as illustrated by a great example from CtrlAltDestroy. This movie may still be good enough for a first TAS of this game, but the optimisation should definitely be addressed by a Judge before publication. P.S. Here are some of memory addresses I found (in DeSmuME, but hopefully they match in BizHawk), with particularly important ones in bold: xAddress = 0x021C7374 yAddress = 0x021C7378 xVelAddress = 0x021C7384 yVelAddress = 0x021C7388 realLaunchAddress = 0x02167EFC targetLaunchAddress = 0x021665F4 (the game uses this value at 1/16th precision, so values 194448 to 194463 are the same shot, for example) pegsHitAddress = 0x021666B8 pegsToCountAddress = 0x0216692C orangePegsHitAddress = 0x02166578 pegPointsAddress = 0x02166694 rngAddress = 0x020DE7D4
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15628
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. ---- [5578] DS Peggle: Dual Shot by berrimeow in 1:33:39.72
berrimeow
She/They
Player (89)
Joined: 7/16/2023
Posts: 9
Location: California
Wow, there's so much more optimization that can be made with this game than what I tried checking. I wasn't sure if anyone knew anything more about Dual Shot than me at the time, so I really just tried giving it the best shot with the knowledge I had, which was frankly pretty limited. I'd really love to see this game get cut down to sub-hour if a time like that could be possible.
CtrlAltDestroy wrote:
I'm replying to this thread because I once tried TASing this game, and gave up when I realized this game should be brute-forced for maximum efficiency and entertainment, similar to the old Lunar Pool movies. Peggle has massive potential to be a really entertaining TAS if someone wants to write a brute forcer. Every shot should be at least as impressive as a Zen Ball shot. As it stands, this movie is indistinguishable from a casual run that uses savestates.
When I was in the process of making this TAS that felt like the standard to me, frequently I felt pretty stumped on levels though and I knew they probably weren't the best shots that could be made. I didn't use any external tools, simply just testing combinations myself over and over again until for each shot I got what seemed was as optimal as it could be, but with a brute forcer there's definitely way more that could be done, which would totally make it faster and more entertaining as you said.
CtrlAltDestroy wrote:
Did you know that you can subpixel-adjust your shot by tapping the D-pad left and right? Here's something you did about 5 minutes into the run: In this same position, here's a shot I found after about 2 minutes of attempts (though admittedly I wasn't holding the fast-forward button when it happened):
I really wish I knew you could subpixel-adjust shots beforehand, that probably would've helped out with so many levels. I figured at the start that the d-pad control scheme would just get you the same angles, about 1 pixel per left or right press on the d-pad, but having access to even more possible angles per shot is pretty huge and probably way more efficient for getting good combo strings.
Really_Tall wrote:
First of all, it's nice to see a full TAS of this game! I spent some time working on Lua scripting for it a few years ago on DeSmuME but I only actually TASed 1-1. Here's a TAS of 1-1 that aims for style rather than speed, and here's the result of my research on RNG. I also have a TAS of 1-1 that aims for speed, but I haven't published that yet. Do note that it's somewhat unfair to compare TASes of 1-1 to a full game run, because they can use perfect RNG by changing the system clock before startup, and it is infeasible to have perfect RNG in later stages of a full run. I noticed that the submission text doesn't mention RNG manipulation (for orange peg positions in the next level) at all, which is a red flag. Along with changing the system clock to get perfect RNG for 1-1, you can manipulate RNG for the next level quite quickly by waiting on the fever screen, because all of those particles rapidly advance RNG. Even if no scripting was used to find good shot angles and/or RNG seeds, I'd expect to see at least some testing of different RNG advancements at the end of each level, to attempt to cluster orange pegs together, and to avoid them appearing in the worst possible positions, for example.
Being able to manipulate luck at your will honestly wasn't something I was sure existed for this game. The fact that you can change it on the fever screen is pretty great, I figured myself that the only way you'd be able to advance RNG would be by just stalling for longer periods of time during/in between levels but your idea makes a lot of sense thinking about it. It also felt to me like no matter what you'd still have to deal with semi-random luck with where the orange pegs show up, making luck manip mostly arbitrary, but I clearly see now that's not the case. Also, that TAS of 1-1 and Lua scripting you made look absolutely incredible, it really looks like you can get way crazier shots than what I thought was doable. I had no idea that someone tried reverse engineering Dual Shot like this already, looks like it'd be super useful for lining up the exact shots you want.