Keen 6 speed run in 5:25 (with glitches)

Here, you can get help with anything or just chat about the original Commander Keen games.
Post Reply
GoldenRishi
Vortininja
Posts: 229
Joined: Mon Nov 05, 2007 3:20

Keen 6 speed run in 5:25 (with glitches)

Post by GoldenRishi »

So this probably was a topic some time, but I just found it again and I think it's pretty cool:

https://www.youtube.com/watch?v=X9SeCIBXZSk

He also did it in 5:25 more recently. He also did speedruns of Keen 4 and Keen 5.


BTW:
This guy, Cosmo, (I'm curious if it's a reference to Cosmo's Cosmic Adventures) is also the person who holds the world record for Legend of Zelda: Ocarina of Time, which he beat in 18:10. His speedrun stuff is really amazing. If you like Zelda, you should really watch that video, it's really amazing the kinds of bugs that people can discover when they play a game that they love over and over again.
(Used to be LordofGlobox)
User avatar
kvee
Vortininja
Posts: 67
Joined: Sat Sep 26, 2015 11:17
Contact:

Post by kvee »

AGDQ! I love these! :]

The latest Keen 6 strats even involve double jumping off of the bullet in mid air! (27:15 here)

Also, with all the disassembling work that's been done on the engines, do we have any clue why bullets are platforms in K6?

(edit: included timecode in URL)
User avatar
Fleexy
Tool Smith
Posts: 1432
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C

Post by Fleexy »

KeenWiki wrote:The explanation likely revolves around the fact that Keen's bullet has the collision property of the Gik or Goplat. The bug means that Keen can stand on his shots, but the only place this can occur is just after a bullet has hit a tile, when it has stopped moving but has not yet become a "zapped" bullet. When Keen lands on the bullet and it vanishes the game become confused as to where the bottom of Keen's clipping box. When Keen fires a second shot, if that shot is in the same vertical column as he is (Shot upwards or close to a wall), the game reads Keen as standing on it and clips him on top of it.
Source
GoldenRishi
Vortininja
Posts: 229
Joined: Mon Nov 05, 2007 3:20

Post by GoldenRishi »

Now that I'm thinking about it, I'm pretty sure that I discovered the bullet riding trick. I know I discovered that you could stand on the bullets on the ground, but I think that I also developed the riding trick, and I think I even once managed the bullet double jump. But that was so long ago, it's hard to remember, but I know that I discovered at least some of these.
Fleexy wrote:
KeenWiki wrote:The explanation likely revolves around the fact that Keen's bullet has the collision property of the Gik or Goplat. The bug means that Keen can stand on his shots, but the only place this can occur is just after a bullet has hit a tile, when it has stopped moving but has not yet become a "zapped" bullet. When Keen lands on the bullet and it vanishes the game become confused as to where the bottom of Keen's clipping box. When Keen fires a second shot, if that shot is in the same vertical column as he is (Shot upwards or close to a wall), the game reads Keen as standing on it and clips him on top of it.
Source
That's pretty interesting. I sometimes wonder what was in those guy's code in order to achieve efficiency. Given the ultra-low memory, ultra-low processing power of desktop machines back then, it's hard to believe what kinds of shenanigans they had to go through to get a stable, efficient program. As I recall, the technique to even achieve side-scrolling was quite a feat for Keen 1-3, and only being a year later when these games were released, it's difficult to imagine that the hardware that much better for Keen Dreams/4-6.

But it's also crazy to think how much effort went into programming all of the games that Id released from 1990-1993. It truly was a herculean effort to release (18 games, at least 4 of which were cult classics, i.e. Keen 1, Keen 4, Wolfenstein 3D, and Doom). It's incredible how much they pushed the envelope.
(Used to be LordofGlobox)
User avatar
kvee
Vortininja
Posts: 67
Joined: Sat Sep 26, 2015 11:17
Contact:

Post by kvee »

Fleexy wrote:
KeenWiki wrote:The explanation likely revolves around the fact that Keen's bullet has the collision property of the Gik or Goplat. The bug means that Keen can stand on his shots, but the only place this can occur is just after a bullet has hit a tile, when it has stopped moving but has not yet become a "zapped" bullet. When Keen lands on the bullet and it vanishes the game become confused as to where the bottom of Keen's clipping box. When Keen fires a second shot, if that shot is in the same vertical column as he is (Shot upwards or close to a wall), the game reads Keen as standing on it and clips him on top of it.
Source
Thanks!
So perhaps they were just playing with the bullet's flags when implementing Gik and forgot to remove that bit.
User avatar
Levellass
S-Triazine
Posts: 5265
Joined: Tue Sep 23, 2008 6:40

Post by Levellass »

The explanation is a little more basic. The game keeps track of the sprite Keen is 'riding' so that as its location is changed his is as well without any problems. It does this by simply storing the number of the sprite being used. Keen can ride his bullet like a platform due to a piece of code inserted deliberately in his collision, possibly as a test.

Keen's shot is nearly always the 'last' (most recently created) sprite in the level. When it vanishes the next sprite created, wherever it is, will take the now vacant bullet spot and the game will resume altering Keen's position relative to it. This can be seen for example with the pink shots; in, say, the first guard post Keen can do the trick and when a gun fires ride the pink shot.

To work the new sprite must also be traveling in the same direction as the old one (Horizontal or vertical) even if the speed of travel is 0. So not every replacement sprite will work.
What you really need, not what you think you ought to want.
User avatar
VikingBoyBilly
Vorticon Elite
Posts: 4158
Joined: Sat Jan 05, 2008 2:06
Location: The spaghetti island of the faces of dinosaur world for a vacation

Post by VikingBoyBilly »

Levellass! You're back!!! Weeee! We love you, levellass, and we missed you! Now go grab some popcorn and tune in before the drama dies down.
Image
"I don't trust players. Not one bit." - Levellass
User avatar
kvee
Vortininja
Posts: 67
Joined: Sat Sep 26, 2015 11:17
Contact:

Post by kvee »

Levellass wrote:The explanation is a little more basic. The game keeps track of the sprite Keen is 'riding' so that as its location is changed his is as well without any problems. It does this by simply storing the number of the sprite being used. Keen can ride his bullet like a platform due to a piece of code inserted deliberately in his collision, possibly as a test.

Keen's shot is nearly always the 'last' (most recently created) sprite in the level. When it vanishes the next sprite created, wherever it is, will take the now vacant bullet spot and the game will resume altering Keen's position relative to it. This can be seen for example with the pink shots; in, say, the first guard post Keen can do the trick and when a gun fires ride the pink shot.

To work the new sprite must also be traveling in the same direction as the old one (Horizontal or vertical) even if the speed of travel is 0. So not every replacement sprite will work.
Ah, makes sense!
Thanks!
Post Reply