After two short years, we once again find a way to defeat Dracula and its minions in a record time, while not hurting any of his demons nor damaging anything in his beautiful castle. This TAS builds upon all the techniques and tricks applied in the any% movie, but with extra care not to break anything. In total, 738 frames (12.3 seconds) were saved in this submission.
Category Rules
pacifist%, no enemies shall be killed or decor destroyed. Excluded from this rule are end-of-level bosses, whose death is required to advance in the game. Another exception is a trick we use in stage 4, where we whip the knight enemy to paralize him and avoid getting hurt ourselves. Should the viewers and/or the judge deem that the aforementioned trick does not belong to a pacifist category, here we provide an alternate movie where the trick is not used (which is the same strat from the previous run).
Pressing B (whipping) is allowed, as long as it does not hit anything (except bosses).
Takes damage to save time
Heavy glitch abuse
Heavy luck manipulation (uses pausing to influence enemy actions)
Story
The story of this TAS is divided in two phases, the first phase was done by eien86 and goes as follows:
The result of the first work phase was 561 frames saved. The watch the partial progress at this point, you can download the movie file or simply watch the following encode.
Phase 2 of this project was done by Challenger and went as follows:
The result of the second phase is the currently submitted movie, with 177 additional frames saved. In total 738 frames were saved in this new submission, compared to the old one.
Improvement Summary
Optimized and extended use of the Scroll Glitch: We discovered that it was possible to reduce the frames required to execute the glitch to 4 (two L presses, if walking rightwards; two R presses, if walking leftwards). This optimization alone saved several dozen frames throughout the run.
New Cave Stage (10-00) Route: we've found a way to completely avoid moving platforms in the cave stage. Described in detail below, this required a much more extensive use of the scroll glitch.
Early Orb Grab Landing: This is a new use for the scroll glitch initially theorized by eien86 and then refined by Challenger, where spawning platforms at the boss screen allows us to land faster after grabbing an orb. A faster landing enables a faster level transition, which saves a few frames.
Faster boss kills: Detailed below, we've found ways to beat the Mummies, Death, and the Cookie monster faster.
Bot: We used a bot to go optimize the established routes and try to polish the execution in many parts where frames could be saved. This included shaving off lag frames.
Removal of lag frames: we (especially Challenger) spent a lot of time reducing these.
Software + Hardware
Rom Information
Name: Castlevania (U) (PRG0) [!]
SHA1: A31B8BD5B370A9103343C866F3C2B2998E889341
MD5:00D93C9F6B8AEFB8B6C02B20147DF4EC
Emulator
EmuHawk 2.8.0 (Core: NesHawk)
Manually resynchronized by Challenger from a EmuHawk 2.8.0 + QuickNES movie.
0x0018 - Game Mode
0x0019 - Game Sub Mode
0x0028 - Current Stage
0x0046 - Current Substage
And the following criteria:
Start. Starting game sequence, including boot, pressing Start, and the walking scene.
Cutscenes. After a cutscene, the stage starts when the player gains control of Simon (Game mode: 05, Game Sub Mode: 06)
Entrance. This is the animation of Simon entering the Castle or the last level's big demon head. (Game Mode: 10)
Doors. Walking through doors is driven by a 16-frame-rule and must be taken into consideration separately. By doing this, we can see what gains were made with respect to the old movie, which were later lost due to a full frame rule not being saved. (Game Mode: 08)
Stairs. Since these transitions are not frame-rules, we count a transition when the Current Sub Stage number increases by one
Level End. The level officially ends on landing after grabbing the orb after killing the boss. (Game mode: 12, Game Sub Mode: 1)
Movie End. This category's end time is taken at the frame of the last input.
Game End. The actual moment when the game ends by grabbing the orb and landing after killing the cookie monster. (Game mode: 12, Game Sub Mode: 1)
Comparison Movie
Here is a per-level comparison between this movie and the currently published TAS:
No significant changes have been introduced in this stage.
Stage 01-00
eien86: Here, we implement an improvement originally theorized by scrimpeh, who discovered that using pauses it is possible to activate the scroll glitch while on a stair (previously suspected impossible), as shown in this video. Using our bot, we discovered that this could be further optimized by pressing L and R with a precise timing to enable the glitch without the need of pausing. With this technique, we were able to open a hole in the next screen without all the troubles that the currently published movie goes through.
Stage 02-00
Challenger: Initially we got an unwanted extra lag frame transition, but by pausing the game before finishing the previous stage, that problem can be avoided.
Stage 02-01
No significant changes have been introduced in this stage.
Stage 03-00
The early orb grab from the any% run is implemented here.
Stage 04-00
Challenger: No significant changes have been introduced in this stage.
eien86: Nevertheless, we chose to damage the knight on top to avoid getting hurt ourselves. He doesn't die, but still technically takes damage. We also provide an alternate movie where this strat is not used.
Stage 04-01
Challenger: Same framerule as always, so no improvements can be possible.
Stage 05-00
No significant changes have been introduced in this stage.
Stage 05-01
Implemented the same improvements found on the any% run: better execution of the scroll glitch.
Stage 06-00
Implemented the same improvement found on the any% run: removed an extra block to facilitate a faster jump towards the top.
Stage 06-01
Implemented the same improvements found on the any% run, but the scroll glitch was made on a funnier place:
Stage 07-00
The saved frames in this stage came exclusively from a better execution of the scroll glitch from the any% run.
Stage 07-01
Challenger: We removed a stubborn lag frame in the middle of the room thanks to better enemy manipulation.
Stage 08-00
No improvements were found.
Stage 08-01
No improvements were found.
Stage 09-00
eien86: We added a new instance of the scroll glitch to create a fake platform in the boss' room for one of the biggest early orb catches in the game, saving 7 frames.
Extensive use of the scroll glitch while jumping over an enemy was used. Since it is not possible to turn during a jump, we used precisely timed pauses to activate the scroll glitch without turning, and prevent the game from replacing the block in the next screen.
Challenger: eien86 really did a great job keeping the scroll glitch effect while crossing the entire stage and triggering the sprite limit glitch from the previous run with proper manipulation and timing, since this stage isn’t easily improvable.
Challenger: Much less waiting time, better focus, two big critical hits, early orb grab… I’m really satisfied with the new boss fight.
Stage 10-00
Challenger: While skipping the second moving platform completely isn’t possible at all, the void block we’ve included on the any% run has a significant role this time: we can achieve an alternative shortcut for the middle of the cave if we remove enough blocks and doing a damage boost from the fishman enemy - the fireball attack.
Fun fact: if the void block wasn't so small, the cave skip would be even faster by skipping half of the waiting time for the second moving platform and also reaching the shortcut without that damage boost.
The first half of this stage is very painful to optimize: lag can appear anytime and you must be careful while crossing this first part at the same time you need to perform those scroll glitches.
As soon as Simon jumps out from the second moving platform I repeatedly pause this game to prevent a floor from despawning - this one is required at the end of the shortcut. Due to the nature of the setup, removing the top stalactite at the end of the cave skip won't be possible this time, so the 'clunking' effect when he falls from a height is unavoidable this time.
Before moving forward, we must restore one of the blocks we’ve removed earlier, which is required for another shortcut near the end of the last moving platform section.
While doing the same last scroll glitch from the any% TAS, I added another pausing to avoid lag.
Stage 11-00
Challenger: Same result as the previous run.
Stage 12-00
Implemented the same improvements found on the any% run.
Stage 13-00
Better execution of the scroll glitch from the any% run.
Challenger: With precise timing and a pause manipulation, we carefully removed some lag frames too (only one remained, but this game is stubborn enough to ruin the attempt).
Stage 13-01
The saved frames in this stage came exclusively from a better execution of the scroll glitch.
Stage 14-00
Challenger: Pausing the game at the start of the stage delays the axe attack from both axe knights, allowing us to reach the stairs sooner.
Stage 14-01
The saved frames in this stage came from a better execution and a slightly changed route where the scroll glitch is used to enable the upper path, as opposed to going downwards.
Challenger: As I said on the other run, I tested the upper path during my work on both previous any% and pacifist runs, but at the time it looked slower because I thought the required scroll glitch for door glitch would require adding an extra platform, forcing me to lose more time than using the old path and waiting for the axe knight moves away.
Stage 15-00
Challenger: no improvements were found, same input from the previous run.
Stage 15-01
Challenger: If you wait a bit at the start of the room, the first axe knight will walk forward one more time, allowing us to bypass him earlier.
The medusa heads are faster than Simon (and nasty), forcing me to lose some frames just to dodge them.
Because the pacifist TAS doesn’t use subweapons, for the Death boss fight we keep the same strategy from the previous run. Eien86 improved the scroll glitch before entering the battle.
The Death boss fight is improved by doing a faster first attack using the raised platform at the same location where the boss appears, then reducing the waiting time before doing the big critical hit, and pause manipulation after the critical hit isn’t required anymore.
Stage 16-00
Challenger: This time I decided to add more entertainment for this straightforward stage by manipulating those giant bats through pressing the B button on certain frames.
While it isn't possible to pause the game at the same frame you reach an exit door, stages 00 and stage 16 exits are different and if you pause the game at the exact frame Simon triggers the exit, Simon will progress to the next stage even with the game paused!
For some odd reason you can't control Simon if you pause the game on the same frame he lands on the exit trigger (normally you can gain a frame if you press left), so in order to avoid losing a few frames, Simon jumps a frame later and loses only one frame this time.
Stage 17-00
Challenger: Because pausing the game isn’t normally possible when the screen blackouts (a.k.a screen transition, the new pause discovery turned out to be an exception.
Actually I found out it’s actually possible to manipulate the skeleton pattern, allowing us for a much faster damage boost positioning Simon very close to the stairs.
Only discovered extremely late in the progress, this improvement is also faster than the any% run!
Manipulating the skeleton is also possible without the pause trick, but getting the right pattern would require waiting several frames before finishing the previous stage. Curse you skeletons!
Stage 17-01
We wait several frames before entering this room in order to manipulate the skeletons as soon as the room loads. Double bone tossing is manipulated too for a new (and faster) damage boost recently discovered.
While crossing this room, better execution of the scroll glitch while avoiding some stubborn lags and sacrifice some frames in order to manipulate the direction of the second bird - those birds can reach the end of this room too, and I hate them so much just because you can’t dodge the second one without losing significant time.
Stage 18-01
Even with the improved scroll glitch, you must wait a bit before starting the Dracula Phase 1 fight because we need a good RNG manipulation for the second cycle.
(actually it's possible to push Simon a pixel further if you climb up the stairs a pixel later, since the Dracula RNG manipulation runs once this room loads. This idea initially worked well because you can enter the battle without waiting at all, but the improvement messed up the first cycle of the Phase 2.)
Dracula Phase 1:
I found out you can still manipulate Dracula (by pausing) as soon as he reappears while he’s partially visible. By manipulating a shorter waiting time for his fireball attack and attacking him with perfect timing and positioning, the second cycle finishes faster.
I tried keeping some health to save time during Phase 2, but unfortunately the Phase 1 battle sucks a lot with the unpowered leather whip.
Dracula Phase 2:
No pausing before the end of phase 1 is required anymore, so we can focus on the first cycle of the cookie monster battle. Pausing the game not only manipulates the jump pattern from the cookie monster but also can delay his initial attack if you pause before he lands, allowing me for an extra ground attack during the third cycle and extending the timing of the fourth cycle.
Before loading the last cycle from phase 1, setting up Dracula position is critical for a faster end input at the end of Phase 2 as the same time we finish the battle a cycle earlier.
Fun fact: the cookie monster fight could be even more faster by removing one of floor tiles, allowing the monster to land slightly lower "inside" one of the floors so Simon can attack twice for each jump. This strategy doesn't work with the leather whip because the collision detection is slightly small enough to miss the extra attack.
The raised platform speeds up several whip attacks, but the leather whip fails if Simon tries to attack while crouched - this isn't a problem with the powererd up whip, and the idea would work well while avoiding to hit that candle.
Future Work
Although this movie has been extensively refined, we are certain that further improvements are possible. Here are some ideas worth pursuing:
Better Boss execution
Boss fights are by no means proven to be optimal. There surely remains frames to be saved in the more complex battles.
Deeper bot exploration
Even though the bot helped a lot in figuring out better executions, this game is still quite complex. Especially when utilizing weapons (and several of them at a time), the exploration space becomes huge. This complicates especially boss fights, where the bot could not find any improvements at all. Either better ways to prune states, or simply waiting for server-grade CPUs to become x10 more powerful in the future could be very useful to improve those fights.
Acknowledgements and Attributions
Same as in the any% movie.
Additional recognition to scrimpeh, who theorized the scroll glitch when standing on the stairs.
ThunderAxe31: I noticed the audience seems to largely prefer the alt movie that avoid hurting the enemy in stage 4, so I asked to the authors if they wish to replace the submission file. They both agreed.
File replaced with the provided alt movie provided by the authors, and accepting as improvement of the current publication.
Yo, what was that cave strat, god damn.
Excellent work once again. I'm incredibly glad to see all the new tech come together in this run, and the end result is once again fantastic.
That said, I personally do disagree with hitting the Armor Knight in Stage 4 to get past him quicker. Because it's the only instance where a non-essential enemy is hit, it sticks out like a sore thumb. Since all it costs is 11 frames, I do believe you should just wait for him to pass.
Still, solid yes vote. This was a fantastic year for NES Castlevania.
Most definitions of pacifism I've seeen refer to killing being unjustifiable even in self defense. Because the knight was hit, but not killed, and only done to avoid damage I think it still fits.
Joined: 10/17/2005
Posts: 632
Location: Seattle, WA
Your Introduction says hurting is not okay, your first category rule says only killing is not okay, and your second category rule goes back to saying hitting anything is not okay. Feels inconsistent.
I still get annoyed when I think about that one "Zipless" Sonic TAS that uses zips in the last couple levels, just because they could call them by a different term. oh god that was 12 years ago jeez let it go, twistedeye
I also feel like "pacifist" implies no damaging non-required enemies for any reason, so that's my vote. (lmao not serious here but: Suicide in the final stage, does that still qualify as pacifist if you're killing...yourself)
Watched the whole run and whatever any thoughts on the knight whipping are, the run is really well made and a solid watch. insert thumbs up emoji here