Page 1 of 2

Blade of Darkness speedruns (New and Improved)

Posted: Sat May 21, 2011 4:00 am
by Miles
Hello everyone, its been a while.

I am starting some brand new speedruns of Blade of Darkness. My old speedrun, while fast, contained some mistakes and some boring parts that I believe I can rectify with more physics glitches. Also, I'm recording the new runs at a higher resolution and FPS. I'll be using this thread instead of the last to post WIP encodes for feedback as well as glitch explanations, since it will be cleaner that way. My old speedrun thread wasn't really structured and can be deleted.

I have done more research with physics glitches across the characters and now I am uncertain where they stand for speed, so I am speedrunning them all for the time being. I still expect the Knight to end in first place with Amazon a close second. I'm fairly certain Dwarf will be third and Barbarian last, but with segment abuse this could be wrong. The previous speedrun used the Knight and ended with 55 minutes 17 seconds of user input (It is still in limbo with the SDA verifier queue). I will use its times to compare with the Knight's new run.

The WIP videos are 640x480 and 60 FPS, so you will probably get buffer times if you stream them. Saving them as files and then viewing after download is the smoothest way of watching them. These WIPs are non-submittable to SDA. Aside from the starting levels, the routes are going to be very similar except for the Barbarian who can't airclimb.

<b><u>--- Current Speedrun Progress ---</u></b>

Last updated: <b>01/06/11</b>

<b>Knight:</b> Speedrun completed

Prison of Tabriz (1:49) (Old was 3:19) - (60fps) (32.3mb)
Fortress of Tell Halaf (1:11) (Old was 1:49) - (60fps) (20.0mb)
Mines of Kelbegen (5:00) (Old was 5:00) - (60fps) (79.6mb)
Tombs of Ephyra (2:53) (Old was 3:34) - (60fps) (46.6mb)
Island of Karum (1:30) (Old was 2:05) - (60fps) (25.1mb)
Shalatuwar Fortress (0:28) (Old was 0:43) - (60fps) (8.6mb)
Gorge of Orlok (1:01) (Old was 1:01) - (60fps) (17.6mb) / Alternate route in 1:10
Fortress of Nemrut (2:54) (Old was 3:49) - (60fps) (48.6mb)
Oasis of Nejeb (3:23) (Old was 3:39) - (60fps) (57.0mb)
Forge of Xshathra (2:03) (Old was 2:20) - (60fps) (35.3mb)
Temple of Al-Farum (3:42) (Old was 3:42) - (60fps) (62.3mb)
Temple of Ianna (4:58) (Old was 6:31) - (60fps) (57.8mb)
Tower of Dal Gurak (3:43) (Old was 5:42) - (60fps) (47.4mb)
The Abyss (10:29) (Old WIP was 10:49) (Old run was 13:06) - (60fps) (144.3mb)

Total input time: 44:37
Total movie time: 46:19
Number of segments used: 77

Blooper reel for the Knight's speedrun.

Note that the Ianna, Dal Gurak, and Abyss WIPs have had cutscenes edited out for smaller filesizes.

Marakamda (0:58) - (60fps) (18.8mb)

Khazel Zalam (4:56) - (60fps) (80.7mb)

Kashgar (5:15) - (60fps) (85.0mb)

<b><u>--- Glitches (Ab)used ---</u></b>

If you are not the Barbarian and you have no two-handed weapon ready, run forward off of an edge, hold forward, and tap your block key at approximately .3 second intervals. Too fast and you'll hover in place, too slow and you'll fall. If just right, you slowly rise in the air and move forward slightly as you do so.

The edge that you run off of must be high enough that you would "fall" from it. I also have no idea why it doesn't work with the Barbarian (Too short of a run animation?).

If you are not the Barbarian and you have no two-handed weapon ready, move near an edge and rapidly dodge towards the cliff while interrupting it with block repeatedly. The faster the better. If done fast enough, you will sink downwards in the air in your dodge animation instead of falling.

<b>Attack cancelling:</b>
I am using block to cancel attacks, but it is not readily apparent since I don't have a shield equipped.

With any character, perform a 180 degree action or attack and then perform airsinking while still on the ground. During this, also attempt to attack a bunch, preferably a cheap attack like Low Punch. If you do all of these fast enough, your character's rotation will go haywire in all directions. Do it for long enough and your character's normal rotation will get overwritten and you can be sideways or upside down after stopping. This allows for abuse of zipping as well as moving through floors and ceilings. You cannot go through walls or anywhere in the void that the walls could extend to (Perhaps a mapper can explain why).

Occasionally you can completely reset your rotations back to normal by breakdancing again, but I have only gotten this to happen through dumb luck. I don't know what order of input causes it.

Breakdancing is at the same time the least reliable and most useful glitch for speedruns. It takes hundreds of segments to pull off and even more to execute the route with strange rotations. The camera also thoroughly dislikes this glitch.

<b>Dropping aggro:</b>
Saving and loading a game will drop aggro from any entity that has no direct line of sight with you. This is actually a pretty common glitch in video games.

<b>Preserving momentum:</b>
Running jumps while airclimbing will not halt forward movement when completing, probably because it can't find what surface you jumped from. This is similar to regular walking jump, which doesn't check for starting surfaces.

<b>Steal Dal Gurak's Blade:</b>
It is possible to pick up Dal Gurak's Blade when he throws it, but you will likely need an autofire on your Use button (As well as being dangerously close to the weapon). After grabbing the air, immediately try to sheathe it so that it teleports to you (Note that Dal is still technically wielding it).

<b>Steal Dal Gurak's Shield:</b>
If you kill Dal Gurak with a punch, there is a brief delay before the cutscene that you can grab his shield. You may need to drop and pick it back up again in the level afterwards to get it to function correctly. You can also sometimes pick it up with a weapon equipped, but this runs a chance of permanently deleting the weapon you have out.

<b>Terminal Falls:</b>
On the Abyss level, I end the last two fights by getting the bosses to fall into a pit. Great demon requires airclimbing to fall into a pit, while the final boss just needs luck manipulation to not teleport or use magic.

When you clip into surfaces, the game will attempt to eject you directly upwards from your current rotation. If your rotation is messed from breakdancing, you can accomplish horizontal zipping which can save some travel time.

<b>Zipping, part 2:</b>
Some sloped surfaces will eject you directly downwards should you attempt to airclimb or slide on them without proper horizontal velocity. I don't know why this happens.

And that's that for the current listing of glitches to be used. Feedback on the WIPs is welcome, including technical stuff such as filesize versus framerate.


Posted: Thu May 26, 2011 11:31 am
by Ianna Keeper
Hi Miles!

You are master of bod glitches![8D] To be honest, I have been playing bod since I know myself. However, I couldn't figured out any of them except attack cancelling. I'm downloading all of them!

Btw. Did you find out them by examining codes or by playing?

Posted: Thu May 26, 2011 7:41 pm
by Miles
I found airclimbing on accident when I first started looking for shortcuts in one of my early speedruns. When I realized there were odd fast-input tricks like that in the game, I made a huge input macro that would test for a bunch of cases at extreme speeds while I watched, which is how I found airsinking and then breakdancing. I've never really looked into the game's files beyond finding some basic variables.

Zipping is a common programming trick in game engines to get players unstuck from surfaces they shouldn't be in. Typically zipping will send you in the opposite direction you're facing in, but it really depends on the programmer's implementation. In our case, BoD will send you straight upwards from your current rotation, although sometimes you can go straight downwards as well (I am unsure of why).

Posted: Fri May 27, 2011 6:57 am
by Ianna Keeper
I see. Assigning macros to those combinations is the best way to do. I have mouse with Oscar software for this purpose. It would be so fun to perform these in multiplayer. [:)]

Posted: Fri May 27, 2011 10:47 pm
by Miles
Ugh, I just found out its possible to get the final boss to fall to his death. How did I miss this earlier? It saves over a minute.

Posted: Tue May 31, 2011 9:55 pm
by Miles
Sorry for a lack of updates the last few days.

I did watch my entire run front to back and noticed a few mistakes. I have now redone Tabriz completely and I have a few segments on Nemrut, Forge, and Abyss to redo as well. After that, I will re-encode all the applicable WIP videos.

I am uploading the last three WIPs now (sans Abyss) since I didn't do so earlier. The Ianna and Dal Gurak WIPs have had the ending cutscenes truncated for smaller filesize.

I also have a blooper reel coming up, but have not yet encoded it since a few more mistakes from the segment redos might make it in.

Posted: Wed Jun 01, 2011 7:26 pm
by Miles
Okay, the Knight's speedrun is now officially complete. The submission to SDA has been updated. With the segment redos, I have saved roughly 11 minutes and 19 seconds over the previously submitted run.

For the post here, the WIPs of Prison of Tabriz, Fortress of Nemrut, and Forge of Xshathra have been replaced by improvements. The Abyss WIP and the blooper reel have also been uploaded.

If anyone else wants to take a shot at the other characters, feel free to. I am going to take a break from BoD speedrunning before attempting any of the others.

Posted: Thu Jun 02, 2011 9:19 pm
by Miles
I didn't finish my glitchless run once I discovered airclimbing, but I'm guessing the end time would be around 2 hours, probably a bit less. I'm also not sure which character is fastest in a glitchless run, either. With just airclimbing as the only glitch used, my first speedrun as the Knight was about 84 minutes.

A glitchless run is a perfect candidate for a single-segment run if anyone thinks their skills are up to the challenge. SDA is pretty much guaranteed to have those two categories open for every game: segmented and non-segmented.

For a glitchless run you don't really need to number crunch experience values past the first level -- the skeleton king in the Tombs is enough to get you at least level 11, and the low level combos that hit multiple times are extremely stamina efficient. The only thing you need to do, experience-wise, is make a tally of the essential enemies you must fight and then determine at what point in the run can you use X weapon's special, and if you should detour for that weapon at all. The Knight and Dwarf have this part pretty easy.

For Tabriz, the chaos knight fight goes pretty quickly if you have a mace since they're weak to crushing damage (and if you're level 2 to use it). The power potion can also be used vs Ragnar. If you really want to book it past that fight at low level, you could also pick up the Death Sword and throw it repeatedly.

As for Kashgar, I didn't find any particular shortcut to the skeleton fight at the end aside from getting them to hit each other a lot. Just ensure you get the killing blow for the experience needed for level 2 and 3 so you can attack more.

The starting level length for the Barbarian is less of an issue when the Knight and Amazon can't complete their starting levels in less than a minute or two.

Posted: Fri Jun 03, 2011 3:41 am
by Miles
That's a pretty good first attempt, actually, considering no segments were used. I've been thinking about the route, and I think there's three possibilities:

1). Death sword route where we fight the chapel key carrier, armoury key carrier to get past chaos knight and Ragnar at level 2/3.

2). Power potion route where we use the mace and power potion against Ragnar at level 3.

3). Level 4 route where we simply get to the proper level and use the gladius special attack against Ragnar. This is probably fastest in the long run.

Also, the halberd knights will give easy experience in any route since their defense is way negative and they carry a 500 life potion.

Ideally we would want to get level 4 anyways, to wield the heavy mace that we can pick up in the Mines. There are no necessary fights on the next two levels except for the blue gem carrier, so having the heavy mace when we enter the Tombs would make that level pretty fast. Then again I don't remember what orcs you need to fight there before you move onto the skeletons.

Assuming we don't want to fight higher levelled knights until we're level 2 for the mace, I'll bold what I think is the optimal route to level 4 prior to Ragnar, and underline any essential kills:

<b>Drunk guy: 10</b>
Elevator guy: 10
Sleeping guy: 10
<b>Dinner guy: <u>20</u></b>
<b>Courtyard guys: <u>10, 10</u>,</b> 20, 30 (Only the two level 1 knights need to die to open the door)
Chapel guys: 30, 30
Drawbridge guy: 30
<b>Armoury guy: <u>20</u></b>
<b>Halberd guys: 20, 30</b>
<b>Drawbridge guy (other side): 30</b>
Chaos Knight: <u>0</u>
<b>Tower door guys: 20, <u>30</u></b>
<b>Arrow trap guy: 30</b>
<b>Cutscene guys: 40, <u>40</u></b>
<b>Chest guy: 40</b>
Ragnar: <u>50</u>

Level 2 on killing second level 1 knight in the courtyard.
Level 3 on killing the drawbridge guard (either, but the right side is faster for this route).
Level 4 on killing the guy by the chests.

Unless I am completely fail at math, this route should give us exactly 350 experience before Ragnar, which is what we need.

The cositas don't give much experience, but they are fairly fast to kill. I think its more optimal to just run past them, however.

Edit: Okay, did a quick and sloppy test run with the route to level 4. Even with all the errors, it ended up being about 9 minutes to finish the level. The route itself appears to be fine. Here is a crappy encode so you can get a visual on the route, as well as laugh at how badly I did the Ragnar fight.

Posted: Fri Jun 03, 2011 4:39 pm
by Miles
Ah sorry, I must be confusing it with my airclimb run. Its been a while since I've played this game the normal way.

I don't think the light armor is a worthwhile detour if we can kill Ragnar without it; he is definately the hardest fight prior to grabbing the full armor on Forge. Once we have the experience for Dream and Kerman's Smash the run will get much easier.

Posted: Wed Jun 08, 2011 3:52 am
by Miles
The debate on what constitutes a glitch or not is usually one of the most common topics of TASing. Breakdancing is obviously a form of going out-of-bounds, so that's a glitch beyond a doubt. Airclimbing CAN go OoB but typically isn't used to do that because breakdancing can go OoB much faster in most situations. I think its safe to say that the input to specifically cause glitches like breakdancing can't really be "accidentally" done, and sometimes they even require keyboard remappings per segment to pull off.

Jumping up a wall repeatedly or running up it by using specific angling or turning would be legit for a glitchless run. I believe climbing sloped walls in a similar manner is accepted in Legend of Zelda: Ocarina of Time speedruns, and probably a lot of other games too (Some games like Half-Life have special rules for speedrunning).

No idea how the blackscreen falling death thing could be used to speed up a run though. I'm thinking on places to use it. Does it require a long falling animation or just to hit a sloped surface weirdly?

In my opinion, only airclimbing, airsinking, and breakdancing would be disallowed in a glitchless run, and airsinking is the least of them since it cannot go OoB.

Posted: Wed Jun 08, 2011 9:09 pm
by Miles
A good run of that level! The only thing that came immediately to mind that would save a few seconds is that you don't need to mantle the last ledge when getting the rune. You only need to jump into it and then you can skip the cutscene.

The fewer segments you use, the more leeway you'll be given by speedrun verifiers. For a normal or single-segment speedrun you don't really need to worry about one-second mistakes like jumping against a ledge instead of mantling. If any of the mistakes result in something comedic like the cosita biting your ankles while mantling, that's way better (for the viewer) than a regular mistake.

What do you think about the overall speeds of the characters? I chose the Knight for the glitched run because of minimal detours, but in a glitchless run the Amazon moves way faster and the Barbarian could complete his starting level quickly with decent luck manipulation on the skeleton fight. I think the Dwarf would be in last place in a glitchless run.

Posted: Thu Jun 09, 2011 4:29 am
by Miles
The acid seems to deal 100 damage per second even to a level 1, so unless you are wounded you would only need a couple of levels to survive it. Would using the spear on the greater orcs really increase the fight times all that much?

Posted: Sun Jun 19, 2011 1:56 am
by Miles
If you know where all the weapon/potion detours are already, then the route should be easy to plan. Start with the essential enemies and add together experience gains from them to determine what baseline level you'd be at, then figure which weapon detours you'd take. You'll only need to figure out what non-essential enemies to kill for experience early in the run, though, if any.

Individual levels can be run in this manner to figure out their specific routes, by guestimating the route's experience and gear at that point. But like how you wobbled up the wall on the Mines level, you'll probably want to take apart the early levels first in case an essential enemy turned out to not be essential.

Edit: The easiest way to plan the route would probably be to change your stats to be invincible/oneshot everything and then start from a new game to see what the bare minimum experience path yields for the first set of levels, at least up until the graveyard fight in the Tombs.

The vampire fight is going to be largely dependant on luck no matter how you go about it, unless there's a combo that you can begin faster. The route through the level looks pretty solid though. Zombies can also be instantly killed if you hack off one of their legs.

As for the level adjustments, looking at in the Mines file shows an attribute pers.Level=lvl_control.GiveLevel(#,#), which is a stage global near the top. Going backwards we get to in the Lib folder which explains the level adjustments of enemies. It seems many enemies have independant sets of level ranges.

Posted: Sun Jun 19, 2011 7:12 pm
by Sir Random
<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote"><i>Originally posted by Miles</i>

As for the level adjustments, looking at in the Mines file shows an attribute pers.Level=lvl_control.GiveLevel(#,#), which is a stage global near the top. Going backwards we get to in the Lib folder which explains the level adjustments of enemies. It seems many enemies have independant sets of level ranges.
<hr height="1" noshade id="quote"></font id="quote"></blockquote id="quote">
You can see all the 'Experience Rewards' for killing enemies in Stats\

e.g., these are the Ork rewards (Levels 1-20):

CharExperienceReward['Ork']= [ 5, 10, 15, 20, 40, 80, 160, 320, 640, 1280, 2560, 5120, 10240, 20480, 40960, 60000, 80000, 100000, 120000, 150000]

NB, When looking at enemies in the scripts, the level in-game will be 1 more than the scripted level.
This code:
pers.Level=<font color="red">9</font id="red">
will create a level <font color="green">10</font id="green"> enemy.