King's Quest VI Speedrunning Facts
3 years ago
Arizona, USA

Wherein we keep random knowledge that might otherwise be lost in the murky sea of Discord comments.

"rng trivia for 100% runs: there are random pauses that you have to sit through when spying on the vizier writing his letter. while he's a quillin' between messages, there's two delays that are each randomly between 3 and 5 seconds. so if it seems like sometimes it goes faster than others, it does.

other than upstairs guard dogs, i don't see any other straight random delays like that which affect play time"

-sluicebox 07/16/2020

--

WWAMs ("Whoa, wait a minute...") explained:

so every time you get on a rock, or after a WWAM happens, a counter gets set to a random number between 500 and 1000

so far pretty normal, it's random, so they probably just count down from there... but instead...

every RockStep subtracts one from that counter every game cycle until zero, then WWAM

so the more RockSteps that exist, the faster the counter goes down

and the faster your game cycles (different from DOSBox cycles but still a fast DOSBox affects that) the faster it goes down

but i think a consequence of that scheme might be that RockSteps from a previous screen that haven't been completely destroyed yet are still contriburing to that too?

haven't tested that, just seemed like when i went down from the 2nd cliff room to the beach, it was going really fast from those ones too

and i wondered "wow how are speedrunners not just getting pummeled with these all the time" and maybe the answer is that you are and that's another motivation to move really fast on those rocks?

also that's why WWAMs happen less frequently on scummvm since the throttling keeps the cycle frequency to something closer to the original game speed

-sluicebox 06/30/2020

There are some things I did in my run that maybe not every runner is aware of so for the sake of transparency I'm listing those strats here:

  1. Don't ever get the boring book. It wastes time on so many levels. Gnome skip with map is just as easy to pull off and the animation to get to swamp screen is much faster. Advance a frame in the menu bar if you have to, its still worth it. Click-cancel on map, click-cancel on isle of wonder to put it away quickly. DON'T HOLD ENTER OR SPAM CLICK after click-canceling Wonder, you will get extra unnecessary narrator dialogue that you have to skip through.

  2. ONLY hold enter while waiting for red and white queens to arrive. Don't hold enter AND spam clicks - if you do, the animation of the horses bouncing the queens towards each other takes an extra half second. Holding enter alone makes this animation instantaneous. I don't know why this is but I can confirm this after testing in several failed runs. This may hold a clue to making other "delayed" animations happen or not happen as well... pawn shop owner standing up, pawn shop owner dumping contents into pot, genie's eyes in Beast, first step emerging on cliffs after first puzzle solved, etc. I haven't tested all of this thoroughly yet, just going by what I've personally witnessed.

  3. There are cursor shenanigans that happen after solving the first puzzle on cliffs and after the narrator does his dialogue that says "Alexander stares in amazement blah blah" or whatever... the cursor defaults to the waiting crown rather than a normal swappable cursor like walk or touch. As a result, this may cause Alex to encounter a WWAM after stepping onto the first step if handled poorly, as a few people also experienced. Each step has a 1-2-3 motion of appearing, sliding, and stopping. After the 1-2-3 animation of the last step, quickly right-click, insert, enter on first step and continue holding enter for each step as normal, you will not get WWAM.

  4. On the clifftop, there is a zip you can get to gate. It's on the pointy spire to the right of the catacombs entrance, about halfway up. As soon as the genie starts to land from his fakeberry flight, and as you begin to hear the breath of the genie's dialogue about to happen, click-cancel on that spire spot. You CAN hold enter here to skip dialogue and make Alex move, but you gotta release it at juuust the right time or you end up not getting the zip (only managed to pull this off once during my runs.) The safer strat is to click-cancel and then right-click to skip the genie's "ALL RIGHT THEN" post-dialogue.

  5. TopBrickShrek = as you walk into the descending ceiling trap, before Alex enters that room, go to your inventory and get the brick ready. Holding the brick on the gears as the doors close skips narrator dialogue "AND THE CEILING IS COMING DOWN!" and Alex will toss the brick in the gears almost immediately. This is faster than pulling brick out in this room because you don't get that extra dialogue.

  6. This one y'all probs already know and do but I don't watch every stream and every run so idk. After you shield the archer in the garden and the rose bushes block your path, click hand on rose to get it. As Alex starts walking, pull out the scythe and have it ready hovered over the hedges. If you time this correctly, Alex will pick up the rose and immediately zip over and start hacking the hedges, skipping all narrator dialogue and saving a little time.

  7. As Jaki has demonstrated in her runs and Shorty has stated on here, get the nightingale after Beast business is done. This will save time by skipping the genie's candy dish tantrum and storming out.

  8. Faster Pillar = after you place the nightingale in the hallway for the guards, put the walk icon just sitting on top of the bottom of the alcove pillar and click. Alex will walk to the RIGHT of the pillar rather than the left and the animation for hiding is quicker, plus you get to the portrait faster.

-topkekshrek, 11/16/2020

Edited by the author 3 years ago
Arizona, USA

FFW is effectively luck plus spamming Beauty with the rose. If a rose click/enter is received after you've arrived at your destination next to beauty but before you've finished turning to face her then you'll have FFW, which is easy to reproduce at slower speeds, but impossible to force at your insane speeds. Spam and pray. (Similar to how spamming the castle peephole crashes the game. Rare, unless you turn the speed down)

Jaki and shorty appearing to get hands-off before arriving was a red herring caused by the rose being tricky to click. Their rose cursors weren't on Beauty and so the hands-off cursors I saw were due the narrator audio beginning to say "that would serve no purpose"

Clicking the rose on Beauty seems inconsistent because the rose hotspot is the very end of the stem, which is the lower left, but the lower left pixels of beauty tending roses are transparent (which you can't see because they're behind the wall) so centering the cursor on her is often actually a miss. When she animates those transparent pixels move around a little which is why some positions will fail on one click but then work on the next without moving the mouse. Aim with the tip of the stem and you'll never miss. I can reliably reproduce FFW by lowering the control panel speed slider by one notch, spamming with rose, and then setting speed to max after the rose -sluicebox explaining FFW, 09-09-2020

Arizona, USA

coming at kq6 zips from an outsider, i was surprised by what was going on. it was the opposite of my impression

as an outsider, it looked like kq6 has something unique that let you go crazy fast in certain situations while running the game at an unexpectedly high speed. i've heard the word "overclocking" used in general explanations

instead it's almost the opposite: what makes kq6 unique is that it has something weird that suppresses your speed in many situations

and the question changes from "how does zipping work in kq6?" to "why aren't you always zipping in kq6?" so kq6 zips break down into two interesting but separate subjects:

  1. why do you walk so crazy fast?
  2. under what conditions do you walk so crazy fast? (which is really: why doesn't that happen all the time?) Alexander is an actor, and an actor's speed in SCI is stored as a number where lower is faster and higher is slower

which intuitively seems backwards, unless you think of this as a throttling mechanism, and the higher the number the larger the delay it represents between animation frames, movement increments, etc the movement code (game script) in kq6-era games uses this speed value as a delay in "ticks". a "tick" is 1/60th of a second in SCI, so a larger speed number means the code waits for more ticks to pass before advancing an actor a little further when moving

this seems at odds with zipping. you all know that zipping relies on making the game run as fast as possible, either by setting dosbox to max or using a scummvm mod that removes throttling. but what i just described is based on time, not game cycles. it shouldn't matter if you cram a thousand or a trillion game cycles in a second if the game is using clock time (1/60th of a second) to advance an actor. most of those cycles would just be burning CPU saying "nope, still not time to move you another pixel yet, maybe next time?"

and that brings us to the special case where an actor's speed is ZERO

a speed of ZERO has a special property, as it often does in math. when the "is it time to move?" script is presented with speed ZERO, due to math, the answer is always Yes.

that code runs on every game cycle

which means that speed ZERO, unlike all other speeds, becomes untethered from game ticks (clock time) and

its effects are suddenly a function of how how many game cycles you can cram through your computer as fast as you can

i don't know if speed ZERO being special is intentional. if i had to bet, i'd say it wasn't. by 1992 sierra had already seen earlier games ruined by faster CPUs that came along later, they knew the consequences of "do something every game cycle". the movement code isn't "if ZERO then abandon everything", it's just that ZERO makes the math work out different. a ZERO speed would have been faster than 1/60th of a second (speed ONE) but when run on a 1992ish computers, it just seemed faster, it wasn't obvious that you were suddenly untethered from time. (I played this game back in then on a 1992ish computer!)

So the answer to "Why do you walk so crazy fast?" is that the maximum actor speed (ZERO) is untethered from time, possibly by accident, which wasn't very noticable in 1992.

You can easily verify this by running my favorite game in the universe, Dagger of Amon-Ra, on dosbox max cycles, or in the unthrottled scummvm mod. Set the control panel speed slider to max (ZERO) and you'll zip everywhere all the time. Reduce it by one notch and you're tethered to time again, and advance every 1/60th of a second. Reduce it another notch and it's 2/60th of a second. The difference between 0 and the rest is all the difference in the world.

If Dagger of Amon-Ra permanently zips when you set the speed to max, then why doesn't KQ6? - sluicebox zip explanation pt. 1

Arizona, USA

it's too quiet! someone is going to have to finish mouthing off about zips to recap from earlier: alex zips when his speed is ZERO (fastest) and game cycles are very high, because speed ZERO, unlike other speeds, makes progress on every game cycle (possibly unintentionally) this is normal behavior in kq6-era games, except that kq6 is weird because you don't always zip, hence your 100+ page guide on where to click to zip the culprit is EgoGroop, a script class that seems to only exist in kq6 i scanned my sierra corpus and it wasn't in any of them EgoGroop is constantly tweaking alex's speed by 2 levels, and comes into play every time alex completes a turn every time you click walk you complete a turn before walking, and if the walk path is complex like at the isle of the crown tree then you might complete several more turns as you travel the path it's not a big reveal that angles are involved, after all i've seen your glorious protractor graphic for zipping, but EgoGroop's exact rules still might help, or at least clear some things up in general, EgoGroop's goal is to suppress alex's speed by 2 levels when he completes a turn and is facing a non-diagonal direction, and restore it when completing a turn facing a diagonal direction so when you set the control panel speed to max, in a normal game you'd be setting alex's speed to zero, but in kq6 it will frequently toggle between 0 (ZIP!) and 2 as you move about what you care about is what exactly triggers EgoGroop speed suppression and what disables it EgoGroop will only alter your speed mode if you're in hands-on mode and alexander's graphics are "normal" (as opposed to a disguise, or anything non-standard like cliffs) this explains why sometimes you zip, then a hands-off scene takes over and slows you down to a fixed speed, and then later when you regain control you're zipping again, like ffw. none of your turns matter during hands-off to EgoGroop, it won't touch your speed state, and whenever a script restores your speed it will restore your EgoGroop speed state from before i think you can ignore the requirement that alexander's graphics are normal, since other than the cliffs they always are when you're in control. but if you could wear the beauty disguise, or be a transparent ghost, and still be in control, then EgoGroop would say "nope, i'm not changing anything!"

with those two requirements met, EgoGroop proceeds to simply test if alex's animation cel is one where he's facing diagonal or not. if it's diagonal and you're not in fast mode, then you go to fast mode. if it's not diagonal and you were in fast mode, you lose fast mode.

at the end of the day, you all have figured this out already: stay diagonal!

EgoGroop evaluates the situation when a turn completes, and when you click Walk first you turn and then you walk. So effectively, every time you click Walk, EgoGroop evaluates the situation and potentially adjusts. but if you then walk a complex path EgoGroop might adjust it some more in the sub-paths, which is why a complex hands-on walk like in front of the tree might zip a bit then to regular then zip again - sluicebox zip explanation pt. 2