Submission #3144: TaoTao's SGB Ultraman Ball in 06:04.45

Super Game Boy
baseline
(Submitted: Ultraman Ball (J) [S][!].zip JPN)
VBA-rr
21867
60
23986
Unknown
Submitted by TaoTao on 5/1/2011 4:00 PM
Submission Comments

Essentials

  • Emulator used: VBA-rr svn330
  • Aims for fastest time
  • No death
  • Genre: Platform

About the game

"Ultraman Ball" is a strange platform game. The hero is Ultraman, but for some reason, he transforms into ball form, "Ultraball". Essentially, this game seems to have nothing to do with Ultraman, because it is said that this game is based on an abandoned NES project, "Armadillo 2". Indeed, this game is quite similar to "Armadillo".
I don't think this game is very nice, but I think it is worth TASing.
Basically, the hero moves fastest when he is in Ultraball form and in the air. But the mechanics of this game is a bit complicated.

Tricks

Levitation

When you turns into Ultraball, any acceleration is disabled at the frame, and Y-velocity is reset to 0. So you can virtually levitate by pressing <B> rapidly in the air.
And, if you try to turn into Ultraman near the ceiling, you can't do it, but any acceleration is disabled at the frame. So you can fall slowly.

Piercing breakable blocks

When you collide a breakable block from the side, the direction of X-velocity is negated. This is annoying for TAS. But, when you turn into Ultraman while you are rising in the air, X-velocity is set to 16*sign(previous X-velocity). This precedes the bounce by breakable blocks, so you can maintain X-velocity by pressing <B> at the same time as you collide a breakable block.

Vine boost

When you move horizontally while you holding vine, X-velocity is set to 48 at the frame. So, you can boost by pressing <UP> and <RIGHT> rapidly on vine.

Misc

Some stages have bonus areas, and you can finish the stage by playing a bonus game. But the bonus game takes about 30 seconds, so it is no use for TAS.

Resources

Here is some useful memory addresses:
$C201current form (0:Ultraman, 1:Ultraball)
$C205position x (16-bit, little endian)
$C207position y (16-bit, little endian)
$C209velocity x
$C20Avelocity y
$C518invincibility timer of bosses
I put a simple lua script to display information.

klmz: Perhaps it's level design and music's limitation, this movie lacks a comfortable pace and feels out of joint. However, it does look well-executed.
klmz: Accepted as nobody would oppose.

Brandon: Publication underway.
Last Edited by adelikat on 9/22/2023 3:20 AM
Page History Latest diff List referrers