TASVideos

Tool-assisted game movies
When human skills are just not enough

Submission #6504: Silverbawxer, Taechuk, xy2_ & Gonquai's DS Super Monkey Ball: Touch & Roll "newgame+, all worlds" in 26:19.51

Console: Nintendo DS
Game name: Super Monkey Ball: Touch & Roll
Game version: USA
ROM filename: 0333 - Super Monkey Ball - Touch & Roll (U)(Trashman).nds
Branch: newgame+, all worlds
Emulator: DeSmuME 0.9.11
Movie length: 26:19.51
FrameCount: 94496
Re-record count: 200706
Author's real name: Christian Backes, Larry-Félix Paquette, H. E.-L. & Gonquai
Author's nickname: Silverbawxer, Taechuk, xy2_ & Gonquai
Submitter: Silverbawxer
Submitted at: 2019-09-02 19:10:16
Text last edited at: 2019-09-17 19:53:34
Text last edited by: Memory
Download: Download (21336 bytes)
Status: judging underway
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list
Author's comments and explanations:

(Link to video)
Please watch in high quality!

Super Monkey Ball Touch & Roll is the third Super Monkey Ball game featured on a handheld console, and the first for the Nintendo DS. The goal of the game is to roll a monkey in a ball around various stages, collecting bananas for extra lives and overcoming tons of crazy obstacles to reach the finish line on each level. It uses the DS touch screen as the primary controls for maneuvering the monkey around the level, although D-pad control is also supported.

The game carries some legacy, as it’s considered the last “mainline” Super Monkey Ball game by the community, bringing old SMB1 and SMB2 levels to the handheld and adding its own. After more than 4 years since the start of our TASing efforts, we are proud to bring you the first complete TAS of Touch & Roll, finishing all 120 stages of the game.

Game objectives

  • Emulator used: DeSmuME 0.9.11
  • Aims for lowest In-Game Time
  • Bus-Level Timing Off

Note: Due to heavy splicing and hex editing, the rerecord count is 40-60% smaller than the actual rerecord count. We tried to track them to the best of our ability.


Run category

This run is "all worlds newgame+" because on a clean save file, the last two worlds are not unlocked right away. We wanted to show off all of the levels in the game, so we opted to use an almost-completed save file to make things easier. Why not just unlock worlds 11 and 12 during the run? Well... World 1 is unlocked by default. Completing World 1 unlocks World 2, etc. up until World 11 (Studio One). To unlock Studio One, there are two special red goals in the game. One is on 8-1 Hollow Diamond, the other is on 9-2 Converse. By reaching both of these red goals in Challenge mode as well as completing World 10 (Zero G Station), Studio One is unlocked. That part is easy enough, and realistically would only lose a couple seconds in a TAS.

The problematic part is unlocking World 12, Mesh Mosh. After completing Studio One, a counter will appear in the corner of the screen reading '0/2006'. To unlock Mesh Mosh you need to collect 2006 bananas in total in Challenge Mode. Even in a TAS, this would be over 20 minutes of doing nothing but banana collecting, which of course we decided was really boring and uninteresting for a TAS. This is the reason we did newgame+, it does nothing more than to allow us to skip 1 red goal (on 8-1 the red goal is already faster), as well as skipping a brutal amount of grinding for bananas.

Because of the use of SRAM, here is a verification movie which gives the required SRAM for the movie to sync: http://tasvideos.org/userfiles/info/49626841129450668 This movie will sync on DeSmuME 0.9.9 with bus-level timing off.


Soft Resetting to skip credits

After a world is completed, an unskippable credits sequence will play which lasts for about 5 minutes each time. Luckily for us, the next world is unlocked before the credits sequence plays. We wait for the first frame it unlocks, and then soft reset to bypass the credits. This is valid because even on a clean save file this would unlock the next world.

Bonus Stages

We fall out on bonus stages because there is no goal on them. They are considered completed when every banana is collected on the stage, but this is not necessary to progress through challenge mode. It is always faster to simply fall off the stage for a 'Bonus Finish' to continue on with the run.

Movement Techniques

Movement follows some very simple rules and is quite restricted. Although the D-pad can be used to control the monkey, the movement speed is ridiculously slow. This leaves us with the only other input method possible, the touch screen, to tilt the stage around. Despite these simple controls, there are many oddities and exploits at our disposal.

Many of the movement rules are similar to Super Monkey Ball 1 & 2, so many of the techniques are the same. The T&R engine has two main differences: the ball is much smaller than in SMB1/2, and acceleration is much faster. These two differences account for significant strategy changes, even on stages that were ported from the previous games.

Every pixel of the touch screen gives a different input to the game. With the size of the touch screen, this means there are 49,152‬ possible inputs on any given frame, giving us more precision than an analog stick. The touch screen is rectangular, but gets normalized to a square, which means we have more precision horizontally than vertically.

At first glance, it may seem that the player controls the tilt of the stage and not the movement of the monkey. In fact, the player controls both. You can think of the controls as changing gravity rather than moving the stage or the monkey. This is why it's possible to change direction in mid-air, without contacting any parts of the stage.

Fast-falling

Having no input, as well as holding an input near the center of the screen, allow us to fall much faster than normal. Because of an oddity in how the game gives downward speed, holding slightly up-center is the fastest way to gain speed while falling.

Slow-falling

Similarly, inputting near the corners of the touch screen (away from the center) will cause the monkey to fall more slowly. This is more useful than it would seem, and is used for one of the main movement techniques of the run: boosting.

Boosting

Nearly every level begins with an up-left or up-right input, called 'boosting', and this is faster than going straight for a few reasons.
  1. Diagonal movement is faster than moving straight.
  2. Because we are holding a diagonal input, we can take advantage of slow-falling since we start each stage in the air. We can net two or three extra air frames, which benefits us because acceleration is faster in the air than on the ground.
  3. Normally, turning from diagonal to straight or from one diagonal to another would lose speed.
By alternating between two diagonals while we are in the air and have a very low starting velocity, we can negate the speed loss from turning back and forth. This makes boosting faster overall even though normally, moving back and forth in a snaking pattern would be slower.

Clipping

Because acceleration is much faster in the air than on the ground, getting air time as soon as possible (and as frequently as possible) is crucial. We can do so by 'clipping': approaching an edge, bump, or corner with decent speed to make us airborne.

Edge grinding

On the edge of a platform, you can use the controls to negate gravity pulling you off, and stay balanced on this edge without falling. This technique is faster around sharp turns because it allows us to cut the path shorter by being on the innermost part of the curve. It also allows us to take any turn without slowing down, because the edge will redirect us while we edge grind. There is no need to slow down or adjust our direction.

Air boosting

A consequence of slow-falling, by holding up-left and up-right in alternating motions while in the air, falling is much slower and allows us to reach otherwise unreachable places.


Collision Oddities

Speed bumps

Stages with curved surfaces require many small polygons to approximate the intended rounded shape. Because there is a limit to how many polygons the game can use, many curved surfaces are not approximated well, and are bumpy and jagged. The edges where these polygons meet are not smooth, and with the right direction and speed we can get a bounce off of a seemingly flat area. We also speculate that there are 'misalignments' between these polygons, causing edges to stick out and make it even easier to get a bounce.

One level that comes to mind that does not have any speed bumps like this is 8-3 Back Round. Although it has a curved edge, there are no spots for bounces because the edge is a perfect semicircle, and can be approximated much more accurately than other odd curves.

Clipping through platform edges

With large enough speed, clipping straight through many platforms is possible. The ball is smaller than previous games which makes it even more common to go through parts of the stage. Even at low speeds, clipping is possible where two polygon edges meet depending on how big the misalignment is.

Clipping through goals

The goals also have some odd collision, best exemplified by 1-10 Spiral Staircase and 2-6 Starfish. With enough speed (upwards of 200) the monkey can phase through the top of the goal and trigger a finish by clipping through to where the goal tape is.

Alternatively, the monkey can also phase through the front of the goal but only under special circumstances. If the goal is moving (translating, rotating, or any combination of the two) then the collision near the goal ball is straight up wonky. On levels such as 1-9 Assimilate, it is effortless to actually perform this clip, the normal collision for the goal seems to disappear. On stages where the goal is not moving, it is impossible to clip through the goal this way. Passing through the underside of the goal ball is possible with high speeds, but any higher position and the goal is completely solid and can't be passed through.


Stage by stage commentary

All human records can be found at https://www.cyberscore.me.uk/game/250

Level Human record TAS Frames saved Comments
1-1 Elementary 58.41 58.41 0
1-2 Sine Wave 52.70 52.78 5 We wanted the smoothest movement possible along the outer walls. Minimizing the bounces off of the walls kept our speed high and saved us the 5 frames.
1-3 Curvature 56.81 56.83 1 This level almost instantly killed this project when we first started. The collision makes absolutely no sense, but eventually we managed to tie the human record. After some more attempts, we even managed to save a frame.
1-4 Progenitor 50.56 51.60 62 Balancing on the tiny edge of the rails is much faster than rolling in the middle of them. It also allows us to get a crazy speed bump on a random piece of the rail to get some air time.
1-5 Bare 52.78 0
1-6 Anaconda 53.55 53.93 23 This level went through tons of improvements. We have done at least 3 different variations of movement for this level, and this ended up being the fastest. We get the lowest bounces possible, along with a clip straight through the floor so that our bounce can be even lower.
1-7 Fluctuant Travelator 54.06 54.21 9
1-8 Swathe 56.05 56.03 1 Another project killer, I think this level has taken us 40k re-records collectively and it wasn't until years after we started this project that we improved upon the human record. After the first high bounce from the edge of the moving bridge, we realized that counterintuitively, it's faster to land on the inner bridge part than it is to land on the edge and grind on it. The clip at the end is also faster even though we slow down to achieve it.
1-9 Assimilate 56.96 56.96 0 Ties the human record, this trick is much more specific than it seems. A tiny bounce off of the ridge is almost always nonexistent, or too high.
1-10 Spiral Staircase 57.73 57.78 6 One of the only times in the entire run that we actually clip completely through the top of the goal. This glitch saves us a considerable .10 seconds in such a short level.
2-1 Mini Bump 58.38 58.38 0
2-2 Double Scepter 55.01 55.05 2 The improvement here is the extra bounce off of the edge of the green platform for slightly more air time.
2-3 Offsetting Incline 52.23 52.25 1 We get a small bounce on each platform edge to speed us up.
2-4 Pincer 57.31 57.33 1 This is the fastest cycle through the pincer, and going any sooner would cause us to hit one of the teeth and fall off.
2-5 Depressions 59.08 0
2-6 Starfish 57.01 57.08 4 There is just enough speed to clip off of the lip of the starting platform and land on the arm of the starfish, going over the top and clipping through the top of the goal. The special thing about this level is that the goal itself is moving, which causes us to clip through very easily, unlike 1-10 which required 200+ speed.
2-7 Deviant Drop 56.98 57.00 1 It's fastest to balance on the lip and then go off of the edge as soon as possible.
2-8 Receding Curves 56.50 56.50 0
2-9 Displacement 54.83 55.15 19 Trying to skip across to the squares as soon as possible is not optimal, it's better to waste a few more frames waiting so that we can get super low bounces across the squares once they move closer to us.
2-10 Labyrinthine 57.40 57.43 2
3-1 Racket 55.95 55.96 1 Silverbawxer thought of this clip and actually did it on console first, saving 2 frames over the previous human record. After tons of rerecords and optimizations, xy2_ saved another frame.
3-2 Basin 58.45 58.45 0
3-3 Parasite 55.46 55.46 0 Slightly odd movement to get over the platform wall. We get a bit of speed before hopping the wall, which also lets us barely make it to the goal. If we went straight for the wall at the start, we would fall short of the goal.
3-4 Web Matrix 53.36 53.70 20 Bouncing on the bumpers gives us more speed than we bump into them with, so there is always an advantage to using them to gain speed. (Also it looks cool.)
3-5 Reverberate 58.78 0
3-6 Beveled Edges 57.40? 57.35 -3? The human record for this level is only one of two in the entire game with no proof of it. We have no idea how this time was achieved (or if it is a typo in the submission or whatever else could be true.) We tried for a long time but .35 was the best we got. The slowdown near the end is intentional in order to not hit the goal post.
3-7 Betting Course 56.55 56.56 1 Instead of going straight for the goal, we get launched backwards by the tumbler, into a pole, and then back towards the goal to save a frame. This strat is insanely precise, and getting to the goal at this angle is much harder than it seems.
3-8 Halo 52.06 54.00 116 This stage most likely has the most polygons that make up its shape, and that's why there are such massive speed bumps on it. There is no easy way to find where this collision is possible, the only reason we managed this is because the human record gets the same first bump as the TAS. Silverbawxer found it by a complete fluke, and other players have also gotten lucky enough to find this bounce.
3-9 Infinity 55.05 55.26 10 The last bounce hits the front edge of the steps, getting a lower and faster hit towards the goal.
3-10 Millipede 55.56 55.66 6 You would think a faster time is possible, but this is in fact the fastest speed we can get from the arm squeezing us into the floor.
4-1 Epicenter 55.25 55.90 39 The original strategy here is to land in the tube part and ramp off of it across the gap. Four new ideas eventually led to the discovery of this bounce off of the side.
4-2 Wavy Brick Road 55.11 55.11 0 Strange speed bumps and difficult collision made TASing this stage a very long guessing game of trial and error.
4-3 Rollercoaster 55.16 55.36 12 Dropping off of the railing early is obviously faster, but it also allows us to ramp off of the curved rail to gain more speed. Like 1-4, balancing on the pinpoint edge of the rail is faster than riding between the two.
4-4 Descending Rings 56.85 56.85 0 Thank you Gonquai.
4-5 Cells 59.08 0
4-6 Scythe 56.53 56.63 6
4-7 Serrated 57.66 57.70 2
4-8 Oscillating Waves 55.31 55.31 0
4-9 Oblivion 57.65 57.65 0 Fast falling here to save a frame, although the human record manages this as well.
4-10 Whirl 56.76 56.90 7
5-1 Deviation 52.36 52.38 1
5-2 Sword 55.48 55.65 10
5-3 Slot 56.38 56.43 3
5-4 Long Winding Road 50.15 52.73 155 The curved edges on this stage have speed bumps, and we get one after almost every turn.
5-5 Pit 58.28 0
5-6 Conveyor 41.90 56.03 848 Very similar to the SMB1 strategy. Despite this game having a smaller monkey ball and faster acceleration, bumpers in this game do not transfer as much momentum as in the original game, so this strat is almost impossible for human players.
5-7 Formation 54.61 54.70 5
5-8 Swing 55.76 55.88 7
5-9 Tunnel Vision 55.66 55.80 8 Clipping into the floor is not always faster, it just happened to be optimal for this level.
5-10 Leviathan 54.26 55.13 52 Totally new strategy, it is barely possible to make it over that gap even with a run up from the left side and multiple small bounces along the way.
6-1 Meandering Road 51.78 52.03 15
6-2 Slalom 58.45 58.53 5
6-3 Coil 41.25 52.96 703 Instead of going around the entire coil, we use the starting platform to bounce straight across, making this the 3rd biggest time save in the run. The inputs are absurdly precise, and it is seemingly random which inputs allowed us to bounce further across.
6-4 Tilted Stretch 55.35 55.35 0
6-5 Roulette 58.70 0
6-6 Acute 57.33 57.71 23
6-7 Menacing Conclusion 55.78 56.20 25
6-8 Impediment 56.28 56.41 8 A clip off of the front edge of a step allows us to bounce low enough to make it to the goal without slowing down.
6-9 Free Ride 51.96 52.75 47
6-10 Fluctuation 55.90 56.03 8
7-1 Deception 58.26 58.26 0
7-2 Lateral Undulation 57.05 57.48 26
7-3 Suspension 53.60 53.70 6
7-4 Undulating Road 51.43 51.83 21
7-5 Skatepark 58.03 0
7-6 Congealment 50.65 51.01 28
7-7 Plummet Chasm 58.06 58.06 0 Easy tie.
7-8 Tornado 57.05 57.05 0
7-9 Rippling Road 55.83 55.86 2
7-10 Rotary Bypass 51.23 51.38 9
8-1 Hollow Diamond 57.36 57.38 1
8-2 Spiral Under Stars 58.25 58.25 0
8-3 Back Round 47.25 49.15 114
8-4 Staircase 56.21 56.25 2 Going up stairs in a monkey ball game is always a fun time.
8-5 Spinning Sun 58.01 0
8-6 Parallel Peaks 54.48 54.86 23
8-7 Circular Waves 58.31 58.31 0 It's faster to get a higher bounce here rather than the lowest one possible, because the top of the goal is closer to the starting position.
8-8 Obstacle Course 57.28 57.31 1
8-9 Pinball Pursuit 53.46 54.50 61 Normally, you are meant to wait for the flippers to hit you up towards the goal, but landing on this bumper gives us just enough speed to skip the flippers entirely.
8-10 Road to Nowhere 35.55 53.63 1085 Around 5 seconds in, we come into contact with the platform at 150 speed, and the very next frame leave it with 300 speed. We can't really explain this at all, and when it happened the first time it was a fluke. This is enough speed to pass through the bottom of other platforms for a shorter path straight to the goal. This stage also has the largest frame save over the human record, shaving off 18.08 seconds.
9-1 Gyration 55.00 55.06 4 Speed bumps on the second part of the platform, as well as an extra bounce off of the last corner saves us the 4 frames.
9-2 Converse 57.25 57.26 1
9-3 Motion Gear 53.33 55.80 141
9-4 Deflecting Protrusion 55.01 55.15 8
9-5 Rotary 57.23 0
9-6 Armada 55.28 55.51 15
9-7 Trail 55.13 55.15 1
9-8 Pendulum 54.41 54.48 4
9-9 Wheel of Fortune 58.76 58.76 0
9-10 Starlight Express 56.65 56.88 14
10-1 Ascension 54.81 54.85 2
10-2 Rails 52.70 54.31 103 A random speed bump on the fat rail is the only thing that made it possible to skip across the stage like this.
10-3 Perpetual Motion 55.56 55.63 4
10-4 Scraper Descent 56.88 56.90 1 Fast-falling taken to the extreme. There are many adjustments, but each serves its purpose: fast fall, slow fall and fast diagonal movement. Many little optimisations led to shaving this frame off.
10-5 Drop Downhill Drop 55.53 0
10-6 Entwined 55.81 56.10 17
10-7 Intertwined 46.75 51.15 264
10-8 Revolution 56.60 56.75 9
10-9 Sieve Track 56.31 56.33 1
10-10 Slinky 58.08 58.13 3
11-1 Backslide 54.11 54.60 29
11-2 Cherry Drop 56.88 56.88 0
11-3 Truffles 57.76 57.80 2 We thought Wavy Brick Road was collision hell until this stage. The little bounces at the very beginning is what builds up enough speed to improve upon the human record. Once again, thank you Gonquai.
11-4 Asymmetry 56.48 56.55 4
11-5 Scallop 58.31 0
11-6 Transience 31.08 31.13 3
11-7 Divergence 56.70 56.70 0
11-8 Wormhole 56.10 56.10 0
11-9 Prohibition 56.95 57.20 15 New strategy, the red thingies are moving fast enough to give you a speed boost even if you have to go out of your way to hit them.
11-10 Locomote 56.00 56.68 41
12-1 Whiplash 55.60 55.93 20 Rather than ramping up the pyramid like a halfpipe, it's possible to get hit by the launcher into the ramp before hitting the ground. This lets us take a more direct path to the goal.
12-2 Lickshot 57.55 57.55 0
12-3 Spasmodic 56.35 56.36 1
12-4 Gesticulation 52.80 54.15 81
12-5 Protuberance 57.93 0
12-6 Gauge 54.65 55.13 29
12-7 Permeation 55.18 55.53 21
12-8 Cavity 56.40 56.88 29 We clip off of the front edge of the bottom platform, but from the inner side through the top of it… you'll know what I mean when you see it.
12-9 Aperture 57.23 57.53 18
12-10 Palpitation 53.06 53.75 41 The curved shape of the goal 'cup' is what lets us clip clean through the bottom and right up into the goal tape.
Total Frames Saved 4575 Roughly 76.25 seconds saved over all human floor records.

History of this run

The first TASing efforts on this game were by xy2_, a complete newcomer at the time. Joined by Silverbawxer, they both quickly struggled upon realizing the difficulty of TASing a Super Monkey Ball game. After getting stuck on only the third level in the entire game, efforts stopped for a long time. The project lay dormant for more than 3 years, where xy2_ occasionally made some individual level TASes of later stages.

In August 2018, Taechuk made the first optimised full TAS of T&R in a month. Although it contained many mistakes and only beat a few human records, it showed lots of potential for the game as well as for Taechuk as a TASer. The team reformed with Taechuk, Silverbawxer and xy2_ all joining up, where almost all work was done in secret for more than a year. Gonquai later joined the team and helped knock down some of the harder levels to beat, and with that, all 120 levels had finally been optimized.

That brings us to today. Thanks to the game being very hex-friendly, we had complete freedom over which order the stages could be done, and could easily come back to them later to check for possible improvements. Many stages have had many different strategies and improvements by different players, sometimes over the course of months.

At this point, we feel that the TAS can stand on its own two feet, and proudly submit it in this final state. We optimised each level to the best of our abilities and hope it is an entertaining movie to watch.


Author comments

Taechuk

I want to thank the team for being great, it was incredibly fun to work on this project with them. Thanks to xy2_ for his script which made TASing this game better and allowed for more optimisation, Silverbawxer for having more knowledge of this game, since he has most WRs, and Gonquai, he managed to do some of the hardest things in this TAS. Also shoutout to danylopez123 for being a baseline for my first, rough TAS.

Silverbawxer

Thanks to xy2_ for his technical knowledge, as well as his incredible mental fortitude for TASing. This man probably doubled the rerecord count himself, I can only dream of having that kind of patience. Thanks to Taechuk for making the first full TAS and inspiring us to even start this project all together. He and xy2_ got accustomed to the physics and strategies in this game very quickly, considering they have not played the game nearly as much as I have. Thanks to Gonquai for swooping in to help us when we felt completely stuck on a few levels. Without any of them this TAS really would not have happened at all!

xy2_

This TAS is my first major undertaking, spanning four years and more than an entire year of active work in its prime. Thank you to the team who made this possible, as the run would still be in its infancy were it not for the spirit of my teammates. Without their presence and ability to tear apart each other’s TASes, we would not have pushed this much for optimisation.

Gonquai

Started TASing SMB earlier this year, really opens the doors as to what is really possible to do in these games.


Special thanks

Thanks to MisterFladdermus for his very early TASing efforts on this game, as well as the entire SMB community for showing the potential of playing and TASing Super Monkey Ball games.

Notes for TASVideos staff

We have included our own encode of the TAS using a different build of DeSmuME (r5447) to upscale the graphics x4. Although this only affects the 3D graphics (stage geometry) we think it looks a lot better than the original resolution. We would prefer if you link to our encode in the description of the TASVideos encode in case viewers prefer to see it this way. We still want an encode on the TASVideos channel so that more people will see our movie. (Our channels are all tiny!)

Our suggested screenshot is frame 37203.

Our suggested description is:

Super Monkey Ball: Touch & Roll for the Nintendo DS has our favorite team of monkeys rolling around in a huge mix of old familiar levels, as well as totally brand new stages. The monkeys are tasked with beating 120 levels, and they whip through these stages at higher break-neck speeds than ever before. Taechuk, Silverbawxer, xy2_, and Gonquai utilize every trick up their sleeves to grind, bounce, clip, and fly their way through any obstacle the game can throw at them. Many of the techniques are explained in the submission text because if you blink, you just might miss them.


Memory: Judging

Memory: Updating submission file to properly incorporate SRAM usage.


Similar submissions (by title and categories where applicable):