Hello everyone. In light of the recent unoptimized submission of this game that was recently made, I decided to create an optimized TAS of this game.
The Game
Cabbage Patch Kids: Adventure in the Park was released for the Colecovision. A version was also ported by Coleco to the Atari 2600, which went unreleased due to the video game crash of 1983. However, a copy of the game later turned up at a flea market in the early 2000s, which led to the game being rediscovered.
Gameplay
You play as Anna Lee, the cabbage patch kid. Your goal is to navigate Anna Lee safely through all of the obstacles in the park, without getting hurt. The game has a total of 30 different screens, with Anna reaching her house on every 10th screen. The controls are simple, as they are for pretty much every Atari 2600 game: you hold the joystick to move left and right, and press B to jump. You can also change the direction of your jump in mid-air, but there's no point in this TAS where it's useful to do so, so it isn't seen here.
Optimizations
Your player moves 1 pixel forwards 3 out of every 4 frames while walking, and 1 pixel forward 1 out of every 2 frames while jumping. As a result of this, you move faster walking than you do jumping, so I attempt to walk wherever I can in the game. It seems that if you press jump during the 1 frame where you don't move a pixel forwards, then you lose a frame, so I avoid doing that. In case anyone ever decides that they want to take another crack at optimizing this game, the player's X-position is stored at address 0X26
Now then, let's get onto the riveting gameplay! Note that the graphics in my temporary encode of the TAS are kind of messed up for some reason, so I will point out any graphical inaccuracies down below as well.
Gameplay:
Stage 0:
Walk right
Stage 1:
Walk right - jump once.
Stage 2:
Walk right - jump 4 times.
Stage 3:
Here, you have to press jump as soon as you land on the trampolines, or you will jump straight up on them instead of jumping to the right off of them.
Stage 4:
Now we're getting tricky - walk right and jump 5 times!
Stage 5:
The graphics are kind of messed up on this screen in my temp-encode, but there are 2 ropes swinging in the background here.
Stage 6:
Jump once
Stage 7:
One little optimization I perform here is that I time my last jump so that I skip landing on the last riser, which saves me a jump, which in turn saves me time. If I landed on the last platform and then walked off, I would have lost a life. Doing this is actually frame-perfect, even though it doesn't look like the timing would be that tight. This is mainly just because your character falls like a sack of bricks a second after they start their jump, which limits how large of a gap you can jump over.
Stage 8:
Walk right again
Stage 9:
Here, I use a little optimization which was first noticed by Spikestuff last year. I walk left for a few frames to squeeze under the barrel without jumping, which saves a little bit of time.
Stage 10:
We're home!
Stage 11:
Walk right.
Stage 12:
Walk right and do some jumps.
Stage 13:
This fire actually shoots flames at you, but in my temp encode you can't really see this. Either way, the flames go over my head, so I can just keep walking right without issue.
Stage 14:
There are 3 platforms here, but my temp encode makes it look like there's only 2, which makes it look like I'm floating.
Stage 15:
Jump on the island; jump off the island.
Stage 16:
Get past the 2 leaping fish.
Stage 17:
Here, I had to delay my last jump to avoid getting hit by the falling stars, which means I had to do 1 jump on the trampoline.
Stage 18:
Again, there's 3 platforms here, even though you can only see 1 in my encode.
Stage 19:
Cross the floating island with falling stars.
Stage 20:
Home again at last! Thank goodness!
Stage 21:
There are 2 ropes here, even though only 1 is visible in my encode.
Stage 22:
More risers, more stars...
Stage 23:
More water, more stars...
Stage 24:
Risers and a single bee.
Stage 25:
The jump to get under the rising flame as it was going up without getting hit was very tight, and saved me about 16 frames.
Stage 26:
3 trampolines and a bumblebee.
Stage 27:
Some risers and a single bee... But this time, with a flame!
Stage 28:
Water and a bee.
Stage 29:
3 platforms and a bee.
Stage 30:
As is the case at the end of most Atari 2600 platformers, I jump at the end of the screen so that I can end input early, since you keep moving forward after you start jumping even if you aren't holding right. And with that, the game is over! Continuing to play from here on out will result in stages 10-20 repeating indefinitely
Final Thoughts:
Sometimes when I finish TASing a game, I will say that this is the game I have spent the most effort working on of any TAS I've done. In this case, however, that is not the case. In fact, I would go so far as to say that this is the least effort I've put into any TAS I've ever made. Nevertheless, I will continue to say the one other thing that I usually say at the end of my submission notes for a movie: I hope that you enjoy watching my TAS!
feos: This run is faster than the drafts Spike and I had, so it's good. The jumping at the end of a "loop" can be considered a game end, or a level end, but maxing out the increasing difficulty is the most obvious valid ending, for completeness and new gameplay. It's really boring either way though, so I'm accepting this to Vault.
Spikestuff: Publishing.