Castlevania II: Belmont's Revenge is the second Castlevania game on GameBoy and the sequel to Castlevania: The Adventure. This movie aims to complete the game as fast as possible, saving over 20 seconds over the previous run.

Game objectives

  • Emulator used: BizHawk 2.3.0, Gambatte Core
  • Aims for fastest time
  • Takes damage to save time
  • Ends input early
  • Genre: Platformer

Comments

This is Castlevania: The Adventure 2: Belmont's Revenge. Or something. I can never quite recall the name of this game properly. You take control of Christopher Belmont, who's out to vanquish Dracula once more, because once wasn't enough. This is also an improvement of 1876 frames over the previous run of this game by zggzdydp, owing to new strategies, damage routes and better optimization. Comparing exact timing is difficult however, as VBA-rr appears to run at 60fps, whereas BizHawk runs at about 59.7fps, adding some seven seconds to the total completion time over the course of the run. Additionally, I lose about 330 frames from the GameBoy BIOS screen, making the improvement look smaller than it really is.
This run plays on the J version of the game. The main difference between the J and the U versions is the cross subweapon, which has been replaced with the axe in U. The cross works more or less like you would expect it to, but I can only have one on screen out at a time. Due to the small screen size and long hit invulnerability times for enemies, the difference between the cross and the axe is really not as large as you would expect. While there are some points where the axe's trajectory comes in handy, the cross still overall comes out ahead as the more versatile and useful of the two subweapons, mainly due to the boss fights. There's also the holy water in the game, but it's worthless. It arcs too high to be useful for hitting things below you, and too low to be used as a pseudo-axe. It also does no damage whatsoever, so I never bother with it.

Movement Optimization

This game has subpixels. Christopher's movement speed while going forward is a brisk 144 subpx/frame, and climbing up ropes it's a blazing 96 subpx/frame. At least, you can slide down ropes fast at 2px/frame. When you move this slow, subpixels really begin to matter, as there can be up to two frames between the best and the worst subpixel position. Christopher's Y subpixel component is not reset when landing on the ground, so I need to make sure I approach ropes with a Y subpixel component of 0 - 9 to not lose frames. When Christopher whips in midair, his Y speed is suspended for one frame. Not only does this extend his jump height, but it also allows me to control his subpixels on landing. On each frame in midair, 37 subpixels are added to Christopher's Y speed, so by using the whip on different frames, I can adjust his subpixels in increments of 37 subpixels. Landing from a jump normally costs a frame, but if Christopher's feet get embedded in the ground on landing, the game puts his feet back on the ground, which often (but not always) costs an extra frame. Because of this, I need to carefully route out my vertical subpixels in many sections, such that I never clip into the ground, while still having exactly the right subpixel position at the end of the section to climb up some rope. If you see me jump and whip in the air for seemingly no reason, adjusting my Y subpixels is usually why. It's not always possible to get the optimal subpixel route, forcing me to lose a frame to either a rope climb, or clipping into the ground.
As for horizontal subpixels, there are only few ways to adjust them, but it can be important sometimes. Jumping onto ropes will change Christopher's X subpixels, as will jumping into doors at different frames. The latter usually costs some frames, so I don't use it in this run. Lastly, vertical and horizontal moving platforms can be used to adjust Christopher's Y and X subpixels, respectively.

Attacking Optimization

Enemies have stupidly long hit invulnerability times, such that it's actually possible to whip faster than they can take damage. Because of this, it's often faster to just damage boost through them than to fight them, making damage routing crucial to the run. If you take damage as you clip into the ground, you avoid all knockback, allowing to lose just 1 - 2 frames to a damage boost. This is not always possible, such as if the enemy is moving toward you, or if there's not enough space to jump before it. At this point, the next fastest option is to turn around right before the enemy and take damage backwards, which typically loses 3 frames.
If you stand on the ground as you take damage, you get knocked back in a high arc, whereas if you jump, Christopher will be knocked straight down. Christopher has a very short hit invulnerability period, but it only starts once he lands on the ground, so sometimes, I deliberately use the ground knockback to make my i-frames last longer.
A lot of enemies have several attack patterns, which depend on what frame they come on screen on. This may result in me delaying entering a room for one or two frames to get a more favorable pattern.
Like zggzdydp, I don't bother with the whip fireball upgrade at all in this run. It does much less damage than your regular whip, and it has the possibility of hitting the enemy before your whip hits it, triggering its invulnerability early, thus inadvertently gimping your whip.
It's also worth noting that your hitbox follows your visual sprite very closely, which means that whipping in midair actually extends your hitbox both up and down. This sometimes prevents me from using my whip when I want to.

Tricks

Subweapon Delay

If you get hit while throwing a subweapon, your subweapon throw animation is interrupted, but the subweapon is still primed to fire. You can then fire the subweapon by walking uninterrupted for a specific amount of time, climbing, or instantly unleash it by using the whip. Jumping, or stopping your walking/climbing animation for a frame delays the subweapon throw. This allows me to prime a subweapon and hold it for a moment where it would be inconvenient to go through the animation again. This has a couple of applications throughout the run. Going through a screen transition discards the primed subweapon.

Platform Shuffling

This only works in rooms where the camera can scroll. The position of all objects in the level, including Christopher, is stored as a combination of Camera Position + Camera Offset, with individual subpixel components for each. When riding on a horizontal platform, it's possible to abuse how the game calculates the position of the objects relative to each other to make the platform move faster than it is supposed to. This is done by walking and stopping in a specific rhythm, and can be done in both directions. This saves up to 50 frames on every platform it's used.

Ropeboosting

Jumping on ropes moves Christopher forward several pixels, saving between 8 - 10 frames for every rope. Christopher also gets moved further toward the edge of the camera, which may or may not be helpful.

Stage by stage comments

Cloud Castle

The stage routing mostly came down to which stage I can get a cross in the easiest. I experimented with various stages, but in the end, like with zggzdydp, going to Cloud Castle first won out. Going to Rock Castle first to get a cross is also possible, but likely slower. After this, it's just down to following the default cursor position on the map screen.
Right off the bat, I have a room with crows and lag to deal with. Jumping manipulates the first crow to go higher, missing me, while the jump after that is for minimizing lag.
I choose to forego the damage boosts against the knights, as picking up the porkchop later is slower. I also have one more health point overall, which I can use later to get past the Knife Enemy faster.
Whipping in midair allows me to beat the spike floor cycle, saving a bunch of time.
The boss goes down much quicker with the cross, since I can use it to hit one of the heads, while working the other with the whip. It's still lag city, but the fight goes much faster than in the previous run.

Crystal Castle

By landing in the water on even frames, it's possible to avoid the current pushing you backwards. Careful manipulation of vertical subpixels is required for this. I lose 3 frames from not being able to kill the crow with the axe.
The damage route ended up being the same as with zggzdydp, but with more tricks to go on
The boss pattern is entirely fixed, and his invulnerability time is just barely too long to allow for a 2-cycle.

Rock Castle

Not much to mention about this stage. I destroy a candle at the end of the of the third section to make the screen go dark. Somewhat counterintuitively, this prevents a bat from waking up, allowing me to save a jump.
For the boss, I want to prevent him from swinging his sword, because that delays him from walking to the center, which he needs to do anyway for the second phase to start. It doesn't matter if I delay my hits for this, as the boss will walk to the center of the screen regardless. I also delay my final hit to save some lag. The second phase is all about having a source of damage in his hitbox as his invulnerability runs out. I need to save 2 HP for this, as it's not possible to stay on him otherwise.

Plant Castle

Awful stage, this. Full of annoying enemies, difficult planning, and lag. To begin with, going the upper route in the third screen is slightly faster, although having to kill the eye with a cross kills most of the improvement.
In the vertical climbing section, I use the skeletons for some vertical damage boosts up the rope, which is slightly faster than climbing. There's plenty of health in the stage, so I can afford to be loose with HP.
The spiders are peculiar. Each spider will activate once it comes fully on screen, after which point it will lower after a set amount of frames has passed, which is unique to each spider. Because of this, I forego doing rope boosts in the early part of this screen, as that wouldn't advance the camera anyway. I liberally use damage here to make it onto the ropes quicker. There's also a secret block containing a 1-up. Destroying it allows me to jump off the rope quicker, saving time overall.
Using a cross to destroy the Spitter projectile saves a frame of lag as the boss activates.

Castle I

This stage features a significant new shortcut. I tried so hard to find a way to beat the spike cycle in the second section, and, under the absolute optimum circumstances, it's just barely possible. To begin with, I need to have the optimal X subpixel position going into this room. I then need to take damage on the rope from one of the spitters to get up the rope quicker, but even then, the jump just barely falls short by some 16 subpixels. Thankfully, this is where I have an ace up my sleeve: By pausing the game, it's possible to delay the spike timer by some 3 frames, which just barely gives me the extra distance that I need to clear the gap.
Clearing the spike cycle saves 6 seconds, but it comes at some significant costs: I need to sacrifice 61 frames worth of damage boosts at the beginning of the level, the damage from the spitter projectile downgrades my whip, which I must reacquire for 65 frames, and pausing itself costs 61 frames. Overall, doing this skip saves 3 seconds though, and it avoids a ton of waiting.
The boss is entirely fixed, but making each cycle is very difficult due to the wide distances you have to cover. It is also very laggy, so several actions are taken to minimize lag during this section.

Castle II

At this point, the game becomes insane with everything that it throws at you. To begin with, I make use of several hidden porkchops, which allow me to take damage from the crushers, getting past both of them much quicker.
In the second half of the stage, I entirely follow zggzdydp's damage route. The big rope room is very laggy, and I have to slow down occasionally, as cutting lag is faster overall than climbing. At the end of the stage, you come across a handful of spiders. I make sure to scroll all of them on the screen as fast as possible, making them drop down significantly quicker than previously. I also directly kill a spider without waiting for it. Christopher can't hold on to the rope, but you can jump from it on the first frame that you grab on to it.
Finally, we reach Soleiyu, the stage boss. He's very tough and mobile, and hard to hit. If you are within a certain distance to him, he will stop and whip, otherwise, he will move across the screen and throw knives occasionally. If you are on the lower parts of the stage, your whip won't reach him, but your crosses will. My objective thus is to get him to the right edge of the screen as quick as possible, and keep him there, so that I can pelt him with crosses.
You also get a really short timeframe between Soleiyu dying and the stage ending, so I don't have a lot of time to get rid of excess crosses, making heart planning crucial for this stage.

Dracula

This is the final boss, Dracula. He spawns in fixed locations, where he remains for a fixed amount of time. The orbs he spawns around himself act as a shield which block the whip. They also produce an ungodly amount of lag doing so, so minimizing lag is imperative for this section.
I decided to end input on throwing the final cross. This delays his final hit for a bit, but shortens the overall completion time of the movie. With all that, Dracula is vanquished once more, and the game ends.

Other comments

And that was Christopher Castlevania 2: Electric Boogaloo. I'm overall pleased with how the movie came together, but there are a bunch of loose ends that bother me. If you want to improve this movie, here are a few places where you might want to start looking:
  • It might possibly be faster to go to Rock Castle first after all. Getting a cross there loses 11 frames, but it might possibly make up that time against the knights in Cloud Castle.
  • If there's many enemies left on screen, there may be an extra frame of screen transition lag. I didn't account for this until late in the movie.
  • Take more damage boosts on ropes, in particular in the big vertical room in Plant Castle
  • Taking damage from the Sickle Guy in the spike room in Castle I in a better way could allow Christopher to make the spike cycle without having to pause. This would save 61 frames
  • I hadn't quite figured out the optimal pattern going left for platform shufling in Crystal Castle yet, resulting in me winging it in that spot. I might've lost some frames there.
  • There's another damage boost in Castle I that I didn't go for, in the third room of the third section. By taking damage from the large bat in the room before, it's possible to go through the spitter. By then taking damage from the spitter itself in an optimal way, it's possible to clear the jump to the moving platform early, which would save around 20 frames. However, to do this, I would need an optimal X subpixel position, which is incompatible with the spike room strat before it. There's no fast way to adjust X subpixels after the spike room, so I had to forego it.
Nevertheless, I hope that you enjoy watching the movie. I'd like to thank zggzdydp for his previous run of the game, which served as inspiration and reference to mine many times over. I'd also like to thank Nach, who originally suggested the game to me on IRC. Lastly, shoutouts also go to FerretWarlord for listening to me yammer on about how much I hate this game on IRC. If you have any questions about the run, be sure to ask them, and I'll be happy to answer.
Until next time
-scrm

Nach: This is a great improvement. There's a lot less down time waiting for stuff in this run, and it's more entertaining too. Great feedback. Accepting to Moons.
fsvgm777: Processing.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15619
Location: 127.0.0.1
This topic is for the purpose of discussing #6175: scrimpeh's GB Castlevania II: Belmont's Revenge in 24:41.18
Challenger
He/Him
Skilled player (1702)
Joined: 2/23/2016
Posts: 1064
Haven't watched this game (and the published run), and despite slower pace, I liked it. Also I'm surprised to see pausing on a GB Konami game, since I thought that only could works with some NES Konami games. Different subweapon between JP and US version? Cross is most useful ;) Nice work and yes vote.
My homepage --Currently not much motived for TASing as before...-- But I'm still working.
fsvgm777
She/Her
Senior Publisher, Player (226)
Joined: 5/28/2009
Posts: 1215
Location: Luxembourg
Awwwwwwwwwwwwwwwwwwww yeeeeeeeeeeeeeeeeessssssssssssssssss! Note to other encoders and publishers: I'll be encoding and publishing this movie once it gets accepted.
Steam Community page - Bluesky profile Oh, I'm just a concerned observer.
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
This run is quite good. You can easily see the optimization in some of the levels. Entertaining fights too. In Dracula Castle 1, when you get hit by an orb, you lose the morning star chain whip, and become downgraded. You re-upgrade it a moment later, but I'm wondering if there's any advantage to perhaps upgrading it earlier in the level, and then losing it here when you're sort of forced to take damage.
Challenger wrote:
Different subweapon between JP and US version? Cross is most useful ;)
Therefore they can both be TAS'd if each is used in each (boomerang is used plenty in this version). Movie Rules wrote:
If there are significant in-game differences between different versions of a game, movies which take advantage of such differences can be published side by side. This can include things like different weapons or routes available to the player, different levels being present, or different bosses fought.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Editor, Skilled player (1441)
Joined: 3/31/2010
Posts: 2112
Oi, thanks lads. Appreciate the response.
Challenger wrote:
Also I'm surprised to see pausing on a GB Konami game, since I thought that only could works with some NES Konami games.
It was your Castlevania pacifist WIP that inspired me to try this. I was bashing my head against the wall trying to find a way to make the cycle skip work. Just before I resigned myself to just waiting for the cycle, it occured to me I could try pausing in this game as well, so this one's all thanks to you.
Nach wrote:
In Dracula Castle 1, when you get hit by an orb, you lose the morning star chain whip, and become downgraded. You re-upgrade it a moment later, but I'm wondering if there's any advantage to perhaps upgrading it earlier in the level, and then losing it here when you're sort of forced to take damage.
I wanted to do this initially, but then I realized I had to take damage from the second orb as well, which would downgrade my whip twice, as the spitter fires it in an inconvenient moment. I have to kill the first orb, because otherwise it would get in the way when I tried to jump over, and the only way I can do that is with the cross, leaving me with no choice but also take damage from the second orb. (Also, no, the holy water doesn't help here. I tried)
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
Okay, that's what I was thinking. Thanks for confirming.
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2227
Location: Georgia, USA
This is a way underrated Castlevania game that I loved as a kid, so this run was really fun to watch. Nice exploit with the moving platforms, and the Cloud boss fight was amazing with the cross. I still love how creepy the atmosphere is in the final walk to Dracula in this game.
Used to be a frequent submissions commenter. My new computer has had some issues running emulators, so I've been here more sporadically. Still haven't gotten around to actually TASing yet... I was going to improve Kid Dracula for GB. It seems I was beaten to it, though, with a recent awesome run by Hetfield90 and StarvinStruthers. (http://tasvideos.org/2928M.html.) Thanks to goofydylan8 for running Gargoyle's Quest 2 because I mentioned the game! (http://tasvideos.org/2001M.html) Thanks to feos and MESHUGGAH for taking up runs of Duck Tales 2 because of my old signature! Thanks also to Samsara for finishing a Treasure Master run. From the submission comments:
Shoutouts and thanks to mklip2001 for arguably being the nicest and most supportive person on the forums.
Skilled player (1673)
Joined: 7/1/2013
Posts: 452
fsvgm777 wrote:
Awwwwwwwwwwwwwwwwwwww yeeeeeeeeeeeeeeeeessssssssssssssssss!
Seconded.
Editor, Emulator Coder, Expert player (2159)
Joined: 5/22/2007
Posts: 1134
Location: Glitchvania
Yes vote. Could pausing affect boss cycles?
<klmz> it reminds me of that people used to keep quoting adelikat's IRC statements in the old good days <adelikat> no doubt <adelikat> klmz, they still do
nymx
He/Him
Editor, Judge, Expert player (2246)
Joined: 11/14/2014
Posts: 933
Location: South Pole, True Land Down Under
I don't know Castlevania games as much, but this run is getting me more interested in learning them. As the game progressed, I got to see more and more tricks. The management of HP and use of weapons was very clever. Yes vote.
I recently discovered that if you haven't reached a level of frustration with TASing any game, then you haven't done your due diligence. ---- SOYZA: Are you playing a game? NYMX: I'm not playing a game, I'm TASing. SOYZA: Oh...so its not a game...Its for real? ---- Anybody got a Quantum computer I can borrow for 20 minutes? Nevermind...eien's 64 core machine will do. :) ---- BOTing will be the end of all games. --NYMX
Editor, Skilled player (1441)
Joined: 3/31/2010
Posts: 2112
klmz wrote:
Yes vote. Could pausing affect boss cycles?
I've tried pausing on the Crystal Castle boss, but it doesn't seem affected by it, unfortunately.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15619
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [3850] GB Castlevania II: Belmont's Revenge by scrimpeh in 24:41.18
EZGames69
He/They
Publisher, Reviewer, Expert player (4467)
Joined: 5/29/2017
Posts: 2764
I got this movie to sync in the latest Dev build for Console verification purposes: http://tasvideos.org/userfiles/info/61679872288506731
[14:15] <feos> WinDOES what DOSn't 12:33:44 PM <Mothrayas> "I got an oof with my game!" Mothrayas Today at 12:22: <Colin> thank you for supporting noble causes such as my feet MemoryTAS Today at 11:55 AM: you wouldn't know beauty if it slapped you in the face with a giant fish [Today at 4:51 PM] Mothrayas: although if you like your own tweets that's the online equivalent of sniffing your own farts and probably tells a lot about you as a person MemoryTAS Today at 7:01 PM: But I exert big staff energy honestly lol Samsara Today at 1:20 PM: wouldn't ACE in a real life TAS just stand for Actually Cease Existing