A very warpy run of Castlevania Portrait Of ruin, with Holy Claymore

Game objectives

  • Takes Damage To Save Time
  • Aim For Fastest Time
  • Abuses Programming Errors
  • Uses Game Reset Sequence
  • Use Warps
  • Manipulates Luck
  • Emulator used: DeSmumME 0.9.2-RR (build 08/05/09)
  • Unofficial Encodes[1]
  • Frames:42021 Lag:6188 Re-records:44745
  • Ingame Time after ending/saving: 8:18

About the Game and this Run

This game is a direct sequel to BloodLines on sega Genesis, its the second title released on Nintendo DS after Dawn Of Sorrow.
The action take place after the second world war, Dracula raise from dead given the immense power of souls coming from wars sequels.
To stand against him, Jonathan Morris (Son of John Morris from BloodLines) wield the ancestral Vampire Killer, he's helped out by Charlotte Austin, a powerfull mage student.
You are also helped by Vincent sent by church and Wind, a mysterious spirit who happen to be Eric Lecarde (playable character in Bloodline).
The vilains are controlled by a vampire called Brawner, his direct subordinates are Lecarde's Sisters (twin daughters of Eric) who seem to have fall in Brawner's evil hands.

I started to work on this game directly when Desmume emulator went available to public (see thread).
Theres at least 2 main reasons; I did like playing this game (unassisted), also because its by far the most glitchy castlevania on DS.
I made first a test run, to see if all was ok for the route i was planning, then optimized as much as i could once all errors where found
Luck manipulation in this game is not easy, almost nothing roll up RNG, alltought, by manipulating and dropping Final Sword it its probably possible to take a better route [2]
Instead of working for unknow time on droping that sword, i did rather put efforts on this route and tryed to optimize it.
This movie took me 3 week to complete, counting the test run, the total rerecord count included about 12k from it.
The ending is skiped to allow watching the staff credits, the ending is composed of dialogues that require input to be watched, if you consider last strike on dracula to be the real time ending, its around 10 second before movie ends.


Glitchs

As you might see for yourself while watching the video, this game is having quite a bunch of glitchs available.
A warpless run will probably demonstrate even more, as the engine is realy a glitch fest.
A good thing about glitchs in PoR, is that they are generaly easy to perform.

Suspend Glitch (SG)

For short, this (very powerfull) bug let you warp all around the castle map, vertically, or horizontally
The setup for this is very simple, you just need to have saved your game once (available on first save room)
It will work on any right side doors, move your character to the closest position possible at door, facing it, without entering next room
Real time it can be a tricky operation, but a baby can do it, notice the map will indicate your position on next room (thats the bug...)
Suspend, load the save, if correctly executed, you will repear in next room

Vertical SG

If the next room was a single width room (save rooms, vertical corridors ect...), and that its own right side is a wall, you will be launched trought the ceilling at high speed
You can generaly cancel by dashing left (if you got lightning reflex), youll reaper inside the room simply, note that only dash movement is possible in that type of SG
If you dash right, youll advance on map horizontally too, but very slowly, about 2/3 block per trip
Once you reach the top of the map (this happen very fast real time), you need to wait 3 more flip over the castle or the game will freeze upon next suspend (doesnt happen in this movie)

Horizontal SG

To be allowed to travel horizontaly, the right side of the room where you first suspended need to be an outside screen
You will reaper generaly outside, and from there, the outside area (offscreen) become a infinite corridor (actually stop when you flip the castle and come back to origin point)
Those familliar with 0HP glitch in AoS will understand the concept of infinite corridor i think
There is a couple of possible place to trigger this, but the one i use in entrance is more likely the most interresting for speedruns
Note: simply exiting outside (trough other glitchs) will have the same "corridor effect"

When you are at the desired position on map, suspend, load, your are now at the destination room

SG bug is (ab)used 5 times in this run
  • The first let you access near shop without triggering chase event with first boss
  • The second let you bypass boss 1 and 2, going directly for sandy grave
  • The third let you bypass whole sandy grave upside level and from the underground passage go straight to boss, within just 1 warp
  • The fourth is a shortcut after coming back from sandy grave to access directly Lilith (and get cursed), this goes faster than to walk to it
  • The last warp near sandy grave goes straight to throne room and final boss

Quest Glitch

This is the infinite money glitch, its very simple again, all you need is to have a quest to accomplish from Eric (Wind)
Complete your quest, come back to Eric, in the menu now the quest is highlight in green
Talk once (push A), youll be told that you did a good job
Talk again, it will say "you received xxxxx"
Dont talk anymore (your suppose to but...), simply press start to exit the menu
You have the reward in inventory, but if you talk back to Eric, the quest is still here, and green (completed).
Repeat for profit!

In this run, this is used to generate 487500$, witch allow to buy the holy claymore (strongest sword in the game, with holy attribute)
I use the curse quest, for few reasons:
  • Its the first quest that give a sellable reward to shop
  • It only require to kill one boss (Astarte) to trigger the quest
  • Astarte is compatible with darts subweapon
  • Its ridiculously easy (get curse and talk back to Eric...)
  • Even more easy considering theres one Lilith ennemy (can curse you) very near Eric
The reward is the Blessed Ring, it worth 12500$ when you sell it back to Vincent (shop)
Holy Claymore cost 300000$, but you need to spend 250000$ before its available to buy
Trought selling back what you bought, end up getting 39 rings in total, witch make 5 trips (3 using tickets) from Eric to Vincent
Using wifi would be faster, since you would farm more shop point by selling to another player

Partner Double Jump

You can get a double jump by switching after having call your partner, and using stylus.
First call your partner (A), then with stylus make him jump, when hes about to reach full jump, switch partner (X)
Youll take back control, now jump (B) and you should perform a double jump
I say should, because in practical speedrun what happen is the following
You are Jonathan and Charlotte is not call yet, you are using switch backdash ect...
  • Call partner Charlotte
  • Switch partner from Jonathan to Charlotte
  • Make Jonathan jump with stylus
  • Switch from Charlotte to Jonathan
  • Double jump with Jonathan
I use this only one time, on my way to dracula, the plateforms are too high for single jumping
You could ask yourself why i use this (slow) way rather than sword double jump (see above) for this plateform
If you look closer to the situation, youll see that i need to go forward a lot to reach the skeleton while jonathan actually jump directly, all in all, i dont go faster with sword jump

Sword Double Jump

After jonathan swing the sword, when you hit an ennemy you will have instantanous switch available, switch to charlotte, you now have a double jump
Notice that you dont get an extra jump every time you switch, you need to land on floor once to get again an extra jump available (see comments on dracula/death)

Sword Cancel / Fast Switching

I put this here because i dont see how it could be a "feature" of the game, switch having only 15 frames of cooldown could be sayd its an oversight, darts cancel can go same, but sword cancel sound like a bug to me, at least when its executed at such insane speed
More to come later, plz be patient


Other Infos

Just a few words on how movements are working as well few others details

Partner Call

Press A to call your partner for help, you will act as a team
The stylus control the second character, alltought the IA will also try to control it if you dont do anything(generaly not like you want of course)
Aim upward of the second character to make him jump, to make him attack aim for floor (best seem to aim at floor under the target)
In this run the partner call is mainly used against the first ennemys up to the first boss, to boost up damage output by having 2 attacks at once
Switch cost about 40 frames while partner is called (small freeze on screen)
If a level up occur just after a call, freeze is reduced to 10 frames, i take advantage of this on first ennemys to position charlotte ahead while johnattan spam darts, despite lags from darts, it goes faster

Partner Switch

Press X to switch from one to another character, this can cancel a backdash, a dash, an attack, a landing (well, mostly anything except spells)
15 frames of cooldown before you can switch again
Hitting a target with a weapon (or dash) will instantly cooldown switch
You cant switch "in air", alltought when you hit a target in air, you have about 10/20 frames oppertunity to switch
Partner switch is much abused in this run to improve movements as well as fighting

Backdash

The most effective way to backdash is: backdash-jump-10blanks
This will force the direction of the jump (backward).
If you was facing undesired direction before backdash;
-under movement, you need an extra input for new direction before (re)starting the loop
-from stop (no movement previously), you can input the direction at the same frame than you backdash
This loop is mainly used in the first room of the game, slopes or when partner is call
Backdash can cancel an attack, depending on timing you use backdash, you can totaly cancel the hit or preserve it

Partner Backdash

One way to cancel the backdash is to switch partner (X)
This pattern seem the best: backdash-jump-10blanks-backdash-5blanks-partner
This is the main movement used in this movie
I scripted different pattern in the 3000 frames corridor warping, and this one did win "the race"

Dash

A dash can cancel backdash (no delay), in most cases you can choose direction of the dash, alltought, it doesnt goes as fast as a backdash
Jonathan got a rolling movement on slopes, witch doesnt seem to be faster than regular dashing

Raising Slopes

Depending the variation of the slope angle, it will reduce the ammount of blank frames within a standart backdash/jump loop
Only 2 blank frames for 45° slopes
You will get more speed just doing the backdash loop and not using switch at all

Descending Slopes

In order to avoid doing long (and slow) jumps in descending slopes, i use the switch with longer backdash, i also combine it with dash
I generaly stop the dash when im back on flat floor

Landing on floor

You can switch partner 1 frame before you touch the ground (after been tossed from ennemy, jumping or whatever)
Alltought, at the next frame, if you wasnt "high" falling (trigger another animation), youll have control
This mean switching is costing no (nor winning) frames when you land on floor and cancel high falls
If you are falling from high, a dash can cancel the animation too

Darts

The Dart subweapon is the best choice to beat Astarte boss, only cost 5mp per use, also usefull on few monsters i kill before boss
You can cancel the animation with a backdash, the dart is sent on the frame you attack, so its a constant and looseless backdash + attack
The drawback is you can only have 3 darts at max on screen, also, the game lag when it draw the mini-target effect, witch seem to be 3D somehow
Note that darts are not working on any ennemy, extra damage is dealt only on those having the mini-target effect (obviously dracula/death are not)
Just a quick note to inform that most of the menus (shops, quests, equipment ect...) are reactive to stylus, thus combined with pad it allow generaly to speed up compared to just using pad (since you dont care anymore of the selection cursor and jump to desired location trough stylus)
Note that R+up/down scroll a screen in shop/equipment lists, also, when you sell 9 items of a same kind, if you scroll the screen before you cant use the pad/stylus combo, for some reasons, the stylus will only work for stacking items if you dont scroll previously, this is the reason why i sell directly every useless items on my first trip for money glitch

Luck Manipulation

There is no luck manipulation in this run, unlike some other castlevania, there is no critical hits in the game
Alltought, apparently the spawn position of ennemys is frame rulled, i take advantage of this on the third room of sandy grave, to get the "wheel" ennemy to spawn in good direction
Unlike AoS, DoS, SOTN ect... generating dust (dash), attacking, candles, backdash or even switching/calling caracter doesnt roll up the RNG
On this run's route, the only worth drop would be the Axe weapon from axe knight in Entrance
See Final Sword route[2] for a run where luck manipulation would be mandatory

Ram Watch

Some Address:
  • RNG: 020F627C, hexadecimal, 4-byte
  • Death HP: 02101328, 2-byte
  • Dracula HP: 021011C8, 2-byte
  • True Dracula HP: 02101068, 2-byte
  • Velocity Right (X): 020FCABD, 2-byte
  • Velocity Left (X): 02111A15, 2-byte
  • Some CheatCodes

Shopping list

Sell price is bought price /4
Note that i get a 2000$ bag in sandy grave and you start game with 1500$
  • Buying
    • 10 Tonics 4000$
    • Castle Map1 100$
    • 3 Magical Tickets 3000$
    • Myko Dress 5800$
    • Pearl Ring 9800$
    • Master Ring 200000$
    • Paludamentum 15000$
    • 11 Shuriken 11000$
    • 1 Dart 1000$
    • Rock Riot 1000$
    • Holy Claymore 300000$
      • Total bought: 550700$
  • Selling/re-selling
    • Castle Map1 25$
    • Headgear 125$
    • Short Sword 100$
    • Diamond Brooch 6250$
    • 8 Tonics 800$
    • Master Ring 50000$
    • Pearl Ring 2450$
    • 39 Blessed Ring 487500$
      • Total sold: 547250$
3500+547250-550700 = 50$ left in pocket

Stage by Stage Review

Entrance

Very straightforward, in second room collect both relics, first one give partner switch, second one give partner call
Call partner on bridge switch for the bridge to open, then proceed to first save room, with short sword an tome of arms1 on the way
Ennemys are worth nothing in term of exp (4 for zombies...) so i just use them as damage boosting
After saving, use the first SG, reaper 3 room above
Activate entrance warp portrait, pick up headgear on the way
Get up to the shop, triggering & skiping some dialogues on the way, then buy:
-1 Tonic
-1 Dart (subweapon)
-1 Castle Map
For a total of 1500 gold, witch happen to be the starting stach :D
Get Lizard Tail (dash relic) reward from Eric
SG in the room whe did warped to previously and long travel (1min backdashing) to Great Stairway
At the same time whe suspend to exit, equip short sword, tome of arms1, headgear and dart

Great Stairway

Very straightforward again, rush your way to sandy grave portrait, killing five ennemys on your way witch top you to level3
Note that trying to use plateforms went slower than waiting for floor to break, so i wait for it to break
I could get that pair of boot without loosing (lot of) time, but i will not realy have a oppertunity to use or need them, so its a waste

Sandy Grave

Very straightforward like ever, goal is the boss
Few mumies and the wheel top you to level4, witch is realy needed for clearing fast the boss (lvl3=19dmg-lvl4=23dmg/per dart)
I manipuled a bit (frame rule, not rng related) to get the mummy and wheel to spawn like i wanted by wasting 1 frame on third room
The wurm went tricky to get tossed on right side, the diplo ennemy at bottom stairs was also not easy to get by without getting hurt/slowed down
SG to the boss room directly and fight :D (other route require 2 warp, witch consume lot of time to reload game)

Astarte (boss)

The ammount of lag here is realy important, and its generated from the small targets in 3D after a dart hit
Notice you can only have 3 darts on screen at the same time, this is why at first i try to keep short distance between me and boss, when its near me, i dont jump anymore and call charlotte
Even if i dislike the last blow on boss (a dash!), i tryed for hours to beat myself without any success, i will blame lag for this
A more stable 3D engine will more likely optimize better this boss, alltought, i think it went quite well for this movie
Sadly you cant suspend after killing boss, you have to pick up "the ball" regarless, then after just use warp room to go back to begin and use portrait to go back into castle

Great Stairway

Back here, rush to activate (and use) the warp room just left of sandy grave portrait

Entrance

Now our goal is to complete the curse quest, unlocked by killing Astarte, to glitch it up and get our holy claymore
First whe head to the shop, use SG to reaper in front of Lilith, get curse from her, and go back to Eric for profit
Not using SG went slower in my tests, i couldnt reach it as fast as the SG do
After selling 39 rings with quest glitch, buying and re-selling stuff, i have exactly 300050$ and get the holy claymore
Head to warp room and go back to stairway

Great Stairway

Just rush up the final SG to access final boss
I gain level 10 without loosing time on my way, i use partner double jump and sword double jump glitchs for plateform (unreachable within single jump)
The skeleton could be a potential target for using also sword double jump, but looking how far i need to go to reach it, then jump back at platform, more likely its slower
On the second case tough, since i had one of those flying monster just near the plateform, it was worthy to use sword

Throne Room

Regardless your map was pointing on a bottom room of that open space, youll reaper in the dialogue sequence at stairs
Directly heading up you meet with dracula and death

Dracula & Death

Dracula have 6666HP, Death have 4444HP, holy claymore deal 67 to death, 56 to dracula
Maths tell us its not worthy to try fighting dracula, obviously
Whenever i hit dracula, its coz hes on my way, or that i want to switch, i dont aim at damaging him at all
So here i had to use a lot the sword double jump, reason is, to be able to spam switch, i need charlotte to hit death too
Charlotte from her own height, cant even hit him, so first i need to gain a double jump (or hit a candle/dracula) before i can spam switch
I use the backward slash animation nearly all time, the hitbox is slightly different than forward slash, they are of same size apparently, but are not alligned the same
I use it mainly because, from a backward slash you hit death from farther than forward (sound silly i know), as in, i can go slitghly forward and keep distance (remember death is chasing me)
In a forward slash i would need to go backward, witch is definitly a problem since its slower, as in, the hit happen later on, witch would need me to be closer to death
More to come later, plz be patient

True Dracula

He get 6666HP (regardless you hitted drac before) and you wont be able to manipulate him to avoid his 3 "wings" spells
Those finger things does show damage, like i would hit something, but it doesnt affect at all dracula real HPs
More to come later, plz be patient

Improvements, Credits and Unofficial Encodes

Final Sword route

[2]One way to obselete this movie by route means is to manipulate luck on the Final Guard to drop a Final Sword, on a frame war im not quite sure where to look for improvements, i would rather wait a stable 3D engine to remove all those lags around
The Final Sword weapon is far less powerfull than Holy Claymore (26vs67), alltought, you are basicly skipping the whole game and thus will save time over my movie, if the manipulation doesnt cost too many and that Dracula (epic!) battle doesnt get too long or troublesome
Final sword is also a long sword like claymore, regard this, you should be able to reproduce nearly the same fight than my movie, trought abusing fast switch / cancel sword and extra jump
Taking in consideration that the "regular" ways to manipulate RNG doesnt work in PoR, i stoped at Final Guard, an exemple dsm is available here
Notice that a few frames can be improved in this exemple movie, symply by using stylus instead pad in menus (its something i founded just before doing the refined holy claymore run)

Credits

A big thanks to klmz for help provided on this game, to optimize movements, checkind damages on dracula, route strategys, and many others things
Thanks also to pirate_sephiroth, atma and castastrophe for memory search/cheat codes
Serris, persona, satoryu and whoever helped in building the original holy claymore speedrun route
And finaly the whole desmume team making DS tasing reality, more particulary paul_t and adelikat

Unofficial Encodes[1]

  • Youtube (encode by gocha)

MKV by Gocha [EDIT: remove dead link]
Thanks for that quick encoding

Truncated: I will accept this movie. It has almost everything you can request from a tas: movement tricks, gliches, and a nice strategy.

adelikat: Processing.


Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
I think this is a perfect example of a game which should have been encoded with a larger lower screen and a smaller upper screen, so that the lower screen becomes larger when the video is played fullscreen, as suggested in a thread in the DS emulator group. How hard would it have been to encode it like that?
Experienced player (961)
Joined: 12/3/2008
Posts: 939
Location: Castle Keep
Senior Moderator
Joined: 8/4/2005
Posts: 5777
Location: Away
Warp wrote:
How hard would it have been to encode it like that?
http://tasvideos.org/forum/viewtopic.php?p=200882#200882 [EDIT] Damn, beat by arukAdo.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
So given that it's clearly possible, why wasn't it done with the publication?
Experienced player (961)
Joined: 12/3/2008
Posts: 939
Location: Castle Keep
Ill pass my turn on this question :p Personal note: i think the "whilling" to reproduce the most identical gameplay/replay or whatever from emulator also imply to have both screen, even if its looking less good If it was "arukAdo's" encode, like in one of those links... well i use one screen only, just a blurred mini map, open gl, and different music This is not how the game is in reality, just me arranging as i like, even if of course i prefer my "way", im happy theres a "standart" encode too
Player (80)
Joined: 2/8/2005
Posts: 130
Man, you must have some serious identity crisis! Anyway, IMHO the best of the DS Castlevanias, thanks for the run!
Experienced player (961)
Joined: 12/3/2008
Posts: 939
Location: Castle Keep
tool23 wrote:
Man, you must have some serious identity crisis!
Ah... why? coz i sayd its good to have a regular encode of both screens? :/ Anyway if you want... i have serious identity crisis oki
Post subject: 0.9.5 autoresync attempt
gocha
Any
Emulator Coder, Former player
Joined: 6/21/2006
Posts: 401
Location: Japan, Nagoya
I tried to autoresync the run with Lua. It went very well, but the game freezed during the Astarte battle. DSM MP4
I am usually available on Discord server or Twitter.
Joined: 7/2/2007
Posts: 3960
Responding to Arukado's half-year-old post, presumably tool23 was talking about the run, and specifically was referring to the partner-switch spamming.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.
Post subject: Re: 0.9.5 autoresync attempt
Editor, Emulator Coder, Expert player (2157)
Joined: 5/22/2007
Posts: 1134
Location: Glitchvania
gocha wrote:
I tried to autoresync the run with Lua. It went very well, but the game freezed during the Astarte battle. DSM MP4
What? Is there such an emuation bug in v0.9.5 with this game? O_o
<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
Experienced player (961)
Joined: 12/3/2008
Posts: 939
Location: Castle Keep
This is in the original game, i believe The bug is because you removed lag, witch make using pause too soon, theres too many objects on screen > crash game (if you delay few frames should work)
Editor, Emulator Coder, Expert player (2157)
Joined: 5/22/2007
Posts: 1134
Location: Glitchvania
arukAdo wrote:
This is in the original game, i believe The bug is because you removed lag, witch make using pause too soon, theres too many objects on screen > crash game (if you delay few frames should work)
Good to know. Thank you for clarifying the issue.
<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