REQUEST: Keen Always Pogos

Request patches for Keens 1-3.
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

REQUEST: Keen Always Pogos

Post by CommanderSpleen »

Got a new Keen 1 mini mod in mind which requires an always bouncing Keen sprite, retaining the jump key high-bounce. That is, the pogo is active when the level starts and it can't be turned off.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Ok, let's see...


First up let's make Keen pogo whether or not he has the item:

Code: Select all

%patch $0DF9 $EB $04 #C T Space doesn't affect pogo
%patch $3B16 $EB $05 #Always pogo 1
%patch $3DA5 $EB $0C #Always pogo 2
Then we replace his two walking behaviors with bouncing ones:

Code: Select all

#Change standing behaviors into bouncing ones
%patch $3E12 $55 $8B $EC $C7 $06 $52 $82 $4054W  $5D $C3
%patch $3867 $55 $8B $EC $C7 $06 $52 $82 $4054W  $5D $C3

Keen can exit by pressing Alt and falling onto an exit tile. If Keen stops pogoing he will use his falling behavior (Which can have its sprites patched to look like the pogoing behavior.) until he hits the ground. This is the most 'natural' solution.
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Post by CommanderSpleen »

Perfect!

I notice some quirks relating to the landing-without-pogo that may make for interesting gameplay effects.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Yeah, making a 'pure' pogoing patch can cause some glitches of its own like bouncing through ceilings in 2 tile high hallways. I prefer the simple ways if possible.
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Post by CommanderSpleen »

Next task is to remove the shooting animation as it allows jumping in mid-air.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

Uh... can you explain that a little more fully?
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Post by CommanderSpleen »

If you jump and then shoot in mid-air you can jump again and go higher. While an interesting feature, it won't work for this mod.

According to the Stop Keen Shooting patch, it's an easy fix. But I couldn't find an existing patch anywhere.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

That is because that patch removes the making a shot stuff but not the 'stop whatever you're doing and start shooting' stuff. That can be circumvented via this:

Code: Select all

#Stop Keen going to shooting: Always pogo version
%patch $3B23  $EB $46
%patch $3C4E  $5D $C3
%patch $3DB9  $5E $5D $C3
%patch $3E6D  $EB $12
%patch $3FFC  $EB $38
%patch $40AA  $EB $38
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Post by CommanderSpleen »

New bug: turning off pogo and landing on a yorp while reactivating pogo = jetpack. I think the solution here is going to be disabling the pogo key entirely.
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

If that's the case then we'll have to find a new way to make Keen exit, possibly making the chain sprite exit the level on touch. Any ideas?


The patch is a simple modification of the no shooting patch I gave you above, this is the line that's changed:
#Stop Keen shooting AND stopping pogo in midair
%patch $3FDC $EB $58

That should stop Keen from being able to do anything but bounce.
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Post by CommanderSpleen »

Yes, I'm thinking exit on colliding with something. The chain would be suitable. The simpler the better as I'm targeting this at younger players.

Is this how it's meant to work?

Code: Select all

#Stop Keen going to shooting: Always pogo version
%patch $3B23  $EB $46
%patch $3C4E  $5D $C3
%patch $3DB9  $5E $5D $C3
%patch $3E6D  $EB $12
%patch $3FFC  $EB $38
%patch $40AA  $EB $38

#Stop Keen shooting AND stopping pogo in midair
%patch $3FDC $EB $58
It stops the pogo from being switched while jumping, but landing on yorps or pressing Alt a fraction of a second after Keen hits the ground still turns it off.

After thinking about it though, I can probably work with the original version with the super high bounce and use it for secret area access. It's a pretty tricky thing to do and it there is a limit to the bounce (something like 20 tiles).
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

I could probably take a look at that too and try and remove things. This patch causes the chain to win the level when Keen bumps into it:

Code: Select all

#Chain wins level when touched
%patch $22BB $55 $8B $EC $56 $57 $8B $76 $04 $8B $5E $06 $83 $3F $01 $75 $06
             $C7 $06 $6C60W  $0001W  $5F $5E $5D $C3

It is of course possible to make things more complex, add a longer pause before the level exits, play an exit sound and so on, but this is the bare-bones patch.
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Post by CommanderSpleen »

Can we make the map sprite always animate (i.e. bounce) even when standing still?
levellass
Posts: 3001
Joined: Wed Oct 11, 2006 12:03 pm
Location: Ngaruawahia New Zealand

Post by levellass »

A simple patch indeed:

Code: Select all

#Still Map Keen animates
%patch $ABF5 $90 $90
User avatar
CommanderSpleen
Posts: 1017
Joined: Sun Aug 31, 2003 12:11 pm
Location: The Land of Sparkly Things
Contact:

Post by CommanderSpleen »

Bug relating to this patch:

If you die in one level, and then enter another, the player sprite freezes at the starting point for about 5 seconds before starting to bounce.
Post Reply