Submission #3590: VanillaCoke's DS Sonic Colors in 26:37.80

Console Nintendo DS Emulator
Game Version USA Frame Count 95590
ROM Filename Sonic Colors (USA).nds Frame Rate 59.82609828808082
Branch Rerecord Count 117861
Unknown Authors VanillaCoke
Game Sonic Colors
Submitted by VanillaCoke on 5/4/2012 11:54:05 PM

Submission Comments
Sonic Colors is a 2010 platforming game released for both the Wii and Nintendo DS. Dr. Eggman has opened an amusement park in outer space with small planets as attractions. Sonic and Tails decide to investigate and meet an alien named Yacker, who informs them that Eggman has kidnapped his alien race known as 'Wisps' and is using them for their energy. To assist Sonic, these wisps can lend their unique powers to help free their race from the evil Dr. Eggman. The Wii and Nintendo DS versions share some of the same wisps, but also hold their own exclusive wisps as well.
Details about this run
  • Any%
  • Takes damage to save time
  • Manipulates luck
  • Abuses programming errors.
DeSmuME 0.9.7 used
  • Advance bus timing enabled
There are two important values to tend to in this game: Speed and X-Velocity. X-velocity is how fast you're actually going while Speed is a little more complex. It's useful for slopes as an indicator of what X-velocity would actually be on a flat surface, but its real importance lies in landing. The game chooses the larger value between Speed and X-Velocity when landing and that becomes both your Speed and X-velocity values. This mechanic is important for rails and the zipline glitch. Speed's value gets stored when jumping and holding the direction you're traveling in. Unfortunately, holding that direction, or no direction, while airborne will instate the aerial x-velocity cap of 40960 for Non-Boost or 49152 for Boost.
Sonic tricks and glitches
Boosting - The most versatile tool Sonic has in this game. Boost instantly sets Speed to 49152 if the value was lower the previous frame. It allows for faster travel in the air by raising the aerial x-velocity cap to 49152 versus 40960. If Sonic's Speed and X-velocity are both below 49152, using it in the opposite direction of travel will instantly send sonic in that direction.
Aerial Boosting - This is exclusive to Sonic Colors and has a lot of nifty attributes. It resets Y-velocity to 0 for 20 frames and slows Sonic's descent to the ground if kept active after that. It gives lessened X-velocity decay for 20 frames and also restores Sonic's ability to Airdash if it was used already. It's very handy when it comes to making big jumps
After-Images: I couldn't decide if I should list these on their own or not. They're a side effect of either hitting a Booster pad, using Boost or triggering a "fake" Boost. When they are active, Sonic will accelerate up to 40960 instead of 36864. They also have an effect on Airdashing.
Backwards Airdash - Airdashing makes X-velocity much higher for a single frame, then is set to the air speed cap of 40960 if that value exceeded it the next frame. By holding the opposite traveling direction on the second frame onward, the cap is ignored. Airdashing while Boost is activated doesn't work in Sonic Colors, so the effect is lessened compared to those games. In addition to the X-velocity increase, airdashing gives 10 lessened frames of decay when holding backwards. The reason this and boost are spammed sometimes, but not during others depends on if X-Velocity and Speed are above 60544. If they are, it's faster to just run.
  1. Maximum without After-Images 56832
  2. Maximum with After-Images, 60928
Lessened Decay - Lessened Decay is gained by airdashing, aerial boosting and booster pads. Instead of x-velocity being reduced 2064 each frame when holding backwards aerially, it's instead reduced by 96 (doubled if boost is active). It's applications on the ground are sliding up slopes with slower decay and moonrunning.
Stomp - By pressing Down + A/B, Sonic will fall down to the ground at a Super acclerated rate, capping at 61440 y-velocity. X-Velocity is changed to 0, but Speed's value is stored until landing when it will then changed to 0 as well.
Rails - Flat rails and slight incline rails will add Speed and X-velocity and will exceed the ground cap of 61440. Decline rails and vertical rails enforce the 61440 ground cap however. Jumping while on a rail makes Sonic fall down through it. In order to get back onto that rail, he'll have to either land on another rail or the ground first. Rails are the only place that the Speed value stored after Stomping is useful. Depending on the angle of the rail (Decline only), it's possible to get a tremendous x-velocity boost if Sonic jumps the frame after landing. Because of the way that Speed and X-Velocity are related, it's possible to land on rails with stomp and get tremendous X-Velocity (Like in Starlight Carnival 2).
Slope Slide Boosting - Sliding on a declining slope then holding forward and jumping gives an x-velocity value of 64448 when optimal. By using Aerial boosting's lessened decay, it's possible to extend this out and land with 61440 x-velocity to boot.
Zipline Glitch - Performed by pressing the opposite direction the frame Sonic lands on a Zipline, then holding forward and jumping the frame after. The Speed Value jumps up greatly to about 185000. The opposite direction has to be held the frame before landing to avoid the 61440 ground cap.
Red Burst Mechanics
Red Burst is a flaming wisp that packs a powerful explosive... burst. You can use Burst the frame after transforming. There are three levels of Burst. These levels differ by how many frames X/Y/B/A are held.
  1. 1-9 Frames - Level 1 Burst
  2. 10-29 Frames - Level 2 Burst
  3. 30+ Frames - Level 3 Burst
Level 3 Burst - Level 3 has a delay that has two interesting tricks. When releasing the button for Level 3 Burst, it's possible to press any other button during that delay and charge and release another burst. The other is delaying reverting back to Sonic by 31 frames if used on the very last frame of Burst's transformation.
Charging a Burst - While Burst is being charged, descent is slowed down significantly.
Transformation - Speed's value becomes the new X-Velocity when transforming into Burst.
Orange Rocket
This is the most straight forward wisp in the game and it doesn't go forward! Orange Rocket has a pretty long start-up delay before it begins traveling upward. So, it's only used when it's necessary for a faster route.
Start-Up Delay removal - Only works in the Orcan fight. By transforming while extremely closed to Orcan, Orange Rocket will skip the start-up and go straight into its hit animation which is much shorter.
Yellow Drill
A useful wisp for going underground and underwater. It can go in 64 different directions. Holding down Y gives a 70% increase to Velocity. Values for X and Y Velocity are transferred to Sonic upon exiting. Attempting to use Yellow Drill to enter the ground while traveling at an X-velocity >64000 will immediately eject Sonic back to the surface.
Cyan Laser
This wisp turns Sonic into a laser that travels at fast speeds (61440)and will bounce off surfaces that it comes across.
Crystals - touching a crystal will change the trajectory of Laser into a predetermined angle. Depending on the value prior to touching a Crystal, it will either reduce (if touching it with a high value) or increase (touching it with a low value) time left in the transformation. So touching these things should only be done with as low a value as possible to get the biggest benefit.
Bouncing - Listed not to explain how bouncing works, but because of it's added benefit of freezing the transformation value. The first bounce will freeze the timer for 60 frames, then 30, then so on and so on. Eventually bouncing will not freeze the timer at all (instead of just freezing it for a single frame). It's almost always beneficial to bounce immediately upon transforming to increase the transformation time.
Transformation Glitch - Causes Laser to move and fall while selecting angle. It's only usable during the boss fight with Admiral Jelly.
Black Void
Out of the whole Sonic universe, this wisp sucks more than anyone or thing else. Grows in size after sucking in three enemies or 60 rings in normal stages or one rock and 10 rings in the Skullian fight. Can grow two times total to increase suction range and top velocity.
Increasing Velocity Faster - After sucking in enough rings/enemies/objects to go up in size, releasing and repressing the direction being traveled at/after a specific frame will begin increasing Velocity about 30 frames sooner.
Stage times and comments
Tropical Resort 1
  1. TSC 0'48"05
  2. TAS 1'17"25
  • The time for this level isn't comparable with other times. They're attained after unlocking Boost, but Boost isn't available the first time going through this stage.
  • Airdashing isn't used but twice at the beginning in order to get Afterimages faster.
  • Zipline Glitch isn't useful in this stage
  • Hitting the bomb at the end of the stage is to avoid the special stage prompt.
  • The time is improvable by using the nerfed slope exploit on the beginning decline slope, I didn't know how it worked at the time I started TR1 the last time.
Tropical Resort 2
  1. TAS 0'37"20
  2. TSC 0'45"20
  • The Ferris wheel causes a ton of lag, grrr.
  • The slope boost on the first loop isn't performed due to the wall being too close (would crash into it)
  • Boost spam on the rail isn't any faster than not boosting.
  • By going very fast and manipulating the camera's position with boost, the stone barrier object doesn't load after the Zipline Glitch is performed.
Easter Egg: Boost's color differs while running on water. It alternates between Blue and Green like in Sonic Rush/Rush Adventure.
  1. TAS 0'12"93
  2. TSC 0'16"71
  • Stomp
  • Stomp
  • Stomp it out
  • The playaround isn't up to par with the ones in the rest of the boss fights, but it's from my first WIP so I included it as a measurement of how much I improved. Besides, it's just playaround.
Sweet Mountain 1
  1. TAS 0'50"11
  2. TSC 0'57'64
  • Clever use of Orbinaut to take the top path without Void.
  • When boost is spammed it's during the influence of a booster pad, so it's the only thing I could think of to do for entertainment without sacrificing time or lessened decay.
  • Big air at the end before the Jelly.
Sweet Mountain 2
  1. TAS 1'14"15
  2. TSC 1'25"81
  • Beginning section with Burst is very frustrating to optimize, but I'm pretty happy and confident in it
  • The second Burst section is all optimized, I've tested out touching every bomb from many different ways (Above, below, from the side, with a burst).
  • The section starting at 0'30 is actually faster than it appears. The lag frames are plentiful in this small section, they are.
  • The free-falling section works in that Sonic must make it all the way to the bottom without hitting a bomb, then touch the hotdog and fall in the robot's mouth.
Captain Jelly
  1. TAS 0'12"32
  2. TSC 0'14"94
  • One of the few bosses that is effected majorly by the RNG
  • RNG determines not what attack is used, but when Captain Jelly will attack.
  • Waiting to jump on the first minion will actually speed up the launching of the second minion.
  • Keep an eye out for ALAKTORN's fall through the platform glitch. It's before the first minion is hit downward.
Starlight Carnival 1
  1. TAS 1'02"37
  2. TSC 1'09"79
  • I collect the rocket wisp at the bottom in order to take the upper route that is normally only accessible after getting Cyan Laser. Even though it takes quite a bit of time, it's still much faster than the bottom path.
  • I drop down and go over the blue rail twice in order to build up enough velocity to completely skip the launcher object in one big jump.
  • The section with the crazy rail jumping at 38 seconds is indeed the optimal route by a couple of frames.
  • A good example of the booster pad's lessened decay is the last few seconds before the Rocket. All of the big long jumps are fast from the the booster pads.
Starlight Carnival 2
  1. TAS 0'42"98
  2. TSC 0'56"98
  • The big boosting jump after the first set of rails is the optimal route. It skips slow spring sections and Speed is stored and used with the ramp when landing to get a little bit more mileage out of that boost gained from the rails.
  • Big exploitation of the relationships between Speed, X-velocity and Rails leads to the two fast sections.
  • Auto-scrolling section skipped by not landing on the float.
  • Best level in the run in my opinion.
  1. TAS 0'21"84
  2. TSC 0'23"16
  • RNG effects when and how many barrels drop and when the rocket wisp capsule drops.
  • Orcan cannot be hit with Rocket until frame 726 in order to get the drop down attack.
  • By transforming with perfect positioning, Orcan is hit immediately after transforming into Rocket and this skips the long start-up delay.
Planet Wisp 1
  1. TAS 1'12"25
  2. TSC 1'22"21
  • These Square loops in Planet Wisp and Aquarium Park can be exited out of faster by stomping almost near the middle of them.
  • Taking the upper route at 30 seconds is faster than going right. Going right has a loop and a steep inclined slope.
  • Boosting right inside a steam stream gives 61440 x-velocity. I stomp early since there is a delay in the steam before being able to stomp again and make use of boost increased effectiveness.
Planet Wisp 2
  1. TAS 1'03"23
  2. TSC 1'11"28
  • Going through the underground room is a lot faster. Hitting a capsule in the air restores boost if it was used, so I'm able to get a total of three airdashes and three boosts.
  • That long fall to the right is optimal and a really tight squeeze for hitting that spring.
  • Not much else to comment on, this was a boring level with all the drilling.
  1. TAS 0'08"77
  2. TSC 0'16"87
  • By delaying the boost hit that knocks Drillinator out by 19 frames, it ended up being 9 frames faster overall.
  • Cool little stomp thing at the end. That was neato.
Aquarium Park 1
  1. TAS 1'03"69
  2. TSC 1'12"25
  • I save the first Laser wisp I come across for two reasons. # Using it in the section it's intended for is actually slower than going through without it. # I use it a few seconds later to get into Drill's route without the need of the Drill wisp.
  • I bounce on the wall at the end to activate the frozen transformation timer bonus. Not sure if it's an intentional thing or not.
  • Not a whole heck of a lot to comment about on this stage :(
Aquarium Park 2
  1. TAS 1:03:28
  2. TSC 1:09:45
  • Nice jump at the very start to skip the slopes *pats self on back*.
  • Between bouncing and the crystal restoring some of the gauge, this laser lasts almost three seconds.
  • The stomp on the rail at 12"60 is to get a rail boost while also delaying an object loading. Normally it's impossible to make it to the platform while it rises the first time, but that rail boost is done just outside of it's loading area. The result is that Sonic just barely makes it up and onto that platform in time :D
  • The route from 26 seconds through 40 seconds I thought was awesome looking and was one of those rare times that the obviously slow routes all eneded up being the fastest routes.
  • Epic Moonwalk at 49 seconds.
  • It's faster to just pick the left slide from the beginning and get hit all the way down without changing slides/jumping.
Admiral Jelly
  1. TAS 0"17"55
  2. TSC 0'25"76
  • Death defying stunts with balls
  • The hits are optimal, this guy just has long invulnerability period after getting hit.
  • Laser Transformation Glitch
  • BOOM HEADSHOT (Not just awesome, but totally necessary as there isn't a hurtbox except for Jelly's head)
Asteroid Coaster 1
  1. TAS 1'27"57
  2. TSC 1'35"89
  • The Touch-A-Wisp section for Void is a little bit different than the others. Void isn't touchable until after he appears out of the multiple black portals. So during the wait, I touch the pipe from two different ends until they meet. Then I touch the sixteen different corners and add some sparkles there too.
  • The big jump at the beginning is necessary to skip the wind machine to get up to the void section.
  • Falling down during the T-Rex skull section is much faster than running down the slope. Falling has a y-velocity of 61440, while running down the slope barely gets over 48000.
  • I get both Void and Laser wisps after the T-Rex section by transforming into Void and sucking up the Laser Capsule.
  • Shifting the camera by holding up when the platform falls causes the enemy not to not be locked on as quickly (1'10)
  • The jump at 1'16 is to acquire the Laser wisp and avoid using the slow rollercoaster by riding the track of crystals.
Asteroid Coaster 2
  1. TAS 1'52"45
  2. TSC 2'09"27
  • Managing Boost gauge was a nightmare for the first 28 seconds.
  • Every rollercoaster was skipped in Asteroid Coaster... except the last one :(
  • The rollercoaster tracks aren't actually solid. The loops are the only exception.
  • The boosts when first getting on the final rollercoaster after the loop are a glitch in that the game performs them without any button presses.
  • By going so far off screen, the t-rex skull is unloaded.
  1. TAS 0'22"54
  2. TSC 0'23"79
This was the most frustrating boss to figure out the strategy, which is:
  • Not collecting any of the rings with Sonic, for void.
  • Manipulating the map positioning for very first set of rings to be gathered when transforming into void. This is because the first set is closer to the second than the second is to the first.
  • Getting to the third size of Void as fast as possible.
  • Learning what is worth sucking up and what isn't.
Terminal Velocity (Running)
  • Hitting a booster pad with boost on brings you to 61440 y-velocity.
  • Sonic keeps that y-velocity until boost is released.
  • Hitting any other boost pads after reaching 61440 y-velocity is purely aesthetic.
Terminal Velocity (Boss)
  1. TAS 1'28"52
  2. TSC 1'28"77
  • This boss isn't about dealing damage, it's about hitting it once during each phase.
  • It's fairly easy to hit it on the first frame possible during each phase by just being airborne with boost activated.
  • The laser phase has it's attack routine all messed up by positioning Sonic at different times. It's not correct until the 50 second mark.
  • Woo, button mashing :)
Thank yous (In no particular order)
Nach - Mein F├╝hrer, thanks for always being a great leader and willing to lend a hand. I might not always understand your jokes, but don't stop cracking them. I hope that this run is satisfactory.
Aktan - Thanks for the amazing encode and being a surprisingly cool guy to converse with. I'm looking forward to doing more business with you in the future.
Sonikkustar - Thanks for your interest early on, it really helped get me started on taking this run seriously.
Paused - We're engaged, hurray! Seriously though, thanks for your undying interest in the run. It really made doing this TAS easier knowing that people kept tabs on it through the numerous hiatuses and getting bored of TASing and restarting the run multiple times.
GoddessMaria - Our challenge made my run really sloppy in the sections I worked on after we started and I had to redo it after I lost. Although I'm glad I lost for that reason. As for a thank you, thanks for being a distraction when I was bored with working on my TAS.
ALAKTORN - Thank you for finding the RNG address all on your own. I'm sorry it took so long for me to put it to use, but DX:HR came out right around that time and I stopped working on the run for awhile. Also, thank you for your support and interest in this run.
CoolKirby - Thanks for being a CoolGuy and letting me ramble to you all the time. Looking forward to working on Kirby's Mass Attack together someday.
SkyLights - Thanks for the simplistic, cryptic but very accurate answer for the Skullian strategy.
Cruizer - Thank you for everything. Your thoughts and input on some of the bosses helped save me a great deal of time. Although you could of been a little bit more clear with Skullian hahaha, but SkyL was cryptic as well. It definitely made figuring out the strategy for him a lot more rewarding not having the strategy spelled out for me though, so thanks. Sorry for bugging you on Twitter so much. I tried ripping the level maps myself and never could, so I would have been SOL without your's xD. All your contributions are much appreciated, thank you Cruizer.
Nitsuja - If it weren't for your and Swordless Link's TASes, I would have never come to this site. So thank you for the inspiration. Also, thank you for the lua script and then updating it when 0.9.7 was released before I even knew it was broken. Your very detailed explanation of how the whole Rush engine worked was amazing and I appreciate the time you spent educating me on what you knew. I discovered multiple glitches just from your explanation of how Speed works and this run would not be close to the quality it is without your knowledge, critque and help. Thank you buddy!
Zeupar - You really pushed me by challenging me to not leave out any improvements I found out, even if that would mean restarting the run. During the time it caused me to become discouraged due to all the wasted time caused by an improvement. I took a hiatus as a result, but I thought about the run and your challenge often. I came back with the mentality that I wouldn't leave any stone or option unturned, regardless of the smallest chance of improvement. Most of the time optimizing every deviation wasn't worth the effort, but sometimes a unsuspected route ended up being faster and it was worth all the trouble. I like to think that I did live up to the challenge and didn't leave out any improvements I found during the making of this run. Thanks for your challenge (except for your last one lol) and your unsuspected friendship Zeupar.
Guga - Thanks for trying to learn to encode DS runs just because of me and for rolling with the punches.
and since it's tomorrow, Happy Birthday Mom.

Nach: Quite a nice first run. Good audience response too. I even personally liked this run, even though I had no clue what was going on with some boss fights. Accepting.


Last Edited by Guga on 6/28/2012 4:30:00 PM
Page History Latest diff List Referrers