TASVideos

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

Submission #5365: The8bitbeast's SMS Alex Kidd: The Lost Stars in 20:17.28

Console: Sega MasterSystem
Game name: Alex Kidd: The Lost Stars
Game version: USA/Europe
ROM filename: Alex Kidd - The Lost Stars (UE) [!].sms
Branch:
Emulator: Bizhawk 1.11.9
Movie length: 20:17.28
FrameCount: 72943
Re-record count: 36857
Author's real name: Jake M
Author's nickname: The8bitbeast
Submitter: The8bitbeast
Submitted at: 2017-01-18 09:05:22
Text last edited at: 2018-02-20 06:00:34
Text last edited by: The8bitbeast
Download: Download (18968 bytes)
Status: published
Click to view the actual publication
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:
https://youtu.be/vCLF8SfYMak

Alex Kidd was an unofficial mascot for Sega in the late 1980s. The Lost Stars is the second game in the Alex Kidd series. It was originally released as an arcade game in 1986 and ported to the Sega Master System in 1988. Lost Stars is a simple platformer on the surface but ended up being a surprisingly complicated TAS to optimize.

Each level contains some powerups that are either visible or hidden. The hidden powerups can be uncovered by jumping over their location (requires slowing down to collect) or shooting the location. The S powerup gives Alex the ability to shoot enemies, there is limited ammunition but this is almost always not an issue. The J powerup gives Alex the ability to jump higher but sometimes it’s not useful since it can make him jump too high. The SC powerup gives you more health/time. This is always avoided to reduce time spent on score screens.

After beating the first seven levels, they repeat but with harder enemy layouts. While this seems repetitive, sometimes different strategies are used due to different powerups being available.

Tricks and Techniques

Lag reduction is extremely important in this game. I wrote a lua script that calculates velocity based on position so that I could pick up some undetected lag frames. By jumping on different frames, the game has different amounts of lag. Often, this meant testing every possible frame to jump. Jumping is almost always less laggy than walking. Alex shoots projectiles in this game, which cause lag. Balancing the lag from the projectile on screen with the lag from the enemy on screen is difficult. Often every frame for shooting had to be tested.

Alex will jump the same height regardless of how long the button is held for. This means that managing jump spacing and deciding whether or not to get the J powerup is essential. In some rare cases, holding jump for longer reduces lag.

Speed conservation is extremely important. If you have to slow down at all you are forced to slow down to roughly half of the max speed. It takes 63 frames to reach max speed again after slowing down. Slowing down loses 15-16 frames. The method to slow down that loses the least time is to swap from holding L+R to R or R to L+R depending on what was already held.

It’s possible to clip some objects by holding left+right. If you start the level holding L+R you will not lose any speed, but swapping from R to L+R will lose 15-16 frames. This becomes particularly difficult when levels involve clipping and shooting enemies since, you have to slow down to swap between L+R for clipping and R for shooting. When holding L+R Alex will walk forwards but jump and shoot backwards.

Useful Addresses

0x0304 Y Position
0x0303 Fine Y Position
0x0307 X Position
0x0306 Fine X Position
0x0D1D Health
0x0D1C Fine Health
0x0D16 Jump Height
0x004E Screen X (1)
0x0050 Screen X (2)
0x004F Screen X (3)

Level Comments

In level 1 there were a few enemies that were unavoidable without slowing down. Having the jump power up is best as a deck of cards is unavoidable at full speed without it. Underneath the train tracks I run into a wall. This looks like a mistake but it’s faster than slowing down before the wall. I was able to jump through the bouncing ball enemy by shooting the ball before jumping through, I don’t fully understand why this works. Level 8 follows a similar strategy but with more slowing down for enemies.

Level 2 is the first instance of L+R clipping. Luckily I can keep holding L+R since there are no enemies to shoot. On the green swinging thing I jump, regrab it then jump again. This allows me to jump off earlier and land on the platform to make it over the wall. There is also a small section of platforms which move left and right. I scroll the screen far enough to load the platform then stop moving right since moving right the whole way would make me overshoot the platform. I die at the end of this level to save time. It's possible to get some very different death animations so I had to manipulate a quick one. Level 9 is a similar route, but I have to use a precise shot to kill a robot to the right/underneath me by shooting to the left.

In level 3 I uncover a hidden jump powerup which saves considerable time. It should be quicker to shoot the powerup rather than slow down for it, but I lost more time due to lag with that method.

In the water levels (Level 4 and 11) Alex’s height doesn’t affect lag. This means that only my shot timing needed optimization. Regardless, this was one of the hardest levels to optimize. Level 11 had the additional challenge of managing limited ammunition.

In Level 5 I was able to use the jump powerup to land on the top of the cave rather than going through it. This saved roughly 50 frames over going through the cave. A disadvantage was that I needed to slow down before hitting the balloon. The balloon keeps a speed associated to the speed at which you grabbed it, so it is very important to be at the highest speed possible when grabbing the balloon. In Level 12 I had to go through the cave as there are no jump powerups. In both levels I had no jump powerup for the hanging thing leading into the mouth after the balloon. Having jump there would have saved time as I could leave the hanging thing earlier.

Level 6 had a lot of management with L+R clipping and holding R to shoot. I start the level with L+R and clip, then I use the slowdown from swapping from L+R to R to grab the jump powerup. Without the jump powerup I couldn’t make it through the second red ball with the invincibility frames. Level 13 was a lot harder since there was no jump powerup and more enemies.

Level 7 has a feature where Alex jumps extremely high (higher than the jump powerup). While this seems to help, sometimes it can cause problems. I use a glitch on the moving platforms where I jump into a platform but only hold the jump button for just long enough to start the jump. This causes Alex to enter the walking animation but keep the arc from the jump with a little bit of extra distance. This distance was just enough to hit the bouncy thing and make it over the ice spike without slowing down.


feos: Compared to the other 2 SMS Alex Kidd games we have published, this one is incredibly simplistic. You just run'n'jump the entire time. And while those other games have runs that are fairly short, which helps to keep their action density concentrated, this one has less levels, but it repeats them twice, resulting in a final time that's longer than what those 2 have combined. So since it's so much simpler and longer, accepting to Vault.

To publisher: Don't forget the overscan.

Spikestuff: Series of Publishings going on now.


Similar submissions (by title and categories where applicable):