<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://keenwiki.shikadi.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MoffD</id>
	<title>KeenWiki - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://keenwiki.shikadi.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MoffD"/>
	<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/wiki/Special:Contributions/MoffD"/>
	<updated>2026-04-16T10:17:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.11</generator>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Talk:Keen_1_Gold_Edition&amp;diff=42711</id>
		<title>Talk:Keen 1 Gold Edition</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Talk:Keen_1_Gold_Edition&amp;diff=42711"/>
		<updated>2021-01-30T18:10:21Z</updated>

		<summary type="html">&lt;p&gt;MoffD: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hey, I&#039;ve been talking to Szemigi and there&#039;s an update coming that will require a change to this mod&#039;s name, if someone can hit one of us up on discord, pckf or here to discuss the best way of proceeding that&#039;d be swell, thanks! [[User:MoffD|MoffD]] ([[User talk:MoffD|talk]]) 03:44, 29 January 2021 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Hi, MoffD! Changing the mod&#039;s name is very simple. To change the article&#039;s name, first click &amp;quot;More&amp;quot; in the menu on top, which will pull up another menu. Then, in that menu, click &amp;quot;Move&amp;quot;. You will get a prompt that lets you enter the new name and reason for changing it. Once you fill out the forms, you then click &amp;quot;Move page&amp;quot;, and ta-da! The mod&#039;s name has been changed! Be sure to update the article so that it refers to the mod by its new name and change any other now outdated info if there is any. You might also have to update the screenshots if needed. [[User:Quinton|Quinton]] ([[User talk:Quinton|talk]]) 04:47, 30 January 2021 (UTC)&lt;br /&gt;
&lt;br /&gt;
::My apologies, I misunderstood how Szemi was naming things, no page migration required and he already tweaked the page here to reflect the update, thanks anyway everyone! [[User:MoffD|MoffD]] ([[User talk:MoffD|talk]]) 18:10, 30 January 2021 (UTC)&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Talk:Keen_1_Gold_Edition&amp;diff=42704</id>
		<title>Talk:Keen 1 Gold Edition</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Talk:Keen_1_Gold_Edition&amp;diff=42704"/>
		<updated>2021-01-29T03:44:41Z</updated>

		<summary type="html">&lt;p&gt;MoffD: Created page with &amp;quot;Hey, I&amp;#039;ve been talking to Szemigi and there&amp;#039;s an update coming that will require a change to this mod&amp;#039;s name, if someone can hit one of us up on discord, pckf or here to discu...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hey, I&#039;ve been talking to Szemigi and there&#039;s an update coming that will require a change to this mod&#039;s name, if someone can hit one of us up on discord, pckf or here to discuss the best way of proceeding that&#039;d be swell, thanks! [[User:MoffD|MoffD]] ([[User talk:MoffD|talk]]) 03:44, 29 January 2021 (UTC)&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Patch:Level_Entry_Window&amp;diff=26905</id>
		<title>Patch:Level Entry Window</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Patch:Level_Entry_Window&amp;diff=26905"/>
		<updated>2015-01-20T00:22:37Z</updated>

		<summary type="html">&lt;p&gt;MoffD: whoops, another one: stubmles-&amp;gt;stumbles&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains patches that affect the window that appears when Keen enters a [[Patch:Levels|level]] (Including the [[Patch:Map|map,]] which happens when he exits a normal level, and when he [[Patch:You didn&#039;t make it past window|dies and restarts a level.]]) In Galaxy this window contains the level entry text as well as an image of Keen himself over which a &#039;thumbs up&#039; sequence plays. In Dreams this window simply contains the level names and a loading bar.&lt;br /&gt;
&lt;br /&gt;
Keen Dreams is unique in that before the level entry text appears a &#039;loading&#039; text appears briefly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Window ==&lt;br /&gt;
&lt;br /&gt;
These patches relate to the setup of the window itself but not the image sequences and text that appears in it. Those have their own sections.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Window size ===&lt;br /&gt;
&lt;br /&gt;
The window has a specific size. Keen&#039;s bitmap appears in the top left of the window. (At 0,0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Level entry window size&lt;br /&gt;
%patch $634A [$0008W] #Height&lt;br /&gt;
%patch $634E [$001AW] #Width&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Level entry window size&lt;br /&gt;
%patch $6305 [$0008W] #Height&lt;br /&gt;
%patch $6309 [$001AW] #Width&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#Level entry window size&lt;br /&gt;
%patch $611A [$0008W] #Height&lt;br /&gt;
%patch $611E [$001AW] #Width&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disable window ===&lt;br /&gt;
&lt;br /&gt;
This patch completely eliminates the level entry window; the screen merely freezes as the level loads.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Disable level entry window&lt;br /&gt;
%patch $6268 $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;Thumbs up&#039; sequence ==&lt;br /&gt;
&lt;br /&gt;
This is a collection of bitmaps displayed in the Keen galaxy window. An initial image is displayed over which a series of smaller images appear in sequence giving the impression of Keen giving the player a thumbs up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bitmaps used ===&lt;br /&gt;
&lt;br /&gt;
For unknown reasons it is currently not possible to change the bitmaps used for the thumbs up sequence, changing the values causes the bitmaps not to be displayed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Initial bitmap used for &#039;thumbs up&#039; sequence&lt;br /&gt;
%patch $62AE [$005CW]&lt;br /&gt;
%patch $62C7 [$005CW]&lt;br /&gt;
%patch $631C [$005CW]&lt;br /&gt;
%patch $634A [$005CW]&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Position of &#039;thumbs up&#039; sequence ===&lt;br /&gt;
&lt;br /&gt;
The sequence of smaller images appears over the initial image at a specific horizontal and vertical location. These differ depending on whether the player is entering the level for the first time or restarting the level after dying. The first value is lower down if larger but the second is &#039;reversed&#039;; the larger it is the further left the image appears.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Position of the frames of level loading animation&lt;br /&gt;
%patch $6478 [$0028W] #Y position&lt;br /&gt;
%patch $647F [$0018W] #X position&lt;br /&gt;
&lt;br /&gt;
#Position of the frames of level loading animation - after player death&lt;br /&gt;
%patch $640D [$0028W] #Y position&lt;br /&gt;
%patch $6414 [$0018W] #X position&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Position of the frames of level loading animation&lt;br /&gt;
%patch $6433 [$0028W] #Y position&lt;br /&gt;
%patch $643A [$0018W] #X position&lt;br /&gt;
&lt;br /&gt;
#Position of the frames of level loading animation - after player death&lt;br /&gt;
%patch $63C8 [$0028W] #Y position&lt;br /&gt;
%patch $63CF [$0018W] #X position&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#Position of the frames of level loading animation&lt;br /&gt;
%patch $6248 [$0028W] #Y position&lt;br /&gt;
%patch $624F [$0018W] #X position&lt;br /&gt;
&lt;br /&gt;
#Position of the frames of level loading animation - after player death&lt;br /&gt;
%patch $61DD [$0028W] #Y position&lt;br /&gt;
%patch $61E4 [$0018W] #X position&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== No &#039;thumbs up&#039; sequence ===&lt;br /&gt;
&lt;br /&gt;
This patch removes the &#039;thumbs up&#039; sequence from the window. This means only one, unchanging, image appears in the window.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#No thumbs up when entering levels&lt;br /&gt;
%patch $642A $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#No thumbs up when entering levels&lt;br /&gt;
%patch $63E5 $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#No thumbs up when entering levels&lt;br /&gt;
%patch $61FA $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Level text and names ==&lt;br /&gt;
&lt;br /&gt;
Keen Galaxy and Dreams has individual names for its levels. These work in a complex manner. There are lists of level names, the location of which is controlled by lists of pointers, the location of which is referenced in the code. All patches that follow use the default values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;Loading&#039; text ===&lt;br /&gt;
&lt;br /&gt;
In [[Keen Dreams]] the text &#039;Loading&#039; appears before the level entry text while the game loads a few basic functions. See [[Patch:Text patches]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen Dreams&amp;quot;&amp;gt;&lt;br /&gt;
#Keen Dreams level loading text&lt;br /&gt;
%patch $4573  [$0650W] #Text called from&lt;br /&gt;
%patch $240C0 &amp;quot;Loading&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Text position ===&lt;br /&gt;
&lt;br /&gt;
The level entry text is centered vertically and horizontally, but offset to the right horizontally by 48 ($30) pixels; the width of Keen&#039;s bitmap. The second value here is the location of the text, the first the location of the text &#039;&#039;and&#039;&#039; the thumbs up sequence. Both values should match.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Horizontal location of level entry text&lt;br /&gt;
%patch $6350 $30 #Text and thumbs up&lt;br /&gt;
%patch $6355 $30 #Text&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pointer list locations ===&lt;br /&gt;
&lt;br /&gt;
These are the start of the level names, where the list of level names are read from. They are in [[Patch:Text patches|standard text patch format]] with one twist, there are TWO word values giving the location in the code minus the text start location instead of one. In the Keen 4 example below the text starts at $2EE70 so the level name list is at $2EE70 + $18F4 = $30764&lt;br /&gt;
&lt;br /&gt;
There are two values for each reference because the level name pointers are 32-bit (Four bytes), meaning that two values each of two bytes must be read then added together. The first value is by default unimportant since all of those values are zero. (A side effect of this is that all default level names must be multiples of 16 bytes long.) The two values in each reference don&#039;t have to be anywhere near each other, but unless they are two bytes different this makes things a lot more complex.&lt;br /&gt;
&lt;br /&gt;
There shouldn&#039;t be any need to relocate the pointer lists unless you are planning on adding a lot of extra levels and the default locations don&#039;t have enough space. There are three references, one loads the level entry text when Keen enters levels. The remaining two loads the level name when Keen dies and when the status window is displayed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Where level entry text list is located:&lt;br /&gt;
%patch $6274 [$1958W]&lt;br /&gt;
%patch $6270 [$195AW]&lt;br /&gt;
&lt;br /&gt;
#Where level name list is located:&lt;br /&gt;
%patch $6648 [$18F4W] #Didn&#039;t make it past 1&lt;br /&gt;
%patch $6644 [$18F6W] #Didn&#039;t make it past 2&lt;br /&gt;
%patch $7D2C [$18F4W] #Status window 1&lt;br /&gt;
%patch $7D28 [$18F6W] #Status window 2&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Where level entry text list is located:&lt;br /&gt;
%patch $622F [$17D8W]&lt;br /&gt;
%patch $622B [$17DAW]&lt;br /&gt;
&lt;br /&gt;
#Where level name list is located:&lt;br /&gt;
%patch $6603 [$1774W] #Didn&#039;t make it past 1&lt;br /&gt;
%patch $65FF [$1776W] #Didn&#039;t make it past 2&lt;br /&gt;
%patch $7D10 [$1774W] #Status window 1&lt;br /&gt;
%patch $7D0C [$1776W] #Status window 2&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#Where level entry text list is located:&lt;br /&gt;
%patch $6044 [$17E6W]&lt;br /&gt;
%patch $6040 [$17E8W]&lt;br /&gt;
&lt;br /&gt;
#Where level name list is located:&lt;br /&gt;
%patch $6418 [$1782W] #Didn&#039;t make it past 1&lt;br /&gt;
%patch $6414 [$1784W] #Didn&#039;t make it past 2&lt;br /&gt;
%patch $7AC0 [$1782W] #Status window 1&lt;br /&gt;
%patch $7ABC [$1784W] #Status window 2&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Level Name Pointer Lists ===&lt;br /&gt;
&lt;br /&gt;
The next step is the level name pointer list, a list of [[Patch:Executable segments|32-bit values giving the location of the level entry texts and names.]] By default the lower two bytes of these values is zero, meaning the location of each text entry can be found by reading the first five letters of the patch. Thus the Keen 4 map name value of $1F040000RL points to the text at $1F040. This leads to the side effect that all level names are multiples of 16 bytes long.&lt;br /&gt;
&lt;br /&gt;
There is some space in the level lists for extra levels, in Keen 4 up to six new entries are allowed without having to change the list location. (Just add them to the end of the default list.) [[Patch:Levels#Extra_levels|This is important when adding extra levels as levels need text or the game will freeze.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Level name pointers:&lt;br /&gt;
%patch $30764 $1F040000RL #Map&lt;br /&gt;
              $1F050000RL #Level 1&lt;br /&gt;
              $1F060000RL #Level 2&lt;br /&gt;
              $1F070000RL #Level 3&lt;br /&gt;
              $1F090000RL #Level 4...&lt;br /&gt;
              $1F0B0000RL&lt;br /&gt;
              $1F0C0000RL&lt;br /&gt;
              $1F0D0000RL&lt;br /&gt;
              $1F0E0000RL&lt;br /&gt;
              $1F0F0000RL&lt;br /&gt;
              $1F100000RL&lt;br /&gt;
              $1F110000RL&lt;br /&gt;
              $1F130000RL&lt;br /&gt;
              $1F150000RL&lt;br /&gt;
              $1F180000RL&lt;br /&gt;
              $1F1A0000RL&lt;br /&gt;
              $1F1B0000RL&lt;br /&gt;
              $1F1C0000RL&lt;br /&gt;
              $1F1D0000RL #BWB Rocket&lt;br /&gt;
&lt;br /&gt;
#Level entrance text pointers&lt;br /&gt;
%patch $307C8 $1F1F0000RL #Map&lt;br /&gt;
              $1F210000RL #Level 1&lt;br /&gt;
              $1F240000RL #Level 2&lt;br /&gt;
              $1F260000RL #Level 3...&lt;br /&gt;
              $1F290000RL&lt;br /&gt;
              $1F2D0000RL&lt;br /&gt;
              $1F300000RL&lt;br /&gt;
              $1F330000RL&lt;br /&gt;
              $1F350000RL&lt;br /&gt;
              $1F380000RL&lt;br /&gt;
              $1F3A0000RL&lt;br /&gt;
              $1F3D0000RL&lt;br /&gt;
              $1F400000RL&lt;br /&gt;
              $1F430000RL&lt;br /&gt;
              $1F470000RL&lt;br /&gt;
              $1F4B0000RL&lt;br /&gt;
              $1F4E0000RL&lt;br /&gt;
              $1F510000RL&lt;br /&gt;
              $1F540000RL #BWB Rocket&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Level name pointers:&lt;br /&gt;
%patch $31AB4 $20040000RL #Map&lt;br /&gt;
              $20050000RL #Level 1&lt;br /&gt;
              $20070000RL #Level 2&lt;br /&gt;
              $20080000RL #Level 3...&lt;br /&gt;
              $200A0000RL&lt;br /&gt;
              $200C0000RL&lt;br /&gt;
              $200E0000RL&lt;br /&gt;
              $20100000RL&lt;br /&gt;
              $20120000RL&lt;br /&gt;
              $20140000RL&lt;br /&gt;
              $20160000RL&lt;br /&gt;
              $20180000RL&lt;br /&gt;
              $201A0000RL&lt;br /&gt;
              $201C0000RL&lt;br /&gt;
              $201D0000RL #Korath base&lt;br /&gt;
              $201E0000RL #BWB&lt;br /&gt;
              $20100000RL #High scores&lt;br /&gt;
&lt;br /&gt;
#Level entrance text pointers&lt;br /&gt;
%patch $31B18 $201F0000RL #Map&lt;br /&gt;
              $20220000RL #Level 1&lt;br /&gt;
              $20250000RL #Level 2&lt;br /&gt;
              $20280000RL #Level 3...&lt;br /&gt;
              $202B0000RL&lt;br /&gt;
              $202E0000RL&lt;br /&gt;
              $20310000RL&lt;br /&gt;
              $20340000RL&lt;br /&gt;
              $20370000RL&lt;br /&gt;
              $203A0000RL&lt;br /&gt;
              $203D0000RL&lt;br /&gt;
              $20400000RL&lt;br /&gt;
              $20440000RL&lt;br /&gt;
              $20470000RL #Korath base&lt;br /&gt;
              $204A0000RL #BWB&lt;br /&gt;
              $204D0000RL #High scores&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#Level name pointers:&lt;br /&gt;
%patch $324B2 $1EF40000RL #Map&lt;br /&gt;
              $1EF50000RL #Level 1&lt;br /&gt;
              $1EF70000RL #Level 2&lt;br /&gt;
              $1EF80000RL #Level 3&lt;br /&gt;
              $1EFA0000RL #Level 4...&lt;br /&gt;
              $1EFC0000RL&lt;br /&gt;
              $1EFD0000RL&lt;br /&gt;
              $1EFF0000RL&lt;br /&gt;
              $1F000000RL&lt;br /&gt;
              $1F020000RL&lt;br /&gt;
              $1F030000RL&lt;br /&gt;
              $1F040000RL&lt;br /&gt;
              $1F050000RL&lt;br /&gt;
              $1F070000RL&lt;br /&gt;
              $1F090000RL&lt;br /&gt;
              $1F0B0000RL&lt;br /&gt;
              $1F0D0000RL&lt;br /&gt;
              $1F0E0000RL #BWB&lt;br /&gt;
              $1F100000RL #High scores&lt;br /&gt;
&lt;br /&gt;
#Level entrance text pointers&lt;br /&gt;
%patch $32516 $1F110000RL #Map&lt;br /&gt;
              $1F130000RL #Level 1&lt;br /&gt;
              $1F160000RL #Level 2&lt;br /&gt;
              $1F190000RL #Level 3&lt;br /&gt;
              $1F1C0000RL #Level 4...&lt;br /&gt;
              $1F1F0000RL&lt;br /&gt;
              $1F220000RL&lt;br /&gt;
              $1F250000RL&lt;br /&gt;
              $1F270000RL&lt;br /&gt;
              $1F2A0000RL&lt;br /&gt;
              $1F2D0000RL&lt;br /&gt;
              $1F300000RL&lt;br /&gt;
              $1F350000RL&lt;br /&gt;
              $1F380000RL&lt;br /&gt;
              $1F3C0000RL&lt;br /&gt;
              $1F400000RL&lt;br /&gt;
              $1F440000RL&lt;br /&gt;
              $1F470000RL #BWB&lt;br /&gt;
              $1F4A0000RL #Highscores&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Level names and entrance texts ===&lt;br /&gt;
&lt;br /&gt;
These are almost standard [[Patch:Text patches|text patches]]. There is a program to automate patching level names, [[Startext]]. In the case of [[Keen 5]] there is a special text displayed when Keen is &#039;low&#039; enough on the world map. This is used to tell the player he is on the Korath III base.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Level names:&lt;br /&gt;
%patch $1F040 &amp;quot;Shadowlands    &amp;quot; $00&lt;br /&gt;
%patch $1F050 &amp;quot;Border Village &amp;quot; $00&lt;br /&gt;
%patch $1F060 &amp;quot;Slug Village   &amp;quot; $00&lt;br /&gt;
%patch $1F0B0 &amp;quot;Chasm of Chills&amp;quot; $00&lt;br /&gt;
%patch $1F0C0 &amp;quot;Crystalus      &amp;quot; $00&lt;br /&gt;
%patch $1F0D0 &amp;quot;Hillville      &amp;quot; $00&lt;br /&gt;
%patch $1F0E0 &amp;quot;Sand Yego      &amp;quot; $00&lt;br /&gt;
%patch $1F0F0 &amp;quot;Miragia        &amp;quot; $00&lt;br /&gt;
%patch $1F100 &amp;quot;Lifewater Oasis&amp;quot; $00&lt;br /&gt;
%patch $1F1A0 &amp;quot;Isle of Tar    &amp;quot; $00&lt;br /&gt;
%patch $1F1B0 &amp;quot;Isle of Fire   &amp;quot; $00&lt;br /&gt;
%patch $1F1C0 &amp;quot;Well of Wishes &amp;quot; $00&lt;br /&gt;
%patch $1F1D0 &amp;quot;Bean-with-Bacon&amp;quot; $0A&lt;br /&gt;
              &amp;quot;Megarocket     &amp;quot; $00&lt;br /&gt;
%patch $1F070 &amp;quot;The Perilous Pit               &amp;quot; $00&lt;br /&gt;
%patch $1F090 &amp;quot;Cave of the Descendents        &amp;quot; $00&lt;br /&gt;
%patch $1F110 &amp;quot;Pyramid of the Moons           &amp;quot; $00&lt;br /&gt;
%patch $1F130 &amp;quot;Pyramid of Shadows             &amp;quot; $00&lt;br /&gt;
%patch $1F150 &amp;quot;Pyramid of the&amp;quot;                  $0A&lt;br /&gt;
              &amp;quot;Gnosticene Ancients            &amp;quot; $00&lt;br /&gt;
%patch $1F180 &amp;quot;Pyramid of the Forbidden       &amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen entering levels&lt;br /&gt;
%patch $1F1F0 &amp;quot;Keen enters the&amp;quot; $0A &amp;quot;Shadowlands    &amp;quot; $00&lt;br /&gt;
%patch $1F240 &amp;quot;Keen slips into&amp;quot; $0A &amp;quot;Slug Village   &amp;quot; $00&lt;br /&gt;
%patch $1F330 &amp;quot;Keen stumbles upon&amp;quot; $0A &amp;quot;Hillville   &amp;quot; $00&lt;br /&gt;
%patch $1F380 &amp;quot;Keen disappears into&amp;quot; $0A &amp;quot;Miragia   &amp;quot; $00&lt;br /&gt;
%patch $1F210 &amp;quot;Keen makes a run for&amp;quot; $0A &amp;quot;the Border Village        &amp;quot; $00&lt;br /&gt;
%patch $1F260 &amp;quot;Keen plummets into&amp;quot; $0A &amp;quot;the The Perilous Pit        &amp;quot; $00&lt;br /&gt;
%patch $1F2D0 &amp;quot;Keen shivers along&amp;quot; $0A &amp;quot;the Chasm of Chills         &amp;quot; $00&lt;br /&gt;
%patch $1F300 &amp;quot;Keen reflects upon&amp;quot; $0A &amp;quot;entering Crystalus          &amp;quot; $00&lt;br /&gt;
%patch $1F350 &amp;quot;Keen grits his teeth&amp;quot; $0A &amp;quot;and enters Sand Yego      &amp;quot; $00&lt;br /&gt;
%patch $1F3A0 &amp;quot;Keen crawls into&amp;quot; $0A &amp;quot;Lifewater Oasis               &amp;quot; $00&lt;br /&gt;
%patch $1F3D0 &amp;quot;Keen backs into the&amp;quot; $0A &amp;quot;Pyramid of the Moons       &amp;quot; $00&lt;br /&gt;
%patch $1F400 &amp;quot;Keen move silently in&amp;quot; $0A &amp;quot;the Pyramid of Shadows   &amp;quot; $00&lt;br /&gt;
%patch $1F4B0 &amp;quot;Keen mucks along the&amp;quot; $0A &amp;quot;Isle of Tar               &amp;quot; $00&lt;br /&gt;
%patch $1F4E0 &amp;quot;Keen blazes across the&amp;quot; $0A &amp;quot;Isle of Fire            &amp;quot; $00&lt;br /&gt;
%patch $1F510 &amp;quot;Keen hopefully enters&amp;quot; $0A &amp;quot;the Well of Wishes       &amp;quot; $00&lt;br /&gt;
%patch $1F290 &amp;quot;Keen plods down into&amp;quot; $0A &amp;quot;the Cave of the Descendents               &amp;quot; $00&lt;br /&gt;
%patch $1F430 &amp;quot;Keen reverently enters&amp;quot; $0A &amp;quot;the Pyramid of the&amp;quot; $0A &amp;quot;Gnosticene Ancients  &amp;quot; $00&lt;br /&gt;
%patch $1F470 &amp;quot;Keen hesitantly crosses&amp;quot; $0A &amp;quot;into the Pyramid of the&amp;quot; $0A &amp;quot;Forbidden      &amp;quot; $00&lt;br /&gt;
%patch $1F540 &amp;quot;Keen launches into the&amp;quot; $0A &amp;quot;Bean-with-Bacon&amp;quot; $0A &amp;quot;Megarocket              &amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Level names:&lt;br /&gt;
%patch $20040 &amp;quot;Omegamatic&amp;quot; $00&lt;br /&gt;
%patch $20050 &amp;quot;Ion Ventilation System&amp;quot; $00&lt;br /&gt;
%patch $20070 &amp;quot;Security Center&amp;quot; $00&lt;br /&gt;
%patch $20080 &amp;quot;Defense Tunnel Vlook&amp;quot; $00&lt;br /&gt;
%patch $200A0 &amp;quot;Energy Flow Systems&amp;quot; $00&lt;br /&gt;
%patch $200C0 &amp;quot;Defense Tunnel Burrh&amp;quot; $00&lt;br /&gt;
%patch $200E0 &amp;quot;Regulation&amp;quot; $0A &amp;quot;Control Center&amp;quot; $00&lt;br /&gt;
%patch $20100 &amp;quot;Defense Tunnel Sorra&amp;quot; $00&lt;br /&gt;
%patch $20120 &amp;quot;Neutrino&amp;quot; $0A &amp;quot;Burst Injector&amp;quot; $00&lt;br /&gt;
%patch $20140 &amp;quot;Defense Tunnel Teln&amp;quot; $00&lt;br /&gt;
%patch $20160 &amp;quot;Brownian&amp;quot; $0A &amp;quot;Motion Inducer&amp;quot; $00&lt;br /&gt;
%patch $20180 &amp;quot;Gravitational&amp;quot; $0A &amp;quot;Damping Hub&amp;quot; $00&lt;br /&gt;
%patch $201A0 &amp;quot;Quantum&amp;quot; $0A &amp;quot;Explosion Dynamo&amp;quot; $00&lt;br /&gt;
%patch $201C0 &amp;quot;Korath III Base&amp;quot; $00&lt;br /&gt;
%patch $201D0 &amp;quot;BWBMegarocket&amp;quot; $00&lt;br /&gt;
%patch $201E0 &amp;quot;High Scores&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen entering levels&lt;br /&gt;
%patch $201F0 &amp;quot;Keen purposefully&amp;quot; $0A &amp;quot;wanders about the&amp;quot; $0A &amp;quot;Omegamatic&amp;quot; $00&lt;br /&gt;
%patch $20220 &amp;quot;Keen investigates the&amp;quot; $0A &amp;quot;Ion Ventilation System&amp;quot; $00&lt;br /&gt;
%patch $20250 &amp;quot;Keen struts through&amp;quot; $0A &amp;quot;the Security Center&amp;quot; $00&lt;br /&gt;
%patch $20280 &amp;quot;Keen invades&amp;quot; $0A &amp;quot;Defense Tunnel Vlook&amp;quot; $00&lt;br /&gt;
%patch $202B0 &amp;quot;Keen engages&amp;quot; $0A &amp;quot;Energy Flow Systems&amp;quot; $00&lt;br /&gt;
%patch $202E0 &amp;quot;Keen barrels into&amp;quot; $0A &amp;quot;Defense Tunnel Burrh&amp;quot; $00&lt;br /&gt;
%patch $20310 &amp;quot;Keen goes nuts in&amp;quot; $0A &amp;quot;the Regulation&amp;quot; $0A &amp;quot;Control Center&amp;quot; $00&lt;br /&gt;
%patch $20340 &amp;quot;Keen regrets entering&amp;quot; $0A &amp;quot;Defense Tunnel Sorra&amp;quot; $00&lt;br /&gt;
%patch $20370 &amp;quot;Keen blows through&amp;quot; $0A &amp;quot;the Neutrino&amp;quot; $0A &amp;quot;Burst Injector&amp;quot; $00&lt;br /&gt;
%patch $203A0 &amp;quot;Keen trots through&amp;quot; $0A &amp;quot;Defense Tunnel Teln&amp;quot; $00&lt;br /&gt;
%patch $203D0 &amp;quot;Keen breaks into&amp;quot; $0A &amp;quot;the Brownian&amp;quot; $0A &amp;quot;Motion Inducer&amp;quot; $00&lt;br /&gt;
%patch $20400 &amp;quot;Keen hurries through&amp;quot; $0A &amp;quot;the Gravitational&amp;quot; $0A &amp;quot;Damping Hub&amp;quot; $00&lt;br /&gt;
%patch $20440 &amp;quot;Keen explodes into&amp;quot; $0A &amp;quot;the Quantum&amp;quot; $0A &amp;quot;Explosion Dynamo&amp;quot; $00&lt;br /&gt;
%patch $20470 &amp;quot;Keen faces danger&amp;quot; $0A &amp;quot;in the secret&amp;quot; $0A &amp;quot;Korath III Base&amp;quot; $00&lt;br /&gt;
%patch $204A0 &amp;quot;Keen will not be&amp;quot; $0A &amp;quot;in the BWBMegarocket&amp;quot; $00&lt;br /&gt;
%patch $204D0 &amp;quot;Keen unexplainedly&amp;quot; $0A &amp;quot;finds himself by&amp;quot; $0A &amp;quot;theHigh Scores&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Korath base text&lt;br /&gt;
%patch $6210  [$64]    #Vertical location for difference&lt;br /&gt;
%patch $6214  [$0223W] #Text called from&lt;br /&gt;
%patch $30563 &amp;quot;Keen steps out&amp;quot; $0A &amp;quot;onto Korath III&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#Keen entering levels&lt;br /&gt;
%patch $1F110 &amp;quot;Keen attacks&amp;quot; $0A &amp;quot;Fribbulus Xax&amp;quot; $00&lt;br /&gt;
%patch $1F130 &amp;quot;Keen hops across&amp;quot; $0A &amp;quot;Bloogwaters&amp;quot; $0A &amp;quot;Crossing&amp;quot; $00&lt;br /&gt;
%patch $1F160 &amp;quot;Keen fights his way&amp;quot; $0A &amp;quot;through Guard Post One&amp;quot; $00&lt;br /&gt;
%patch $1F190 &amp;quot;Keen crosses into the&amp;quot; $0A &amp;quot;First Dome of Darkness&amp;quot; $00&lt;br /&gt;
%patch $1F1C0 &amp;quot;Keen dares to enter the&amp;quot; $0A &amp;quot;Second Dome of Darkness&amp;quot; $00&lt;br /&gt;
%patch $1F1F0 &amp;quot;Keen foolishly enters&amp;quot; $0A &amp;quot;the Bloogdome&amp;quot; $00&lt;br /&gt;
%patch $1F220 &amp;quot;Keen makes his way&amp;quot; $0A &amp;quot;into Bloogton&amp;quot; $0A &amp;quot;Manufacturing&amp;quot; $00&lt;br /&gt;
%patch $1F250 &amp;quot;Keen ascends&amp;quot; $0A &amp;quot;Bloogton Tower&amp;quot; $00&lt;br /&gt;
%patch $1F270 &amp;quot;Keen hungrily enters&amp;quot; $0A &amp;quot;Bloogfoods, Inc.&amp;quot; $00&lt;br /&gt;
%patch $1F2A0 &amp;quot;Keen smashes through&amp;quot; $0A &amp;quot;Guard Post Two&amp;quot; $00&lt;br /&gt;
%patch $1F2D0 &amp;quot;Keen seeks thrills&amp;quot; $0A &amp;quot;in Bloogville&amp;quot; $00&lt;br /&gt;
%patch $1F300 &amp;quot;Keen rockets into the&amp;quot; $0A &amp;quot;Bloog Aeronautics and&amp;quot; $0A &amp;quot;Space Administration&amp;quot; $00&lt;br /&gt;
%patch $1F350 &amp;quot;Keen boldly assaults&amp;quot; $0A &amp;quot;Guard Post Three&amp;quot; $00&lt;br /&gt;
%patch $1F380 &amp;quot;Keen whoops it up in&amp;quot; $0A &amp;quot;the Bloogbae&amp;quot; $0A &amp;quot;Recreational District&amp;quot; $00&lt;br /&gt;
%patch $1F3C0 &amp;quot;Keen purposefully struts&amp;quot; $0A &amp;quot;into the Bloogbase&amp;quot; $0A &amp;quot;Management District&amp;quot; $00&lt;br /&gt;
%patch $1F400 &amp;quot;Keen bravely enters the&amp;quot; $0A &amp;quot;Bloog Control Center,&amp;quot; $0A &amp;quot;looking for Molly&amp;quot; $00&lt;br /&gt;
%patch $1F440 &amp;quot;Keen warily enters&amp;quot; $0A &amp;quot;Blooglab Space&amp;quot; $0A &amp;quot;Station&amp;quot; $00&lt;br /&gt;
%patch $1F470 &amp;quot;Keen returns to the&amp;quot; $0A &amp;quot;Bean-with-Bacon&amp;quot; $0A &amp;quot;Megarocket&amp;quot; $00&lt;br /&gt;
%patch $1F4A0 &amp;quot;Keen is in the High&amp;quot; $0A &amp;quot;Score screen. Call Id!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== High scores has entry text and name (Keen 4) ====&lt;br /&gt;
&lt;br /&gt;
This patch gives the high scores level in Keen 4 an entry text and name. It does this by using parts of the level entry texts as level names, freeing up space for the high Score level name and entry text. This is useful for those who want to enable access to the high scores level.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;#Level name pointers: (Compressed)&lt;br /&gt;
%patch $30764 $1F200000RL #Map&lt;br /&gt;
              $1F220009RL #Level 1&lt;br /&gt;
              $1F250000RL #Level 2&lt;br /&gt;
              $1F270007RL #Level 3&lt;br /&gt;
              $1F090000RL #Level 4...&lt;br /&gt;
              $1F0B0000RL&lt;br /&gt;
              $1F0C0000RL&lt;br /&gt;
              $1F0D0000RL&lt;br /&gt;
              $1F0E0000RL&lt;br /&gt;
              $1F0F0000RL&lt;br /&gt;
              $1F100000RL&lt;br /&gt;
              $1F110000RL&lt;br /&gt;
              $1F130000RL&lt;br /&gt;
              $1F150000RL&lt;br /&gt;
              $1F180000RL&lt;br /&gt;
              $1F1A0000RL&lt;br /&gt;
              $1F1B0000RL&lt;br /&gt;
              $1F1C0000RL&lt;br /&gt;
              $1F1D0000RL #Bwb Rocket&lt;br /&gt;
              $1F060005RL #High scores&lt;br /&gt;
&lt;br /&gt;
#High score entry text&lt;br /&gt;
%patch $30814 $1F040000RL&lt;br /&gt;
&lt;br /&gt;
#High score entry text and name&lt;br /&gt;
%patch $1F040 &amp;quot;Keen is in the High&amp;quot; $0A&lt;br /&gt;
              &amp;quot;Scores! Call Id!&amp;quot; $00&lt;br /&gt;
              &amp;quot;High Scores&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{PatchCategories|Keen 1|}}&lt;br /&gt;
{{PatchCategories|Keen 2|}}&lt;br /&gt;
{{PatchCategories|Keen 3|}}&lt;br /&gt;
{{PatchCategories|Keen 4|}}&lt;br /&gt;
{{PatchCategories|Keen 5|}}&lt;br /&gt;
{{PatchCategories|Keen 6|}}&lt;br /&gt;
{{PatchCategories|Keen Dreams|}}&lt;br /&gt;
{{PatchCategories|Levels|}}&lt;br /&gt;
{{PatchCategories|Gameplay|}}&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Patch:Level_Entry_Window&amp;diff=26904</id>
		<title>Patch:Level Entry Window</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Patch:Level_Entry_Window&amp;diff=26904"/>
		<updated>2015-01-20T00:16:47Z</updated>

		<summary type="html">&lt;p&gt;MoffD: palyer-&amp;gt;player&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains patches that affect the window that appears when Keen enters a [[Patch:Levels|level]] (Including the [[Patch:Map|map,]] which happens when he exits a normal level, and when he [[Patch:You didn&#039;t make it past window|dies and restarts a level.]]) In Galaxy this window contains the level entry text as well as an image of Keen himself over which a &#039;thumbs up&#039; sequence plays. In Dreams this window simply contains the level names and a loading bar.&lt;br /&gt;
&lt;br /&gt;
Keen Dreams is unique in that before the level entry text appears a &#039;loading&#039; text appears briefly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Window ==&lt;br /&gt;
&lt;br /&gt;
These patches relate to the setup of the window itself but not the image sequences and text that appears in it. Those have their own sections.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Window size ===&lt;br /&gt;
&lt;br /&gt;
The window has a specific size. Keen&#039;s bitmap appears in the top left of the window. (At 0,0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Level entry window size&lt;br /&gt;
%patch $634A [$0008W] #Height&lt;br /&gt;
%patch $634E [$001AW] #Width&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Level entry window size&lt;br /&gt;
%patch $6305 [$0008W] #Height&lt;br /&gt;
%patch $6309 [$001AW] #Width&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#Level entry window size&lt;br /&gt;
%patch $611A [$0008W] #Height&lt;br /&gt;
%patch $611E [$001AW] #Width&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disable window ===&lt;br /&gt;
&lt;br /&gt;
This patch completely eliminates the level entry window; the screen merely freezes as the level loads.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Disable level entry window&lt;br /&gt;
%patch $6268 $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;Thumbs up&#039; sequence ==&lt;br /&gt;
&lt;br /&gt;
This is a collection of bitmaps displayed in the Keen galaxy window. An initial image is displayed over which a series of smaller images appear in sequence giving the impression of Keen giving the player a thumbs up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Bitmaps used ===&lt;br /&gt;
&lt;br /&gt;
For unknown reasons it is currently not possible to change the bitmaps used for the thumbs up sequence, changing the values causes the bitmaps not to be displayed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Initial bitmap used for &#039;thumbs up&#039; sequence&lt;br /&gt;
%patch $62AE [$005CW]&lt;br /&gt;
%patch $62C7 [$005CW]&lt;br /&gt;
%patch $631C [$005CW]&lt;br /&gt;
%patch $634A [$005CW]&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Position of &#039;thumbs up&#039; sequence ===&lt;br /&gt;
&lt;br /&gt;
The sequence of smaller images appears over the initial image at a specific horizontal and vertical location. These differ depending on whether the player is entering the level for the first time or restarting the level after dying. The first value is lower down if larger but the second is &#039;reversed&#039;; the larger it is the further left the image appears.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Position of the frames of level loading animation&lt;br /&gt;
%patch $6478 [$0028W] #Y position&lt;br /&gt;
%patch $647F [$0018W] #X position&lt;br /&gt;
&lt;br /&gt;
#Position of the frames of level loading animation - after player death&lt;br /&gt;
%patch $640D [$0028W] #Y position&lt;br /&gt;
%patch $6414 [$0018W] #X position&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Position of the frames of level loading animation&lt;br /&gt;
%patch $6433 [$0028W] #Y position&lt;br /&gt;
%patch $643A [$0018W] #X position&lt;br /&gt;
&lt;br /&gt;
#Position of the frames of level loading animation - after player death&lt;br /&gt;
%patch $63C8 [$0028W] #Y position&lt;br /&gt;
%patch $63CF [$0018W] #X position&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#Position of the frames of level loading animation&lt;br /&gt;
%patch $6248 [$0028W] #Y position&lt;br /&gt;
%patch $624F [$0018W] #X position&lt;br /&gt;
&lt;br /&gt;
#Position of the frames of level loading animation - after player death&lt;br /&gt;
%patch $61DD [$0028W] #Y position&lt;br /&gt;
%patch $61E4 [$0018W] #X position&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== No &#039;thumbs up&#039; sequence ===&lt;br /&gt;
&lt;br /&gt;
This patch removes the &#039;thumbs up&#039; sequence from the window. This means only one, unchanging, image appears in the window.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#No thumbs up when entering levels&lt;br /&gt;
%patch $642A $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#No thumbs up when entering levels&lt;br /&gt;
%patch $63E5 $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#No thumbs up when entering levels&lt;br /&gt;
%patch $61FA $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Level text and names ==&lt;br /&gt;
&lt;br /&gt;
Keen Galaxy and Dreams has individual names for its levels. These work in a complex manner. There are lists of level names, the location of which is controlled by lists of pointers, the location of which is referenced in the code. All patches that follow use the default values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;Loading&#039; text ===&lt;br /&gt;
&lt;br /&gt;
In [[Keen Dreams]] the text &#039;Loading&#039; appears before the level entry text while the game loads a few basic functions. See [[Patch:Text patches]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen Dreams&amp;quot;&amp;gt;&lt;br /&gt;
#Keen Dreams level loading text&lt;br /&gt;
%patch $4573  [$0650W] #Text called from&lt;br /&gt;
%patch $240C0 &amp;quot;Loading&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Text position ===&lt;br /&gt;
&lt;br /&gt;
The level entry text is centered vertically and horizontally, but offset to the right horizontally by 48 ($30) pixels; the width of Keen&#039;s bitmap. The second value here is the location of the text, the first the location of the text &#039;&#039;and&#039;&#039; the thumbs up sequence. Both values should match.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Horizontal location of level entry text&lt;br /&gt;
%patch $6350 $30 #Text and thumbs up&lt;br /&gt;
%patch $6355 $30 #Text&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pointer list locations ===&lt;br /&gt;
&lt;br /&gt;
These are the start of the level names, where the list of level names are read from. They are in [[Patch:Text patches|standard text patch format]] with one twist, there are TWO word values giving the location in the code minus the text start location instead of one. In the Keen 4 example below the text starts at $2EE70 so the level name list is at $2EE70 + $18F4 = $30764&lt;br /&gt;
&lt;br /&gt;
There are two values for each reference because the level name pointers are 32-bit (Four bytes), meaning that two values each of two bytes must be read then added together. The first value is by default unimportant since all of those values are zero. (A side effect of this is that all default level names must be multiples of 16 bytes long.) The two values in each reference don&#039;t have to be anywhere near each other, but unless they are two bytes different this makes things a lot more complex.&lt;br /&gt;
&lt;br /&gt;
There shouldn&#039;t be any need to relocate the pointer lists unless you are planning on adding a lot of extra levels and the default locations don&#039;t have enough space. There are three references, one loads the level entry text when Keen enters levels. The remaining two loads the level name when Keen dies and when the status window is displayed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Where level entry text list is located:&lt;br /&gt;
%patch $6274 [$1958W]&lt;br /&gt;
%patch $6270 [$195AW]&lt;br /&gt;
&lt;br /&gt;
#Where level name list is located:&lt;br /&gt;
%patch $6648 [$18F4W] #Didn&#039;t make it past 1&lt;br /&gt;
%patch $6644 [$18F6W] #Didn&#039;t make it past 2&lt;br /&gt;
%patch $7D2C [$18F4W] #Status window 1&lt;br /&gt;
%patch $7D28 [$18F6W] #Status window 2&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Where level entry text list is located:&lt;br /&gt;
%patch $622F [$17D8W]&lt;br /&gt;
%patch $622B [$17DAW]&lt;br /&gt;
&lt;br /&gt;
#Where level name list is located:&lt;br /&gt;
%patch $6603 [$1774W] #Didn&#039;t make it past 1&lt;br /&gt;
%patch $65FF [$1776W] #Didn&#039;t make it past 2&lt;br /&gt;
%patch $7D10 [$1774W] #Status window 1&lt;br /&gt;
%patch $7D0C [$1776W] #Status window 2&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#Where level entry text list is located:&lt;br /&gt;
%patch $6044 [$17E6W]&lt;br /&gt;
%patch $6040 [$17E8W]&lt;br /&gt;
&lt;br /&gt;
#Where level name list is located:&lt;br /&gt;
%patch $6418 [$1782W] #Didn&#039;t make it past 1&lt;br /&gt;
%patch $6414 [$1784W] #Didn&#039;t make it past 2&lt;br /&gt;
%patch $7AC0 [$1782W] #Status window 1&lt;br /&gt;
%patch $7ABC [$1784W] #Status window 2&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Level Name Pointer Lists ===&lt;br /&gt;
&lt;br /&gt;
The next step is the level name pointer list, a list of [[Patch:Executable segments|32-bit values giving the location of the level entry texts and names.]] By default the lower two bytes of these values is zero, meaning the location of each text entry can be found by reading the first five letters of the patch. Thus the Keen 4 map name value of $1F040000RL points to the text at $1F040. This leads to the side effect that all level names are multiples of 16 bytes long.&lt;br /&gt;
&lt;br /&gt;
There is some space in the level lists for extra levels, in Keen 4 up to six new entries are allowed without having to change the list location. (Just add them to the end of the default list.) [[Patch:Levels#Extra_levels|This is important when adding extra levels as levels need text or the game will freeze.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Level name pointers:&lt;br /&gt;
%patch $30764 $1F040000RL #Map&lt;br /&gt;
              $1F050000RL #Level 1&lt;br /&gt;
              $1F060000RL #Level 2&lt;br /&gt;
              $1F070000RL #Level 3&lt;br /&gt;
              $1F090000RL #Level 4...&lt;br /&gt;
              $1F0B0000RL&lt;br /&gt;
              $1F0C0000RL&lt;br /&gt;
              $1F0D0000RL&lt;br /&gt;
              $1F0E0000RL&lt;br /&gt;
              $1F0F0000RL&lt;br /&gt;
              $1F100000RL&lt;br /&gt;
              $1F110000RL&lt;br /&gt;
              $1F130000RL&lt;br /&gt;
              $1F150000RL&lt;br /&gt;
              $1F180000RL&lt;br /&gt;
              $1F1A0000RL&lt;br /&gt;
              $1F1B0000RL&lt;br /&gt;
              $1F1C0000RL&lt;br /&gt;
              $1F1D0000RL #BWB Rocket&lt;br /&gt;
&lt;br /&gt;
#Level entrance text pointers&lt;br /&gt;
%patch $307C8 $1F1F0000RL #Map&lt;br /&gt;
              $1F210000RL #Level 1&lt;br /&gt;
              $1F240000RL #Level 2&lt;br /&gt;
              $1F260000RL #Level 3...&lt;br /&gt;
              $1F290000RL&lt;br /&gt;
              $1F2D0000RL&lt;br /&gt;
              $1F300000RL&lt;br /&gt;
              $1F330000RL&lt;br /&gt;
              $1F350000RL&lt;br /&gt;
              $1F380000RL&lt;br /&gt;
              $1F3A0000RL&lt;br /&gt;
              $1F3D0000RL&lt;br /&gt;
              $1F400000RL&lt;br /&gt;
              $1F430000RL&lt;br /&gt;
              $1F470000RL&lt;br /&gt;
              $1F4B0000RL&lt;br /&gt;
              $1F4E0000RL&lt;br /&gt;
              $1F510000RL&lt;br /&gt;
              $1F540000RL #BWB Rocket&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Level name pointers:&lt;br /&gt;
%patch $31AB4 $20040000RL #Map&lt;br /&gt;
              $20050000RL #Level 1&lt;br /&gt;
              $20070000RL #Level 2&lt;br /&gt;
              $20080000RL #Level 3...&lt;br /&gt;
              $200A0000RL&lt;br /&gt;
              $200C0000RL&lt;br /&gt;
              $200E0000RL&lt;br /&gt;
              $20100000RL&lt;br /&gt;
              $20120000RL&lt;br /&gt;
              $20140000RL&lt;br /&gt;
              $20160000RL&lt;br /&gt;
              $20180000RL&lt;br /&gt;
              $201A0000RL&lt;br /&gt;
              $201C0000RL&lt;br /&gt;
              $201D0000RL #Korath base&lt;br /&gt;
              $201E0000RL #BWB&lt;br /&gt;
              $20100000RL #High scores&lt;br /&gt;
&lt;br /&gt;
#Level entrance text pointers&lt;br /&gt;
%patch $31B18 $201F0000RL #Map&lt;br /&gt;
              $20220000RL #Level 1&lt;br /&gt;
              $20250000RL #Level 2&lt;br /&gt;
              $20280000RL #Level 3...&lt;br /&gt;
              $202B0000RL&lt;br /&gt;
              $202E0000RL&lt;br /&gt;
              $20310000RL&lt;br /&gt;
              $20340000RL&lt;br /&gt;
              $20370000RL&lt;br /&gt;
              $203A0000RL&lt;br /&gt;
              $203D0000RL&lt;br /&gt;
              $20400000RL&lt;br /&gt;
              $20440000RL&lt;br /&gt;
              $20470000RL #Korath base&lt;br /&gt;
              $204A0000RL #BWB&lt;br /&gt;
              $204D0000RL #High scores&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#Level name pointers:&lt;br /&gt;
%patch $324B2 $1EF40000RL #Map&lt;br /&gt;
              $1EF50000RL #Level 1&lt;br /&gt;
              $1EF70000RL #Level 2&lt;br /&gt;
              $1EF80000RL #Level 3&lt;br /&gt;
              $1EFA0000RL #Level 4...&lt;br /&gt;
              $1EFC0000RL&lt;br /&gt;
              $1EFD0000RL&lt;br /&gt;
              $1EFF0000RL&lt;br /&gt;
              $1F000000RL&lt;br /&gt;
              $1F020000RL&lt;br /&gt;
              $1F030000RL&lt;br /&gt;
              $1F040000RL&lt;br /&gt;
              $1F050000RL&lt;br /&gt;
              $1F070000RL&lt;br /&gt;
              $1F090000RL&lt;br /&gt;
              $1F0B0000RL&lt;br /&gt;
              $1F0D0000RL&lt;br /&gt;
              $1F0E0000RL #BWB&lt;br /&gt;
              $1F100000RL #High scores&lt;br /&gt;
&lt;br /&gt;
#Level entrance text pointers&lt;br /&gt;
%patch $32516 $1F110000RL #Map&lt;br /&gt;
              $1F130000RL #Level 1&lt;br /&gt;
              $1F160000RL #Level 2&lt;br /&gt;
              $1F190000RL #Level 3&lt;br /&gt;
              $1F1C0000RL #Level 4...&lt;br /&gt;
              $1F1F0000RL&lt;br /&gt;
              $1F220000RL&lt;br /&gt;
              $1F250000RL&lt;br /&gt;
              $1F270000RL&lt;br /&gt;
              $1F2A0000RL&lt;br /&gt;
              $1F2D0000RL&lt;br /&gt;
              $1F300000RL&lt;br /&gt;
              $1F350000RL&lt;br /&gt;
              $1F380000RL&lt;br /&gt;
              $1F3C0000RL&lt;br /&gt;
              $1F400000RL&lt;br /&gt;
              $1F440000RL&lt;br /&gt;
              $1F470000RL #BWB&lt;br /&gt;
              $1F4A0000RL #Highscores&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Level names and entrance texts ===&lt;br /&gt;
&lt;br /&gt;
These are almost standard [[Patch:Text patches|text patches]]. There is a program to automate patching level names, [[Startext]]. In the case of [[Keen 5]] there is a special text displayed when Keen is &#039;low&#039; enough on the world map. This is used to tell the player he is on the Korath III base.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Level names:&lt;br /&gt;
%patch $1F040 &amp;quot;Shadowlands    &amp;quot; $00&lt;br /&gt;
%patch $1F050 &amp;quot;Border Village &amp;quot; $00&lt;br /&gt;
%patch $1F060 &amp;quot;Slug Village   &amp;quot; $00&lt;br /&gt;
%patch $1F0B0 &amp;quot;Chasm of Chills&amp;quot; $00&lt;br /&gt;
%patch $1F0C0 &amp;quot;Crystalus      &amp;quot; $00&lt;br /&gt;
%patch $1F0D0 &amp;quot;Hillville      &amp;quot; $00&lt;br /&gt;
%patch $1F0E0 &amp;quot;Sand Yego      &amp;quot; $00&lt;br /&gt;
%patch $1F0F0 &amp;quot;Miragia        &amp;quot; $00&lt;br /&gt;
%patch $1F100 &amp;quot;Lifewater Oasis&amp;quot; $00&lt;br /&gt;
%patch $1F1A0 &amp;quot;Isle of Tar    &amp;quot; $00&lt;br /&gt;
%patch $1F1B0 &amp;quot;Isle of Fire   &amp;quot; $00&lt;br /&gt;
%patch $1F1C0 &amp;quot;Well of Wishes &amp;quot; $00&lt;br /&gt;
%patch $1F1D0 &amp;quot;Bean-with-Bacon&amp;quot; $0A&lt;br /&gt;
              &amp;quot;Megarocket     &amp;quot; $00&lt;br /&gt;
%patch $1F070 &amp;quot;The Perilous Pit               &amp;quot; $00&lt;br /&gt;
%patch $1F090 &amp;quot;Cave of the Descendents        &amp;quot; $00&lt;br /&gt;
%patch $1F110 &amp;quot;Pyramid of the Moons           &amp;quot; $00&lt;br /&gt;
%patch $1F130 &amp;quot;Pyramid of Shadows             &amp;quot; $00&lt;br /&gt;
%patch $1F150 &amp;quot;Pyramid of the&amp;quot;                  $0A&lt;br /&gt;
              &amp;quot;Gnosticene Ancients            &amp;quot; $00&lt;br /&gt;
%patch $1F180 &amp;quot;Pyramid of the Forbidden       &amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen entering levels&lt;br /&gt;
%patch $1F1F0 &amp;quot;Keen enters the&amp;quot; $0A &amp;quot;Shadowlands    &amp;quot; $00&lt;br /&gt;
%patch $1F240 &amp;quot;Keen slips into&amp;quot; $0A &amp;quot;Slug Village   &amp;quot; $00&lt;br /&gt;
%patch $1F330 &amp;quot;Keen stubmles upon&amp;quot; $0A &amp;quot;Hillville   &amp;quot; $00&lt;br /&gt;
%patch $1F380 &amp;quot;Keen disappears into&amp;quot; $0A &amp;quot;Miragia   &amp;quot; $00&lt;br /&gt;
%patch $1F210 &amp;quot;Keen makes a run for&amp;quot; $0A &amp;quot;the Border Village        &amp;quot; $00&lt;br /&gt;
%patch $1F260 &amp;quot;Keen plummets into&amp;quot; $0A &amp;quot;the The Perilous Pit        &amp;quot; $00&lt;br /&gt;
%patch $1F2D0 &amp;quot;Keen shivers along&amp;quot; $0A &amp;quot;the Chasm of Chills         &amp;quot; $00&lt;br /&gt;
%patch $1F300 &amp;quot;Keen reflects upon&amp;quot; $0A &amp;quot;entering Crystalus          &amp;quot; $00&lt;br /&gt;
%patch $1F350 &amp;quot;Keen grits his teeth&amp;quot; $0A &amp;quot;and enters Sand Yego      &amp;quot; $00&lt;br /&gt;
%patch $1F3A0 &amp;quot;Keen crawls into&amp;quot; $0A &amp;quot;Lifewater Oasis               &amp;quot; $00&lt;br /&gt;
%patch $1F3D0 &amp;quot;Keen backs into the&amp;quot; $0A &amp;quot;Pyramid of the Moons       &amp;quot; $00&lt;br /&gt;
%patch $1F400 &amp;quot;Keen move silently in&amp;quot; $0A &amp;quot;the Pyramid of Shadows   &amp;quot; $00&lt;br /&gt;
%patch $1F4B0 &amp;quot;Keen mucks along the&amp;quot; $0A &amp;quot;Isle of Tar               &amp;quot; $00&lt;br /&gt;
%patch $1F4E0 &amp;quot;Keen blazes across the&amp;quot; $0A &amp;quot;Isle of Fire            &amp;quot; $00&lt;br /&gt;
%patch $1F510 &amp;quot;Keen hopefully enters&amp;quot; $0A &amp;quot;the Well of Wishes       &amp;quot; $00&lt;br /&gt;
%patch $1F290 &amp;quot;Keen plods down into&amp;quot; $0A &amp;quot;the Cave of the Descendents               &amp;quot; $00&lt;br /&gt;
%patch $1F430 &amp;quot;Keen reverently enters&amp;quot; $0A &amp;quot;the Pyramid of the&amp;quot; $0A &amp;quot;Gnosticene Ancients  &amp;quot; $00&lt;br /&gt;
%patch $1F470 &amp;quot;Keen hesitantly crosses&amp;quot; $0A &amp;quot;into the Pyramid of the&amp;quot; $0A &amp;quot;Forbidden      &amp;quot; $00&lt;br /&gt;
%patch $1F540 &amp;quot;Keen launches into the&amp;quot; $0A &amp;quot;Bean-with-Bacon&amp;quot; $0A &amp;quot;Megarocket              &amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 5&amp;quot;&amp;gt;&lt;br /&gt;
#Level names:&lt;br /&gt;
%patch $20040 &amp;quot;Omegamatic&amp;quot; $00&lt;br /&gt;
%patch $20050 &amp;quot;Ion Ventilation System&amp;quot; $00&lt;br /&gt;
%patch $20070 &amp;quot;Security Center&amp;quot; $00&lt;br /&gt;
%patch $20080 &amp;quot;Defense Tunnel Vlook&amp;quot; $00&lt;br /&gt;
%patch $200A0 &amp;quot;Energy Flow Systems&amp;quot; $00&lt;br /&gt;
%patch $200C0 &amp;quot;Defense Tunnel Burrh&amp;quot; $00&lt;br /&gt;
%patch $200E0 &amp;quot;Regulation&amp;quot; $0A &amp;quot;Control Center&amp;quot; $00&lt;br /&gt;
%patch $20100 &amp;quot;Defense Tunnel Sorra&amp;quot; $00&lt;br /&gt;
%patch $20120 &amp;quot;Neutrino&amp;quot; $0A &amp;quot;Burst Injector&amp;quot; $00&lt;br /&gt;
%patch $20140 &amp;quot;Defense Tunnel Teln&amp;quot; $00&lt;br /&gt;
%patch $20160 &amp;quot;Brownian&amp;quot; $0A &amp;quot;Motion Inducer&amp;quot; $00&lt;br /&gt;
%patch $20180 &amp;quot;Gravitational&amp;quot; $0A &amp;quot;Damping Hub&amp;quot; $00&lt;br /&gt;
%patch $201A0 &amp;quot;Quantum&amp;quot; $0A &amp;quot;Explosion Dynamo&amp;quot; $00&lt;br /&gt;
%patch $201C0 &amp;quot;Korath III Base&amp;quot; $00&lt;br /&gt;
%patch $201D0 &amp;quot;BWBMegarocket&amp;quot; $00&lt;br /&gt;
%patch $201E0 &amp;quot;High Scores&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Keen entering levels&lt;br /&gt;
%patch $201F0 &amp;quot;Keen purposefully&amp;quot; $0A &amp;quot;wanders about the&amp;quot; $0A &amp;quot;Omegamatic&amp;quot; $00&lt;br /&gt;
%patch $20220 &amp;quot;Keen investigates the&amp;quot; $0A &amp;quot;Ion Ventilation System&amp;quot; $00&lt;br /&gt;
%patch $20250 &amp;quot;Keen struts through&amp;quot; $0A &amp;quot;the Security Center&amp;quot; $00&lt;br /&gt;
%patch $20280 &amp;quot;Keen invades&amp;quot; $0A &amp;quot;Defense Tunnel Vlook&amp;quot; $00&lt;br /&gt;
%patch $202B0 &amp;quot;Keen engages&amp;quot; $0A &amp;quot;Energy Flow Systems&amp;quot; $00&lt;br /&gt;
%patch $202E0 &amp;quot;Keen barrels into&amp;quot; $0A &amp;quot;Defense Tunnel Burrh&amp;quot; $00&lt;br /&gt;
%patch $20310 &amp;quot;Keen goes nuts in&amp;quot; $0A &amp;quot;the Regulation&amp;quot; $0A &amp;quot;Control Center&amp;quot; $00&lt;br /&gt;
%patch $20340 &amp;quot;Keen regrets entering&amp;quot; $0A &amp;quot;Defense Tunnel Sorra&amp;quot; $00&lt;br /&gt;
%patch $20370 &amp;quot;Keen blows through&amp;quot; $0A &amp;quot;the Neutrino&amp;quot; $0A &amp;quot;Burst Injector&amp;quot; $00&lt;br /&gt;
%patch $203A0 &amp;quot;Keen trots through&amp;quot; $0A &amp;quot;Defense Tunnel Teln&amp;quot; $00&lt;br /&gt;
%patch $203D0 &amp;quot;Keen breaks into&amp;quot; $0A &amp;quot;the Brownian&amp;quot; $0A &amp;quot;Motion Inducer&amp;quot; $00&lt;br /&gt;
%patch $20400 &amp;quot;Keen hurries through&amp;quot; $0A &amp;quot;the Gravitational&amp;quot; $0A &amp;quot;Damping Hub&amp;quot; $00&lt;br /&gt;
%patch $20440 &amp;quot;Keen explodes into&amp;quot; $0A &amp;quot;the Quantum&amp;quot; $0A &amp;quot;Explosion Dynamo&amp;quot; $00&lt;br /&gt;
%patch $20470 &amp;quot;Keen faces danger&amp;quot; $0A &amp;quot;in the secret&amp;quot; $0A &amp;quot;Korath III Base&amp;quot; $00&lt;br /&gt;
%patch $204A0 &amp;quot;Keen will not be&amp;quot; $0A &amp;quot;in the BWBMegarocket&amp;quot; $00&lt;br /&gt;
%patch $204D0 &amp;quot;Keen unexplainedly&amp;quot; $0A &amp;quot;finds himself by&amp;quot; $0A &amp;quot;theHigh Scores&amp;quot; $00&lt;br /&gt;
&lt;br /&gt;
#Korath base text&lt;br /&gt;
%patch $6210  [$64]    #Vertical location for difference&lt;br /&gt;
%patch $6214  [$0223W] #Text called from&lt;br /&gt;
%patch $30563 &amp;quot;Keen steps out&amp;quot; $0A &amp;quot;onto Korath III&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 6&amp;quot;&amp;gt;&lt;br /&gt;
#Keen entering levels&lt;br /&gt;
%patch $1F110 &amp;quot;Keen attacks&amp;quot; $0A &amp;quot;Fribbulus Xax&amp;quot; $00&lt;br /&gt;
%patch $1F130 &amp;quot;Keen hops across&amp;quot; $0A &amp;quot;Bloogwaters&amp;quot; $0A &amp;quot;Crossing&amp;quot; $00&lt;br /&gt;
%patch $1F160 &amp;quot;Keen fights his way&amp;quot; $0A &amp;quot;through Guard Post One&amp;quot; $00&lt;br /&gt;
%patch $1F190 &amp;quot;Keen crosses into the&amp;quot; $0A &amp;quot;First Dome of Darkness&amp;quot; $00&lt;br /&gt;
%patch $1F1C0 &amp;quot;Keen dares to enter the&amp;quot; $0A &amp;quot;Second Dome of Darkness&amp;quot; $00&lt;br /&gt;
%patch $1F1F0 &amp;quot;Keen foolishly enters&amp;quot; $0A &amp;quot;the Bloogdome&amp;quot; $00&lt;br /&gt;
%patch $1F220 &amp;quot;Keen makes his way&amp;quot; $0A &amp;quot;into Bloogton&amp;quot; $0A &amp;quot;Manufacturing&amp;quot; $00&lt;br /&gt;
%patch $1F250 &amp;quot;Keen ascends&amp;quot; $0A &amp;quot;Bloogton Tower&amp;quot; $00&lt;br /&gt;
%patch $1F270 &amp;quot;Keen hungrily enters&amp;quot; $0A &amp;quot;Bloogfoods, Inc.&amp;quot; $00&lt;br /&gt;
%patch $1F2A0 &amp;quot;Keen smashes through&amp;quot; $0A &amp;quot;Guard Post Two&amp;quot; $00&lt;br /&gt;
%patch $1F2D0 &amp;quot;Keen seeks thrills&amp;quot; $0A &amp;quot;in Bloogville&amp;quot; $00&lt;br /&gt;
%patch $1F300 &amp;quot;Keen rockets into the&amp;quot; $0A &amp;quot;Bloog Aeronautics and&amp;quot; $0A &amp;quot;Space Administration&amp;quot; $00&lt;br /&gt;
%patch $1F350 &amp;quot;Keen boldly assaults&amp;quot; $0A &amp;quot;Guard Post Three&amp;quot; $00&lt;br /&gt;
%patch $1F380 &amp;quot;Keen whoops it up in&amp;quot; $0A &amp;quot;the Bloogbae&amp;quot; $0A &amp;quot;Recreational District&amp;quot; $00&lt;br /&gt;
%patch $1F3C0 &amp;quot;Keen purposefully struts&amp;quot; $0A &amp;quot;into the Bloogbase&amp;quot; $0A &amp;quot;Management District&amp;quot; $00&lt;br /&gt;
%patch $1F400 &amp;quot;Keen bravely enters the&amp;quot; $0A &amp;quot;Bloog Control Center,&amp;quot; $0A &amp;quot;looking for Molly&amp;quot; $00&lt;br /&gt;
%patch $1F440 &amp;quot;Keen warily enters&amp;quot; $0A &amp;quot;Blooglab Space&amp;quot; $0A &amp;quot;Station&amp;quot; $00&lt;br /&gt;
%patch $1F470 &amp;quot;Keen returns to the&amp;quot; $0A &amp;quot;Bean-with-Bacon&amp;quot; $0A &amp;quot;Megarocket&amp;quot; $00&lt;br /&gt;
%patch $1F4A0 &amp;quot;Keen is in the High&amp;quot; $0A &amp;quot;Score screen. Call Id!&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== High scores has entry text and name (Keen 4) ====&lt;br /&gt;
&lt;br /&gt;
This patch gives the high scores level in Keen 4 an entry text and name. It does this by using parts of the level entry texts as level names, freeing up space for the high Score level name and entry text. This is useful for those who want to enable access to the high scores level.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;#Level name pointers: (Compressed)&lt;br /&gt;
%patch $30764 $1F200000RL #Map&lt;br /&gt;
              $1F220009RL #Level 1&lt;br /&gt;
              $1F250000RL #Level 2&lt;br /&gt;
              $1F270007RL #Level 3&lt;br /&gt;
              $1F090000RL #Level 4...&lt;br /&gt;
              $1F0B0000RL&lt;br /&gt;
              $1F0C0000RL&lt;br /&gt;
              $1F0D0000RL&lt;br /&gt;
              $1F0E0000RL&lt;br /&gt;
              $1F0F0000RL&lt;br /&gt;
              $1F100000RL&lt;br /&gt;
              $1F110000RL&lt;br /&gt;
              $1F130000RL&lt;br /&gt;
              $1F150000RL&lt;br /&gt;
              $1F180000RL&lt;br /&gt;
              $1F1A0000RL&lt;br /&gt;
              $1F1B0000RL&lt;br /&gt;
              $1F1C0000RL&lt;br /&gt;
              $1F1D0000RL #Bwb Rocket&lt;br /&gt;
              $1F060005RL #High scores&lt;br /&gt;
&lt;br /&gt;
#High score entry text&lt;br /&gt;
%patch $30814 $1F040000RL&lt;br /&gt;
&lt;br /&gt;
#High score entry text and name&lt;br /&gt;
%patch $1F040 &amp;quot;Keen is in the High&amp;quot; $0A&lt;br /&gt;
              &amp;quot;Scores! Call Id!&amp;quot; $00&lt;br /&gt;
              &amp;quot;High Scores&amp;quot; $00&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{PatchCategories|Keen 1|}}&lt;br /&gt;
{{PatchCategories|Keen 2|}}&lt;br /&gt;
{{PatchCategories|Keen 3|}}&lt;br /&gt;
{{PatchCategories|Keen 4|}}&lt;br /&gt;
{{PatchCategories|Keen 5|}}&lt;br /&gt;
{{PatchCategories|Keen 6|}}&lt;br /&gt;
{{PatchCategories|Keen Dreams|}}&lt;br /&gt;
{{PatchCategories|Levels|}}&lt;br /&gt;
{{PatchCategories|Gameplay|}}&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Patch:Mad_Mushroom&amp;diff=26852</id>
		<title>Patch:Mad Mushroom</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Patch:Mad_Mushroom&amp;diff=26852"/>
		<updated>2015-01-07T16:40:05Z</updated>

		<summary type="html">&lt;p&gt;MoffD: clarifying wording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page covers patches relating to the [[Mad Mushroom]]s in [[Keen 4]]. The mushrooms are found in many levels and spend their time bounding up and down.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite type|Sprite Type]] =&lt;br /&gt;
&lt;br /&gt;
Mushrooms use sprite type 9 which is used only by the Mushroom and doesn&#039;t affect anything else.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Mushroom sprite type&lt;br /&gt;
%patch $FED9  $09&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite actions|Sprite Actions]] =&lt;br /&gt;
&lt;br /&gt;
Mushrooms have only two actions, their purpose is to bounce up and down and act as a lethal obstacle for Keen, animating in an endless loop.&lt;br /&gt;
&lt;br /&gt;
 Actions:&lt;br /&gt;
 $20E4W #Mushroom 1&lt;br /&gt;
 $2102W #Mushroom 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Mushroom placed in-level&lt;br /&gt;
%patch $FF05  {$20E4W} #Mushroom&lt;br /&gt;
&lt;br /&gt;
#Mushroom actions&lt;br /&gt;
%patch $30F70 {$2102W} #Mushroom 2&lt;br /&gt;
%patch $30F8E {$20E4W} #Mushroom 1&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite behavior|Sprite Behavior]] =&lt;br /&gt;
&lt;br /&gt;
The Mushroom&#039;s behavior is quite simple, it turns to face Keen.&lt;br /&gt;
&lt;br /&gt;
This behavior doesn&#039;t change the Mushroom&#039;s action, meaning any other sprite, and several sprites at once can use it with no problems. Patches that affect this behavior are found in the seeking section below.&lt;br /&gt;
&lt;br /&gt;
 Behaviors:&lt;br /&gt;
 $0FA80493RL #Mad Mushroom&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Mushroom&lt;br /&gt;
%patch $30F64 {$0FA80493RL} #Mad Mushroom&lt;br /&gt;
%patch $30F82 {$0FA80493RL} #Mad Mushroom&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== [[Patch:Seeking Keen|Behavior code and seeking Keen]] ==&lt;br /&gt;
&lt;br /&gt;
This is the complete behavior code. The two xxxxW values are +-1 and make the Mushroom turn to face Keen depending on whether he is right or left of it. Reversing these makes it always face away from Keen. Replacing the brown $73 with $EB will make the Mushroom only ever face one way.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
%patch $FF13  $55 $8B $EC $56 $8B $76 $06 $8B $1E $D6 $A7 $8B $47 $0A $3B $44&lt;br /&gt;
              $0A {$73 $07} $C7 $44 $0E [$FFFFW]  $EB $05 $C7 $44 $0E [$0001W]  $56&lt;br /&gt;
              $9A $09DC1315RL     $83 $C4 $02 $5E $5D $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite speed|Speed and Jump Height]] =&lt;br /&gt;
&lt;br /&gt;
Mushrooms have no animation motion, relying entirely on their tile collision for their jump heights. The collision works as follows. The Mushroom bounces up when it hits a floor tile. Every jump is counted. If the number of jumps is less than x, a &#039;small&#039; jump occurs. If the number of jumps is larger than x, then a &#039;high&#039; jump occurs and the jump counter is set back to zero. The Mushroom stops if it hits a ceiling tile, though by making this value positive (Move down) the Mushroom can be made to actively bounce downwards from ceilings.&lt;br /&gt;
&lt;br /&gt;
These patches will thus interfere with the tile collision patches below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Mad mushroom jump height&amp;quot;&amp;gt;&lt;br /&gt;
%patch $FFBB [$FFD8W] #Small&lt;br /&gt;
%patch $FF9C [$FFBCW] #High&lt;br /&gt;
%patch $FF7C [$0000W] #Bounce down from ceiling&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Animation motion&amp;quot;&amp;gt;&lt;br /&gt;
#Mushroom&lt;br /&gt;
%patch $30F60 [$0000W] [$0000W]&lt;br /&gt;
%patch $30F7E [$0000W] [$0000W]&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite collision|Sprite Collision]] =&lt;br /&gt;
&lt;br /&gt;
== Collision values ==&lt;br /&gt;
&lt;br /&gt;
The Mushroom uses its own special collision. It will stop Keen&#039;s shots (Type 3) and kill Keen if he touches it. This collision can thus be used by multiple sprites at once, like the Mushroom&#039;s behavior. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4 collision values&amp;quot;&amp;gt;&lt;br /&gt;
#Mushroom&lt;br /&gt;
%patch $30F68 $0FA804BERL #Mad Mushroom&lt;br /&gt;
%patch $30F86 $0FA804BERL #Mad Mushroom&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Collision code ==&lt;br /&gt;
&lt;br /&gt;
=== Default ===&lt;br /&gt;
&lt;br /&gt;
The default code has two checks.The first checks for sprite type 3 (Keen&#039;s shot) and if this is not found, jumps 13 bytes. The second checks for type 2 (Keen) and if this is not found jumps five bytes. (See [[Patch:Jump conditions]].&lt;br /&gt;
&lt;br /&gt;
The two $9A $xxxxxxxxRL segments turn the colliding sprite into a smashed shot and kill Keen respectively. Replacing them with $90 $90 $90 $90 $90 will stop one or both effects.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Mushroom collision&lt;br /&gt;
%patch $FF3E  $55 $8B $EC $56 $57 $8B $7E $06 $8B $76 $08 $83 $C7 $4C $83 $3C&lt;br /&gt;
              [$03] {$75} $0D $56 $9A $0D8F0D43RL     $83 $C4 $02 $5F $5E $5D $CB&lt;br /&gt;
              $83 $3C [$02] {$75} $05 $9A $0B8013E9RL     $5F $5E $5D $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Smaller collision ===&lt;br /&gt;
&lt;br /&gt;
The following collision is the most efficient use of the code. It is two bytes smaller than the default but does the same thing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#More efficient Mushroom collision&lt;br /&gt;
%patch $FF3E  $55 $8B $EC $56 $57 $8B $7E $06 $8B $76 $08 $83 $C7 $4C $83 $3C&lt;br /&gt;
              [$03] {$75} $0B $56 $9A $0D8F0D43RL     $83 $C4 $02 $EB $0A $83 $3C&lt;br /&gt;
              [$02] {$75} $05 $9A $0B8013E9RL     $5F $5E $5D $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Don&#039;t kill Keen (Only stop bullets) ===&lt;br /&gt;
&lt;br /&gt;
This collision is basically a &#039;stop Keen&#039;s shot&#039; collision, Keen can touch the mushroom without being hurt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#More efficient Mushroom collision&lt;br /&gt;
%patch $FF3E  $55 $8B $EC $56 $57 $8B $7E $06 $8B $76 $08 $83 $C7 $4C $83 $3C&lt;br /&gt;
              [$03] {$75} $09 $56 $9A $0D8F0D43RL     $83 $C4 $02 $5F $5E $5D $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite animations|Animations]] =&lt;br /&gt;
&lt;br /&gt;
Mushrooms have two animation frames (Four animations) and animate endlessly between them using their animation speed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Cache&lt;br /&gt;
%patch $306E8 $0145W #Mushroom Cache start&lt;br /&gt;
%patch $30732 $0148W #Mushroom cache end&lt;br /&gt;
&lt;br /&gt;
#Mushrooms&lt;br /&gt;
%patch $30F54 $0145W $0147W&lt;br /&gt;
%patch $30F5E $0008W        #Animation speed&lt;br /&gt;
%patch $30F72 $0146W $0148W&lt;br /&gt;
%patch $30F7C $0008W        #Animation speed&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite positioning|Sprite positioning]] =&lt;br /&gt;
&lt;br /&gt;
The Mushroom is spawned one tile above where it is placed in-level. This is unnecessary as it does not need to walk along the ground.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Spawn height:&lt;br /&gt;
%patch $FEF5  $FF00W #1 tile up&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite Sounds|Sounds]] =&lt;br /&gt;
&lt;br /&gt;
The Mad Mushroom makes two distinct sounds, one for a high bounce and one for a low bounce. Both sounds can be blocked.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Sounds&lt;br /&gt;
%patch $FF9F  $10 #Mad Mushroom high bounce&lt;br /&gt;
%patch $FFAD  $1C #Mad Mushroom low bounce&lt;br /&gt;
&lt;br /&gt;
#Don&#039;t make sounds:&lt;br /&gt;
%patch $FF9E  $EB $0A #Mad Mushroom high bounce&lt;br /&gt;
%patch $FFAC  $EB $0A #Mad Mushroom low bounce&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite clipping and foreground|Clipping and foreground]] =&lt;br /&gt;
&lt;br /&gt;
The Mushroom&#039;s foreground variable is set when it is spawned. It appears behind everything.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Foreground&lt;br /&gt;
%patch $FEE3  [$0000W] #Mad Mushroom&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Give Mushroom adjustable clipping ==&lt;br /&gt;
&lt;br /&gt;
The Mushroom does not have any clipping code by default, using a standard clipping set in the sprite creation code. However it is possible to &#039;&#039;give&#039;&#039; the mushroom clipping via overwriting other bits of its code. The following patch &#039;&#039;inserts&#039;&#039; a clipping option, at the expense of removing the Mushroom&#039;s initial vertical direction. (If the Mushroom is not affected by gravity anymore this can cause notable effects.)&lt;br /&gt;
&lt;br /&gt;
If problems do occur, changing the location of the patch to $FEFA will overwrite its horizontal direction instead, and $FEE0 will overwrite the foreground variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Add adjustable clipping to Mushroom, overwrite v=1&lt;br /&gt;
%patch $FEFF $C7 $47 $06 [$0001W]&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite-tile interaction|Sprite-tile interaction]] =&lt;br /&gt;
&lt;br /&gt;
The Mad Mushroom&#039;s sprite-tile interaction is what makes it bounce. [[Patch:Mad_Mushroom#Speed_and_Jump_Height|Patches relating to its jump height are found here.]] This doesn&#039;t alter the sprite&#039;s action, so multiple sprites can use it without any problems.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Mushrooms&lt;br /&gt;
%patch $30F6C $0FA804ECRL #Bouncing&lt;br /&gt;
%patch $30F8A $0FA804ECRL #Bouncing&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Number of low\high bounces ==&lt;br /&gt;
&lt;br /&gt;
Every 1 in x bounces of the Mushroom&#039;s will be high. This is the first value. After this it will &#039;reset&#039; to the second value. By default every 3rd jump is high, resetting to 0. (A pattern of 0,1,2,3,4 0,1,2,3,4...) If the reset value is not 0, then the first few jumps of the Mushroom will be slightly different.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Number of low\high bounces&lt;br /&gt;
%patch $FF90 [$0003W] #Xth jump is tall&lt;br /&gt;
%patch $FF97 [$0000W] #Reset value&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mushroom always jumps high ===&lt;br /&gt;
&lt;br /&gt;
This patch makes the Mushroom have only one kind of jump height instead of 2.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Mushroom always jumps high&lt;br /&gt;
%patch $FF92 $90 $90&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mushrooms only bounce high when Keen is right of them ===&lt;br /&gt;
&lt;br /&gt;
This unusual patch makes Mushrooms jump high only when Keen is right of them on the map. This can be used to make an enemy whose behavior changes when you pass under it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
# Mushrooms only bounce high when Keen is right of them&lt;br /&gt;
%patch $FF8E $0E $3D $01&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tile collision code ==&lt;br /&gt;
&lt;br /&gt;
As noted above all of a Mushroom&#039;s movement and the sounds it makes are due to its tile collision code. This patch will thus interfere with sound and movement patches if placed after them in a patch file.&lt;br /&gt;
&lt;br /&gt;
The first two blue values are inconsequential. (They stop the Mushroom moving when it hits the ground.) The third value is the number of small bounces needed before a big bounce is taken. (By default every third bounce is big.) If the jump is big, the jump counter is set to zero (The fourth blue value.), the bounce height is set to $FFBCW and sound $10 is played.&lt;br /&gt;
&lt;br /&gt;
Otherwise sound $1C is played, the bounce height is set to $FFD8W (The small jump.)&lt;br /&gt;
&lt;br /&gt;
This can be manipulated in a number of ways. Firstly the jump heights and sounds can be manipulated, this is quite basic. Secondly the jump counter can be altered; if it is not reset to zero then the frequency of big jumps will increase. (For example resetting it to 1 will mean the mushroom has two small jumps, a big jump, then alternating small and big jumps.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Mushroom tile collision code&lt;br /&gt;
%patch $FF6C  $55 $8B $EC $56 $8B $76 $06 $83 $7C $3A $00 $74 $05 $C7 $44 $18&lt;br /&gt;
              [$0000W]  $83 $7C $36 $00 $74 $39 $C7 $44 $18 [$0000W]  $FF $44 $3E #Stop moving when hitting the ground&lt;br /&gt;
              $8B $44 $3E $3D [$0003W]  $75 $18 $C7 $44 $3E [$0000W]  $C7 $44 $18 #Number of small bounces\reset bounce counter to 0&lt;br /&gt;
              [$FFBCW]  $B8 [$0010W]  $50 $9A $187409F1RL     $83 $C4 $02 $EB $11 #Big jump, play sound $10&lt;br /&gt;
              $B8 [$001CW]  $50 $9A $187409F1RL     $83 $C4 $02 $C7 $44 $18     #Play sound $1C&lt;br /&gt;
          [$FFD8W]  $FF $74 $20 $33 $C0 $50 $FF $74 $1E $FF $74 $0C $FF $74 $0A #Small jump&lt;br /&gt;
              $8B $C6 $05 $46 $00 $50 $9A $16541641RL     $83 $C4 $0C $5E $5D&lt;br /&gt;
              $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Galaxy Action Parameters#Action_Type|Action type]] =&lt;br /&gt;
&lt;br /&gt;
The Mushroom uses type 3, useful since it must animate and fall at the same time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Mushrooms&lt;br /&gt;
%patch $30F58 [$0003W] #Mushroom&lt;br /&gt;
%patch $30F76 [$0003W] #Mushroom&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Galaxy Action Parameters#Deprotect_Animation|Deprotect and stick to ground]] =&lt;br /&gt;
&lt;br /&gt;
The mushroom has values of 0 for both of these parameters. It does not need to walk on the ground.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Mushrooms&lt;br /&gt;
%patch $30F60 [$0000W $0000W]&lt;br /&gt;
%patch $30F7E [$0000W $0000W]&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite spawning|Sprite spawn code]] =&lt;br /&gt;
&lt;br /&gt;
In the initiation code notice the [[Patch:Sprite cache|Mushroom cache]] being set (&amp;lt;tt&amp;gt;$C7 $06 $53 $CB $0001W&amp;lt;/tt&amp;gt;.)&lt;br /&gt;
&lt;br /&gt;
In the spawning code the last blue highlighted value is the [[Patch:Sprite actions|sprite action]] the sprite uses as it proceeds to act in-level. &amp;lt;tt&amp;gt;$C7 $02 $xxxxW&amp;lt;/tt&amp;gt; sets the [[Patch:Galaxy Sprite Parameters#Sprite_activity|sprite activity,]] &amp;lt;tt&amp;gt;$C7 $07 $xxxxW&amp;lt;/tt&amp;gt; sets the [[Patch:Sprite type|sprite type,]] &amp;lt;tt&amp;gt;$C7 $20 $xxxxW&amp;lt;/tt&amp;gt; sets the [[Patch:Sprite clipping and foreground|foreground value.]] Finally &amp;lt;tt&amp;gt;$D3 $E0 $05 $xxxx&amp;lt;/tt&amp;gt; is how far down (Or more usually &#039;&#039;up&#039;&#039;) the sprite is spawned from where it is placed. This is necessary for sprites that walk on the ground as they can only be placed in the level at multiples of 16 pixels high while their actual height can be anything. (This is odd since the Mushroom doesn&#039;t need to walk on the ground, it bounces.)&lt;br /&gt;
&lt;br /&gt;
The Mushroom always starts the level moving down and facing right. It seeks Keen however and will start off facing in his direction. &amp;lt;tt&amp;gt;$C7 $47 $10 $xxxxW&amp;lt;/tt&amp;gt; is the vertical direction the sprite starts moving in, either $0001W (Facing down), $FFFFW (Facing up) or $0000W (Neither, never used.) &amp;lt;tt&amp;gt;$C7 $47 $0E $xxxxW&amp;lt;/tt&amp;gt; is the horizontal direction.&lt;br /&gt;
&lt;br /&gt;
A special thing to note is &amp;lt;tt&amp;gt;$C7 $02 $0001W&amp;lt;/tt&amp;gt; which sets the Mushroom&#039;s [[Patch:Galaxy Sprite Parameters#Sprite_activity|sprite activity to 1]] which means it stops &#039;working&#039; when offscreen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Location of initiation code&lt;br /&gt;
%patch $EEAD [$030FW] #Mushroom (At $EBFF)&lt;br /&gt;
&lt;br /&gt;
#Mad Mushroom Initiation code&lt;br /&gt;
%patch $EBFF $FF $76 $FC $57 $9A {$0FA80445RL}     $83 $C4 $04 $C7 $06 $53 $CB&lt;br /&gt;
             $0001W  $E9 $01E9W&lt;br /&gt;
&lt;br /&gt;
#Mad Mushroom spawning code&lt;br /&gt;
%patch $FEC5  $55 $8B $EC $33 $C0 $50 $9A $06BD1E11RL     $83 $C4 $02 $8B $1E&lt;br /&gt;
              $D8 $A7 $C7 $07 [$0009W]  $C7 $47 $02 [$0001W]  $C7 $47 $20 [$0000W] &lt;br /&gt;
              $8B $46 $06 $B1 $08 $D3 $E0 $89 $47 $0A $8B $46 $08 $D3 $E0 $05&lt;br /&gt;
              [$FF0FW]  $89 $47 $0C $C7 $47 $0E [$0001W]  $C7 $47 $10 [$0001W]  $B8&lt;br /&gt;
              [$20E4W]  $50 $53 $9A $09DC118CRL     $83 $C4 $04 $5D $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{PatchCategories|Keen 4|}}&lt;br /&gt;
{{PatchCategories|Sprite|}}&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Onward:_Silcar_1:_Nightmare_Before_Teatime&amp;diff=26803</id>
		<title>Onward: Silcar 1: Nightmare Before Teatime</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Onward:_Silcar_1:_Nightmare_Before_Teatime&amp;diff=26803"/>
		<updated>2014-12-02T15:18:36Z</updated>

		<summary type="html">&lt;p&gt;MoffD: clarifying trilogy info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Mod Infobox&lt;br /&gt;
|TitleImage = Silcar1Title.png&lt;br /&gt;
|GameplayImage = Silcar1Game.png&lt;br /&gt;
|Episode = 1&lt;br /&gt;
|Authors = [[User:Tulip|Tulip]]&lt;br /&gt;
|ReleaseDate = 2008-06-22&lt;br /&gt;
|Discussion = [http://www.pckf.com/viewtopic.php?t=362 PCKF] [http://keenmodding.org/viewtopic.php?t=1051 Keen: Modding]&lt;br /&gt;
|Levels = 16&lt;br /&gt;
|SecretLevels = None&lt;br /&gt;
|NewGfx = Yes&lt;br /&gt;
|NewMusic = N/A&lt;br /&gt;
|NewSfx = No&lt;br /&gt;
|Series = [[Onward: Silcar 2: Flee from Fleet|Flee from Fleet]], [[Onward: Silcar 3: The Evil that Meets the Eye|The Evil that Meets the Eye]], [[Onward: Silcar 4: The Civilization Inside|The Civilisation Inside]]&lt;br /&gt;
|Download = [http://www.shikadi.net/wiki/files/Mods/Keen1/m.tulip.silcar_1.k1.2008-06-22.zip full version]&lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;Onward: Silcar 1: Nightmare Before Teatime&#039;&#039;&#039; is a [[Keen 1]] mod by [[User:Tulip|Tulip]].  It was released on 22 June 2008.&lt;br /&gt;
&lt;br /&gt;
== Technical Information ==&lt;br /&gt;
&lt;br /&gt;
* This mod is one episode of a four part trilogy.&lt;br /&gt;
* Tileset: completely redone tileset&lt;br /&gt;
* Sprite animation frames: All new monsters, including patching&lt;br /&gt;
* Story text: continuity to Silcar 2, references to other Mods&lt;br /&gt;
* Levels: 16 regular levels, 1 worldmap&lt;br /&gt;
&lt;br /&gt;
== Story ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Once again back home from saving the universe, commander keen found himself visiting his grandma on a sunday for lunch. But just as his grandma was taking a nap before tea time, a strange being entered the room and stole grandmas precious tea set. Keen just got a glimpse of the purple being as he came back from the toilet. Why that? thought Keen, but he was sure his arch-nemesis had something to do with it. So he ran to his BwB-Megarocket and traced the course of the beings ship to a strange unknown planet, wich was indicated on his starmap as &amp;quot;Strgwz&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The being must have hidden the parts of the tea set somewhere on this planet.  Keen can not return to his grandma without them, because he would get accused for taking them away, and would not get any of her famous triple chocolate cake, a cake even better than the vorticon double chocolate cake.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Upon landing on the planet keen found out that in the rush he had taken the Plasmatic Photoray Pistol, which he found on venus with him, not the Neural Stunner, so he will be using this one in this episode.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Information on Strgwz ==&lt;br /&gt;
&lt;br /&gt;
Keen studied his Keen Wiki entries on this Planet and found some interesting entries. Wild animals are living here and huge mushrooms are growing. Keen is sure he must climb the thousand stairs of Strgwz, and the giant Megamoth Trees. One thing was particularly interesting: there appears to be a Garg-Temple on this planet? How can that be? This planet is in an entirely different quadrant of the galaxy? No garg should ever have been here!&lt;br /&gt;
&lt;br /&gt;
== Items ==&lt;br /&gt;
&lt;br /&gt;
* Plasmatic Photoray Pistol: 5 shots ammo&lt;br /&gt;
* Lollipop: 100 points&lt;br /&gt;
* Berry Juice: 200 points&lt;br /&gt;
* Sunny Soda: 200 points&lt;br /&gt;
* T-Box: 200 points, Keen can stand on it.&lt;br /&gt;
* Cream Soda: 500 points&lt;br /&gt;
* Gold Star: 500 points&lt;br /&gt;
* Orange Lolly: 1000 points&lt;br /&gt;
* Cuddly Bear: 5000 points&lt;br /&gt;
* Skeleton Lolly: Kills!&lt;br /&gt;
&lt;br /&gt;
The Tea Set:&lt;br /&gt;
* Tea Pot&lt;br /&gt;
* Tea Cup (with Saucer)&lt;br /&gt;
* Sugar Spoon&lt;br /&gt;
* Sugar Cup&lt;br /&gt;
&lt;br /&gt;
== Enemies ==&lt;br /&gt;
A list of all the enemies you will encounter in this episode:&lt;br /&gt;
{{ObjectList2Col&lt;br /&gt;
| Object1 = Doblu&lt;br /&gt;
  | Desc1 = [[Yorp]] replacement&lt;br /&gt;
| Object2 = Triblu&lt;br /&gt;
  | Desc2 = [[Garg]] replacement&lt;br /&gt;
| Object3 = Dark Angel&lt;br /&gt;
  | Desc3 = Tileset enemy&lt;br /&gt;
| Object4 = Co Co&lt;br /&gt;
  | Desc4 = Tileset enemy, Keen can stand on its back&lt;br /&gt;
| Object5 = Flameclops&lt;br /&gt;
  | Desc5 = Fire replacement&lt;br /&gt;
| Object6 = Grinder&lt;br /&gt;
  | Desc6 = [[Butler Robot]] replacement, patched to kill&lt;br /&gt;
| Object7 = Minimonst&lt;br /&gt;
  | Desc7 = [[Tank Robot]] replacement, followed by the Megamonst in Silcar 2&lt;br /&gt;
| Object8 = Salc&lt;br /&gt;
  | Desc8 = The Yorp statue replacement here, returns in various forms throughout the Silcar Series&lt;br /&gt;
| Object9 = Inehupf&lt;br /&gt;
  | Desc9 = [[Vorticon Guard]] replacement, patched to take 2 or 3 hits, and to always jump at max height&lt;br /&gt;
| Object10 = False Tube&lt;br /&gt;
  | Desc10 = Pat Pat replacement&lt;br /&gt;
| Object11 = Cannon Rich&lt;br /&gt;
  | Desc11 = Ice Cannon replacement&lt;br /&gt;
| Object12 = Mover&lt;br /&gt;
  | Desc12 = Ice Cube replacement&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Level Maps ==&lt;br /&gt;
&lt;br /&gt;
Spoiler Warning! This shows the whole levels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:Silcar1level01.png|Level 01&lt;br /&gt;
Image:Silcar1level02.png|Level 02&lt;br /&gt;
Image:Silcar1level03.png|Level 03&lt;br /&gt;
Image:Silcar1level04.png|Level 04&lt;br /&gt;
Image:Silcar1level05.png|Level 05&lt;br /&gt;
Image:Silcar1level06.png|Level 06&lt;br /&gt;
Image:Silcar1level07.png|Level 07&lt;br /&gt;
Image:Silcar1level08.png|Level 08&lt;br /&gt;
Image:Silcar1level09.png|Level 09&lt;br /&gt;
Image:Silcar1level10.png|Level 10&lt;br /&gt;
Image:Silcar1level11.png|Level 11&lt;br /&gt;
Image:Silcar1level12.png|Level 12&lt;br /&gt;
Image:Silcar1level13.png|Level 13&lt;br /&gt;
Image:Silcar1level14.png|Level 14&lt;br /&gt;
Image:Silcar1level15.png|Level 15&lt;br /&gt;
Image:Silcar1level16.png|Level 16&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Keen_Galaxy_Modding_Tutorial_(patch_based)&amp;diff=26788</id>
		<title>Keen Galaxy Modding Tutorial (patch based)</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Keen_Galaxy_Modding_Tutorial_(patch_based)&amp;diff=26788"/>
		<updated>2014-11-15T01:21:06Z</updated>

		<summary type="html">&lt;p&gt;MoffD: 5 editors since someone added an Abiathar link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial aims to teach Keen Galaxy modding (Keen episodes 4, 5, and 6) to people who don&#039;t know the first thing about modding, but even the experienced modder should find this information as a good reference tool.  Keen 4 will be used for specific examples, but if you are modding keen 5 or 6, you should be able to follow along.&lt;br /&gt;
&lt;br /&gt;
= Setting Up Files and Folders =&lt;br /&gt;
Download my [https://dl.dropbox.com/u/3654819/Keen/Keen%20Galaxy%20Modding%20Package.zip Keen Galaxy Modding Package].&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can also manually create this package:&lt;br /&gt;
&lt;br /&gt;
Create your base folder called &amp;quot;Keen Modding&amp;quot; on your desktop. In this folder you&#039;ll want to create two subfolders: &amp;quot;Keen4mod&amp;quot; and &amp;quot;Tools&amp;quot;.  In your &amp;quot;Keen4mod&amp;quot; folder, create a folder called &amp;quot;BMP&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
Copy all your Keen 4 game files into the folder &amp;quot;Keen4mod&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: It is very important that you use the right version of the episode you wish to mod.  Make sure they are the correct versions: Keen 4 v1.4, keen 5 v1.4, and keen 6 v1.4.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tool Downloads ==&lt;br /&gt;
These are the tools you will need in order to mod Keen&#039;s 4, 5, and 6 and included in the modding package.  If you wish to download them individually:&lt;br /&gt;
&lt;br /&gt;
* [http://files.keenmodding.org/modkeen2.zip Download Modkeen] &lt;br /&gt;
* [http://files.keenmodding.org/ckpatch-0.10.0.zip Download CkPatch]&lt;br /&gt;
* [http://files.commanderkeen.org/users/ceilick/UNLZEXE.EXE Download Unlzexe]&lt;br /&gt;
* [http://sourceforge.net/projects/clonekeenplus/files/Tools/unlzexe/win32/unlzexe081.zip/download Download Unlzexe (64 bit version)]&lt;br /&gt;
* [http://files.commanderkeen.org/users/mink/CkD456Tli(v3.3).zip Download CkD456tli]&lt;br /&gt;
* [http://files.commanderkeen.org/users/leandro/keenscr.zip Download KeenScr]&lt;br /&gt;
* [http://levellord.rewound.net/KEENWAVE.zip Download Keenwave]&lt;br /&gt;
* [http://levellord.rewound.net/STARTEXT.zip Download Startext]&lt;br /&gt;
* [http://winwolf3d.dugtrio17.com/download/IMFCreator Download IMF Creator]&lt;br /&gt;
* [http://winwolf3d.dugtrio17.com/download/WDC Download WDC]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: Depending on your computer&#039;s operating system you may need CWSDPMI.EXE to run modkeen and other modding programs.  If your receive an error in later steps asking for this file, get it here: &lt;br /&gt;
&lt;br /&gt;
* [http://www.delorie.com/djgpp/dl/ofc/simtel/v2misc/csdpmi5b.zip/BIN/CWSDPMI.EXE  Download CWSDPMI.EXE]&lt;br /&gt;
&lt;br /&gt;
=== Level Editors ===&lt;br /&gt;
You will need one of the five existing level editors: [[Keen: Next (level editor)|Keen Next]] (K:N), [[TED5]], [[The Photachyon Tranceiver]] (TPT), [[The Omegamatic]] (TOM), or [[Abiathar]].  This tutorial does not include instructions for The Photachyon Tranceiver since it is in many ways a windows based Ted5.  I personally recommend The Omegamatic.  All of these editors are included in my modding package (Except Abiathar).&lt;br /&gt;
&lt;br /&gt;
* [http://files.commanderkeen.org/users/ceilick/TED5.zip Download TED5]&lt;br /&gt;
* [http://www.bipship.com/downloads/tpt3.zip Download The Photachyon Tranceiver]&lt;br /&gt;
* [http://files.commanderkeen.org/users/ceilick/KeenNextEditor.zip Download Keen: Next]&lt;br /&gt;
* [http://0x27.com/downloads/tom.zip Download The Omegamatic]&lt;br /&gt;
* [https://dl.dropboxusercontent.com/u/3771470/Abiathar/AbiatharUpdater.exe Download Abiathar (updater/downloader)]&lt;br /&gt;
&lt;br /&gt;
=== Drawing Tools ===&lt;br /&gt;
One of the simplest tools for modifying Keen graphics is MS Paint.  However, only the versions of MS Paint prior to Windows 7 will function with the Keen palette correctly.&lt;br /&gt;
&lt;br /&gt;
* [http://sagorpirbd.deviantart.com/art/Win-7-MS-Paint-dll-XP-English-122788536 Old MSPaint]&lt;br /&gt;
&lt;br /&gt;
Some modders use programs such as GIMP or PhotoShop.&lt;br /&gt;
&lt;br /&gt;
= Setting Up Files and Folders (Continued) =&lt;br /&gt;
&lt;br /&gt;
Unzip the tools in your tool folder.  Copy the following files into your &amp;quot;Keen4mod&amp;quot; folder:&lt;br /&gt;
* modkeen.exe&lt;br /&gt;
* unlzexe.exe&lt;br /&gt;
* ck4patch.exe (Keen 5 requires &#039;ck5patch.exe&#039;, Keen 6 &#039;ck6patch.exe&#039;)&lt;br /&gt;
&lt;br /&gt;
Once these files are in place, Unlzexe your Keen4.exe by dragging and dropping the file onto Unlzexe.exe.  A window may flash on the screen when you do so.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: If you are using the 64 bit version of Unlzexe, this will create a “Keen4.exenew”.  You will then need to delete the old “Keen4.exe” and rename “Keen4.exenew” to “Keen4.exe”.&lt;br /&gt;
&lt;br /&gt;
Open a command prompt.  If you are unfamiliar with this process: go to your computer&#039;s start button, and either click &#039;run&#039;, or in the search field type &#039;run&#039; and click the first result.  In the run box, type &#039;cmd&#039;.  Now you have a command prompt open.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll see something like &lt;br /&gt;
 C:\Users\UserName&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Type: &lt;br /&gt;
&lt;br /&gt;
 cd desktop\Keen Modding\My Mod&lt;br /&gt;
&lt;br /&gt;
Press enter, then:&lt;br /&gt;
&lt;br /&gt;
 modkeen -episode=4 -export -bmpdir=&amp;quot;BMP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If all goes well, you should see a list of everything modkeen has exported followed by the word &amp;quot;Done!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: If you are using a 64 bit version of windows modkeen may not run through the command prompt.  You can run it instead by dropping modkeen.exe onto dosbox.exe and then typing: modkeen -episode=4 -export -bmpdir=&amp;quot;graphics&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Editing Graphics and Text =&lt;br /&gt;
To begin editing the graphics and most text found in the game, go to your &amp;quot;BMP&amp;quot; folder.  You&#039;ll see a lot of images there as well some some text files and some other files.&lt;br /&gt;
&lt;br /&gt;
== Graphics ==&lt;br /&gt;
You can edit any of these images how you want, but keep some things in mind:&lt;br /&gt;
&lt;br /&gt;
* You need to use the original keen colors. This is easy to do if you just edit the images with MSpaint.  &lt;br /&gt;
** &#039;&#039;&#039;Note&#039;&#039;&#039;: Windows 7 users will need to download the old version of mspaint.&lt;br /&gt;
&lt;br /&gt;
* On sprite images, you&#039;ll see three frames: the image against a black background, a black outline on a white background, and a red box on a grey background.  The first image is where the sprite is drawn.  The second is used to show what parts of the original image are going to be shown in-game.  The last box is used for hitbox measurement, although it doesn&#039;t directly affect hitbox size (the 4sprites.txt determines this, see the &#039;hitboxes&#039; section below).&lt;br /&gt;
&lt;br /&gt;
* In the foreground tileset (4til0001) you&#039;ll see a similar black and white duplicate section on the right side.  This is also used to show what parts of the tiles are going to be shown in-game.&lt;br /&gt;
&lt;br /&gt;
* The height and width of images must be multiples of 8 (although some of the original images do not follow this rule).&lt;br /&gt;
&lt;br /&gt;
* Changing the size of an enemy will affect how it spawns and the &#039;hitbox&#039; area it uses to interact with the environment and with keen.&lt;br /&gt;
&lt;br /&gt;
* You cannot change the size of the tilesets.&lt;br /&gt;
&lt;br /&gt;
* Tiles are made up of a 16 by 16 area of pixels.&lt;br /&gt;
&lt;br /&gt;
* The image that displays in the scrolling story (for Keen 4 this is 4bmp0102.bmp) is limited in palette colors.  The colors availible can be changed with patching.&lt;br /&gt;
&lt;br /&gt;
=== Hitboxes ===&lt;br /&gt;
In keen galaxy, hitboxes are invisible rectangular areas used for telling a sprite how to interact with the environment or with Keen.  For a point item, the hitbox is the area keen must touch to collect the item.  For an enemy, it is the area of the enemy that will touch the ground and touch keen.  For Keen himself, its the area he can interact with platforms, enemies, and other objects.&lt;br /&gt;
&lt;br /&gt;
To edit the hitboxes, open 4sprites.txt.  This can be a complex, difficult process that often falls to trial and error. &lt;br /&gt;
&lt;br /&gt;
We&#039;ll use Keen&#039;s left facing standing frame as an example.  The image name for this is 4spr0006.  So in 4sprites.txt, look for item 6.  It will look like this: &lt;br /&gt;
&lt;br /&gt;
 6: [4, 0, 19, 31], [0, 0], 4.  &lt;br /&gt;
 &lt;br /&gt;
The first set of brackets controls the hitbox.  The first set of numbers are x and y coordinates for the top left corner of the image.  These are measured from the top left of the image (4 pixels across and 0 down).  The next coordinates are for the bottom right of the hitbox.  These are also measured from the top left corner of the image (19 pixels across and 31 down).  Notice that even though the image is actually 32 pixels high, the hitbox is designed to be 1 pixel away from the bottom.  This is important for any sprite that needs to move on a platform.&lt;br /&gt;
&lt;br /&gt;
The second set of brackets are coordinates that have to do with where a sprite image appears ingame relative to where it is placed in the level editor.  In the example of the Keen sprite, these are 0,0.  Its usually easiest to leave these at 0,0, but if you use a sprite that changes frame size over the course of its animation, or a sprite intended to float above the ground, you may want to experiment with this.  The first value is an X coordinate and will determine how far to the right or left the sprite is placed.  The second value is a Y coordinate which determines how far up or down the sprite is placed.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: If you&#039;ve modded an enemy and it is stuck in the ground or in the air, you&#039;ll want to edit the Y value to bring the hitbox even with the ground.&lt;br /&gt;
&lt;br /&gt;
The last value is not a coordinate but has to do with animation frame rate.  In the example of Keen, this value is 4.  This value varies from 1, 2, and 4.This determines how &#039;smooth&#039; the frames in a series animate, 4 being the smoothest, 2 medium, and 1 low.  The smoother the animation, the more memory will be used in the level.&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Use the 4 value sparingly to avoid memory issues and game crashes.&lt;br /&gt;
&lt;br /&gt;
== Texts ==&lt;br /&gt;
You&#039;ll find a number of text files in your BMP folder.  You can edit these with notepad or a similar application.  These files include the help sections, the story, and the end-game story.  These files employ a formatting code:&lt;br /&gt;
&lt;br /&gt;
* ^P means &amp;quot;new page&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* ^G followed by a series of numbers is for a graphic image.  The first two numbers are x and y coordinates for where the image will be located.  The last number specifies the image used.  These images numbers don&#039;t match up with the image numbers in your graphics folder, so you&#039;ll want to do some experimenting to get the right one.&lt;br /&gt;
&lt;br /&gt;
There are specific codes for changing the color of text, but this list is not yet included in this tutorial.&lt;br /&gt;
&lt;br /&gt;
There is also a specific code for creating &#039;timed&#039; images which will animate based on a timer, but this is not yet included in this tutorial.&lt;br /&gt;
&lt;br /&gt;
= Importing Graphics and Texts =&lt;br /&gt;
To import your graphics, go back to your command prompt and type in the same address as previously, but you&#039;ll change the command to import this time:&lt;br /&gt;
&lt;br /&gt;
 modkeen -episode=4 -import -bmpdir=&amp;quot;BMP&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: You may need to drag and drop modkeen onto dosbox and then type this command.&lt;br /&gt;
&lt;br /&gt;
If you get the done message, you&#039;ve imported successfully, however, you can&#039;t try out your new graphics until after creating a patch file and corresponding batch file, which is explained in the next section.&lt;br /&gt;
&lt;br /&gt;
= Patch File and Batch File = &lt;br /&gt;
&lt;br /&gt;
Your patch file is used to access all the edited content in your mod. It&#039;s what allows you to have new graphics, new tile properties, new levels, new music, new text, new enemy behaviors, etc.  It also allows you to change the &#039;rules&#039; of the game in certain ways (although there are limitations).&lt;br /&gt;
&lt;br /&gt;
If you look in your &amp;quot;keen4mod&amp;quot; folder, you will notice that Modkeen has generated a patch file for you called &amp;quot;keen4.pat&amp;quot;.  You will want to rename this so that it isn&#039;t overwritten in the future.  Locate Keen4.pat and rename it to something like &amp;quot;mymod.pat&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You can also create a patch file from scratch.  To do this, create a new .txt file called &amp;quot;mymod&amp;quot;.  Open the file and save as &amp;quot;mymod.pat&amp;quot; and make sure you select &amp;quot;all files&amp;quot; in the &amp;quot;Save as type&amp;quot; section. You should now have a &amp;quot;mymod.pat&amp;quot; file.&lt;br /&gt;
&lt;br /&gt;
Your batch file is what you&#039;ll use from now on to play your mod.  To create a batch file, first create a new text document and name it whatever you want.  In this example we&#039;ll use &amp;quot;Play&amp;quot;.  In the text file, type: ck4patch mymod.pat&lt;br /&gt;
&lt;br /&gt;
Now, go to &#039;file&#039; and save as &amp;quot;Play.bat&amp;quot; and make sure you select &amp;quot;all files&amp;quot; in the &amp;quot;Save as type&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
Run &amp;quot;Play.bat&amp;quot; to make sure your mod is working.  If you see your modified graphics and/or texts, it works!&lt;br /&gt;
&lt;br /&gt;
== Patching Basics ==&lt;br /&gt;
After you&#039;ve made sure Play.bat runs fine, open up mymod.pat with a text editor.&lt;br /&gt;
&lt;br /&gt;
You should see:&lt;br /&gt;
&lt;br /&gt;
 ext ck4&lt;br /&gt;
 version 1.4&lt;br /&gt;
 # Load the modified graphics&lt;br /&gt;
 %egahead EGAHEAD.CK4&lt;br /&gt;
 %end&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what each line means: &lt;br /&gt;
&lt;br /&gt;
* The first two lines mark the beginning of your patch file.&lt;br /&gt;
&lt;br /&gt;
* The # symbol indicates a comment.  Any line preceded by a # will be skipped over and allows you to include notes in your patch file.&lt;br /&gt;
&lt;br /&gt;
* %egahead EGAHEAD.CK4 is what tells the game to use your new graphics.&lt;br /&gt;
&lt;br /&gt;
* %end will mark the end of your patch file.  Anything that appears after this will not be read by the game, so make sure that any patches you add to this file are included before this line.&lt;br /&gt;
&lt;br /&gt;
You can find all kinds of patches on the [http://www.keenmodding.org/ Keen Modding Forum] as well as make specific requests.  Additionally, your can run [[The Neural Stunner]] to generate some easy patches, or dig through the patch files of existing mods.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s an example patch that makes bounders unkillable:&lt;br /&gt;
&lt;br /&gt;
 %patch $11166 $12 $2F &lt;br /&gt;
&lt;br /&gt;
Now add it to the patch file and also add a comment explaining what it does.&lt;br /&gt;
&lt;br /&gt;
 %ext ck4&lt;br /&gt;
 %version 1.4&lt;br /&gt;
 # Load the modified graphics&lt;br /&gt;
 %egahead EGAHEAD.CK4&lt;br /&gt;
 #Make bounders unkillable&lt;br /&gt;
 %patch $11166 $12 $2F &lt;br /&gt;
 %end&lt;br /&gt;
&lt;br /&gt;
Now save your patch file and run Play.bat.  Bounders should now be unkillable!&lt;br /&gt;
&lt;br /&gt;
= Tile Properties =&lt;br /&gt;
Go to your &amp;quot;Tools&amp;quot; folder and go into your ckD456tli folder.  Copy the Keen4.tli file into your &amp;quot;keen4mod&amp;quot; folder.  Then go to your patchfile and add the patch that corresponds to your modded episode below:&lt;br /&gt;
&lt;br /&gt;
 %patchfile $249C2 keen4.tli&lt;br /&gt;
 %patchfile $25B22 keen5.tli &lt;br /&gt;
 %patchfile $25212 keen6.tli&lt;br /&gt;
&lt;br /&gt;
Now run CkD456tli.  The first item the program asks you for is the file which you just copied to your &amp;quot;keen4mod&amp;quot; folder.  Locate and select it.  Next, go into the BMP folder and select the background tileset, and after that select the foreground tileset.&lt;br /&gt;
&lt;br /&gt;
You&#039;re now in the editing menu.&lt;br /&gt;
&lt;br /&gt;
On the left side you can see the background tiles.  The properties in that tileset are limited: either a tile can animate or have no properties.  If a tile animates, the next tile in the animation sequence is outlined in a double red border. Note that tiles can only animate up to 128 tiles before or after any given tile, so try to keep tiles that animate near each other. &lt;br /&gt;
&lt;br /&gt;
To animate a tile, select the first tile in the animation sequence.  Next, right click the tile that should appear next in the sequence.  Now left click that new tile and select the tile it will animate to next.  Make sure the last tile in this sequence animates back to the original tile.  Now go back and add animation times to each tile.  By moving the scrollbar, you can change the amount of time spent on the tile while animating (0 to 255 time units).&lt;br /&gt;
&lt;br /&gt;
If a tile animates that you don&#039;t want to animate, right click the original tile.  You will need to repeat this step for each tile in the animation sequence.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: Reducing the scroll bar to zero will NOT prevent the tile from animating and will instead cause the game to crash&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: After disabling a tile from animating, it is not necessary to reduce its value in the scroll bar to zero, although this is recommended to avoid future errors when editing.&lt;br /&gt;
&lt;br /&gt;
On the right side is the foreground tiles.  For foreground tiles, you can also edit the animation properties (and they work the same way), but there are several other properties you can edit as well. Above the enlarged pictures of the tile and its mask is a dropdown menu where you can select the properties of the top of the tile. Similarly, the dropdown menu below lets you select the properties of the bottom of the tile. Pushing in the buttons on either side signify that Keen (and other sprites) cannot enter the tile from that side, making it solid. (Note that these are almost always set or cleared together. One-way tiles do not work as well in Keens 4, 5, and 6 as they do in Keens 1, 2, and 3).  Off to the right is another dropdown menu, which lets you change special properties of the tile. Lastly, when the &amp;quot;FRONT&amp;quot; button is pushed in, it means that the tile appears in front of Keen and other sprites rather than behind them. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: There are some exceptions where foreground tiles that animate have their animation value set to zero.  This includes: Key-gem doors and and flag holders.&lt;br /&gt;
&lt;br /&gt;
When you&#039;re finished editing, click save. &lt;br /&gt;
&lt;br /&gt;
= Level Editing =&lt;br /&gt;
Before getting into special instructions for each editor, some general knowledge about how Keen Galaxy levels work is needed.&lt;br /&gt;
&lt;br /&gt;
Keen 4, 5, and 6 levels consist of three layers of tiles: the background, foreground, and info layers. The background is just there to add color to the scene; Keen and the enemies don&#039;t interact with it. The foreground layer contains tiles that Keen interacts with: platforms, point items, doors, secret passages, and so on (note that many tiles in the foreground layer actually appear behind Keen, but they are not considered &#039;background tiles&#039;). Finally, the info layer contains information about sprites and special features such as switches, doors, bridges and so on. When level editing, you will generally work with only one layer at a time, although all three may be visible at once (layers can be toggled).&lt;br /&gt;
&lt;br /&gt;
In keen 4, 5, and 6, the world map is built primarily from background tiles which do no have solid properties.  Instead, special &#039;invisible&#039; tiles are placed from the foreground tilset on the world map to block Keen&#039;s path.  These can be difficult to figure out.  Check tile properties with ckD456tli to figure out what is what and then edit the invisible tiles to have visual cues for placement (they can be made invisible again later).  Alternatively, you can use foreground tiles to build the world map (although this will use more memory).&lt;br /&gt;
&lt;br /&gt;
Keen Galaxy levels have a rectangular border of 2 tiles.  Borders should be filled with solid tiles with some exceptions.  To create a level exit, leave the border empty where you want Keen to exit.  Keen cannot exit out the top or bottom of the screen (Keen will die on the screen bottom and Keen will glitch on the screen top).&lt;br /&gt;
&lt;br /&gt;
Point items can be placed as both sprites or as tiles.  It is important to place as many point items as tiles as possible to avoid memory issues.  A good rule of thumb is to only place sprite items on foreground tiles.&lt;br /&gt;
&lt;br /&gt;
Included below are general instructions for Ted5 (Sections written by Levellass and Adurdin, edited by Ceilick), Keen: Next (Written by Ceilick), and The Omegamatic (Written by Mink and edited by Ceilick).&lt;br /&gt;
&lt;br /&gt;
== Ted5 ==&lt;br /&gt;
=== Setting up Ted5 ===&lt;br /&gt;
Download and unzip ted5 into your &amp;quot;keen4mod&amp;quot; folder.  &lt;br /&gt;
&lt;br /&gt;
1. Look for the file Egahead.ck4.  Rename this file Egahead.ren.&lt;br /&gt;
&lt;br /&gt;
2. Run Tedsetup.&lt;br /&gt;
&lt;br /&gt;
3. Tedsetup will generate a new Egahead.ck4.  Delete this file.  Now Rename Egahead.ren to Egahead.ck4.&lt;br /&gt;
&lt;br /&gt;
This is the only time you will need to run tedsetup and follow the above steps.&lt;br /&gt;
&lt;br /&gt;
You will probably need dosbox to run Ted5.  Just drag and drop the ted5.exe onto your dosbox icon.&lt;br /&gt;
&lt;br /&gt;
=== The Interface ===&lt;br /&gt;
After dismissing the welcome screen, the first thing you will want to do is press F9, or click the &amp;quot;?&amp;quot; tab and select &amp;quot;Video Mode Switch&amp;quot;. That will cause TED to run in 640x480 mode, giving you more space to work with. You can switch to the low resolution mode again anytime you want to make sure how much of the level is going to be displayed on the in-game screen at once. &lt;br /&gt;
&lt;br /&gt;
At the bottom of the screen, you will see the Info Bar. From the far left to right, it displays: &lt;br /&gt;
&lt;br /&gt;
* Selected Background tile. &lt;br /&gt;
* Selected Foreground tile. &lt;br /&gt;
* Selected Sprite Icon. &lt;br /&gt;
&lt;br /&gt;
These items display the icon as a graphic, followed by the tile number in hexadecimal (like $00AE) and decimal (174). Clicking on any of them will bring up the tiles palette so you can select a new one. &lt;br /&gt;
&lt;br /&gt;
Next appears the name of the level.  This name is used only in Ted5, it does not affect the level name in-game.&lt;br /&gt;
&lt;br /&gt;
Next appears: Active layers (B, F, I) &lt;br /&gt;
* B: Background Tiles&lt;br /&gt;
* F: Foreground Tiles&lt;br /&gt;
* I: Sprite Icon, door/switch coordinates&lt;br /&gt;
&lt;br /&gt;
The letter indicates the layer where you will be adding new tiles to. You can select more than one and the selected tiles will all be placed, however, it is recommended that you work only one layer at a time. &lt;br /&gt;
&lt;br /&gt;
Next appears: Visible layers (b, f, i) &lt;br /&gt;
This tells you which layers are being toggled.  You can toggle layers with the hotkeys 4, 5, and 6.&lt;br /&gt;
&lt;br /&gt;
When a layer is turned off you cannot place items in it by mistake. This allows you&lt;br /&gt;
 to take a closer look at a specific layer to make sure everything is placed correctly. &lt;br /&gt;
&lt;br /&gt;
Lastly, on the bottom far right: Cursor location (X, Y) &lt;br /&gt;
This gives you the tile coordinates at a specific spot on the map.  This will also be given in both decimal and hexadecimal numbers. You will need those numbers in order to have switch that activate lifts, doors leading to other places, toggling bridges, and more. &lt;br /&gt;
&lt;br /&gt;
=== Editing ===&lt;br /&gt;
&lt;br /&gt;
By default, TED5 will load the world map for the game. In order to switch to another map, you will need to click the File menu and select Edit New Map. You will then be able to select any of the maps in the game. For this example, pick Slug Village. &lt;br /&gt;
&lt;br /&gt;
You can use the arrow keys to scroll the level around.&lt;br /&gt;
&lt;br /&gt;
You can toggle which type of tile to place (background, foreground, sprite icon) by pressing the 1, 2 or 3 keys.  Note for each type of tile, you will need to press the number key to activate it and the same key again to deactivate it before using a different tile type.&lt;br /&gt;
&lt;br /&gt;
Adding new tiles to the level is as simple left-clicking. The currently selected tiles will be placed in all active layers. You can select tiles in three ways: Clicking the tile icon to the left of the Info Bar, pressing the space bar to bring up the tile set, or right-clicking an existing tile. &lt;br /&gt;
&lt;br /&gt;
Right-clicking an existing tile will switch all the active tiles to the ones in the active layers. This means, if you only have the Icon layer active, right-clicking a tile with a slug will only select the slug; while if you have all three layers active, it will select the slug, the Foreground tile, and the Background tile at that location. &lt;br /&gt;
&lt;br /&gt;
Once you have a basic level made, you&#039;ll want to add more advanced features like moving platforms, switches, bridges, doors, and so on. These are all done with links in the sprite icon layer. &lt;br /&gt;
&lt;br /&gt;
A simple moving platform in Keen 4 can be placed by putting a moving platform icon with a red arrow in the desired spot. To stop the platform moving off the edge of the screen however, you&#039;ll need to put some blocking tiles in its path: these icons look like a &amp;quot;B&amp;quot; in a square. Put one blocking tile to each side (for a horizontally-moving platform) or above and below (for a vertically-moving platform). A collapsing platform (the one with a yellow triangle below) only needs a single blocking tile beneath it. In Keen 5 and Keen 6, the platforms with green arrows (known as Goplats) need a path made of the yellow arrow icons to follow.&lt;br /&gt;
&lt;br /&gt;
Often you want the player to have to turn a platform on with a switch. To do this, you need to place another blocking tile in the way of the platform between the other two. Make a note of the hexadecimal values of the location of the tile (the X and Y values beginning with $ at the right-hand side of the status bar). Now place a switch in an appropriate place, and link it to the blocking tile: Choose Misc, New INFOPLANE Value or press Enter, and type in a $ followed by the last two digits of the X and Y values you wrote down. Then click on the switch; this will place the link in the info plane, which will be shown as four digits. The switch will now turn the blocking tile off, to activate the platform.&lt;br /&gt;
&lt;br /&gt;
When working on your world map, you&#039;ll want to use the infoplane to specify what levels your entrances will lead to.  To do this, go to Misc, New INFOPLANE Value, and type in a $ followed by one of the following: $C0xx is a link to level where xx is the level number in hexadecimal, not decimal), $D0xx overlays blocking tiles that will be removed upon completion of the level (think the gates for border village and slug village), and $F0xx is for the flag holder which corresponds to the level.  After entering your chosen value, you can then edit the info plane by left clicking.&lt;br /&gt;
&lt;br /&gt;
In the same way, you can link a switch to a bridge (link to the left-hand edge of the bridge), a gem-holder to a closed door (link to the top of the door), and a walk-in doorway to the place you walk out (link to where you want Keen&#039;s feet to end up after he enters the doorway). Note that if you create a link from a switch to a square with nothing in the info plane, that switch will turn a blocking tile on; also that you need to use a particular tile to make a walk-in door (find out by looking at an existing level).&lt;br /&gt;
&lt;br /&gt;
Another feature which makes Keen levels exciting is secret passages. Some foreground tiles allow Keen to walk behind them-these are suitable for secret passages. However, identifying which ones are like this and which ones are solid is difficult: I suggest examining some of the original levels and noting down the tile numbers of the &amp;quot;secret passage&amp;quot; tiles to keep track of them. When putting point items in a secret passage, you must use icons for them, rather than their foreground tiles. I suggest that you only place the &amp;quot;walk-behind&amp;quot; tiles in secret passages once the level is completed, so that while editing you can keep track of them more easily.&lt;br /&gt;
&lt;br /&gt;
Finally, some Keen levels have separate areas that act like independent mini-levels (the Pyramid of the Forbidden is a good example of this). You can place scroll blocks in the info layer to mark horizontal and vertical edges between these areas. The scroll blocks look like horizontal and vertical blue lines with small white stripes; I suggest examining existing levels to see how they are &lt;br /&gt;
used before placing them in your own levels.&lt;br /&gt;
&lt;br /&gt;
=== Saving ===&lt;br /&gt;
You can save your map at any time by going to the File menu and selecting Save Map; however, in order to actually play the level, you will need to Carmacize Maps.  While ted5 has an option to do this, it takes too long to do so.  The easiest method is to download InstantCarma and unzip the files into the folder with your maps.  After you save your map in ted5, just run InstantCarma.&lt;br /&gt;
&lt;br /&gt;
TEDSETUP creates an extra batch file (Go4.bat) and patch file (Patch4.pat) which you do not need if you open your existing patch file and add the line:&lt;br /&gt;
&lt;br /&gt;
 %maphead maphead.ck4&lt;br /&gt;
&lt;br /&gt;
You only need to add this to your patch file once.  Then just run your batch file to try your level!&lt;br /&gt;
&lt;br /&gt;
=== Other Ted5 Features ===&lt;br /&gt;
&lt;br /&gt;
Grid Mode toggles the showing of a grid on the current level. This can help with placing tiles in the right positions. Turn this on or off from the Mode menu or by pressing G.&lt;br /&gt;
&lt;br /&gt;
Block Fill mode quickly fills a rectangular area with the currently selected tiles. Choose it from the Mode menu or press B, and click the left mouse button on the desired top-left corner, and the right button on the bottom-right corner, then press Enter to fill the area.&lt;br /&gt;
&lt;br /&gt;
Flood Fill mode will fill an area of one tile with the currently selected tiles. Choose it from the Mode menu or press F, then click in the desired location to fill.&lt;br /&gt;
&lt;br /&gt;
Copy Mode (also on the Mode menu, or press C) lets you select a rectangular set of tiles to copy so that you can duplicate them in another region easily. Select the area as for Block Fill mode, then press Enter.&lt;br /&gt;
&lt;br /&gt;
Paste Mode (you know where to find it) allows you to paste one or more copies of the tiles chosen with Copy Mode. Click with the left mouse button to place a copy. You can use the Paste Overlay option (on the Mode menu, or press F3) to toggle pasting of empty tiles. The Snap-Paste option (press S) toggles pasting copies just anywhere, or in a tessellated pattern. This is especially useful for &lt;br /&gt;
filling in the background of a level.&lt;br /&gt;
&lt;br /&gt;
You can change the size of a level with the &amp;quot;Change MAP Edges&amp;quot; option on the Edit menu. Select the edge you want to change, and enter a positive or negative number to add or remove rows from that edge.&lt;br /&gt;
&lt;br /&gt;
== Keen:Next ==&lt;br /&gt;
&lt;br /&gt;
=== Setting Up ===&lt;br /&gt;
Go to the keen 4 folder in Keen next and copy the tiles4.png file.  Paste this into your &amp;quot;keen4mod&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
Edit tiles4.png to include your edited graphics.  Be sure to save the file as .png.&lt;br /&gt;
&lt;br /&gt;
Go to your Keen:Next folder and run the kmaps application.  You may get an error message after running this, but this is not a problem, just click ok.&lt;br /&gt;
&lt;br /&gt;
When the editor opens, the first thing to do is go up to &#039;file&#039; then &#039;new&#039;.  A &#039;project properties&#039; window will appear.  Give your project a title (it doesn&#039;t matter what you name it) and then check the &amp;quot;keen project&amp;quot; box.  We&#039;ll be using Keen4, which is the default setting.  If you&#039;re planning to edit keen 5 or 6, just make sure to select those in the box next to &amp;quot;keen project&amp;quot;.  Next we need to choose the tileset.  In the image file section, go to &#039;browse&#039; and select the tileset you want to use (in this case, tiles4.png).  After all this, click &#039;ok&#039;.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: you will have to do this each time you open the editor.&lt;br /&gt;
&lt;br /&gt;
Before editing levels, you must extract them in a way that Keen: Next can read them.  Go to &#039;file&#039;, then &#039;create keen files&#039;.  Browse to your &amp;quot;keen4mod&amp;quot; folder and select keen4.exe.  Your keen map files should now be created.   &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: this will not work if you have run tedsetup.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: You only have to do this once.&lt;br /&gt;
&lt;br /&gt;
=== The Interface and Tools ===&lt;br /&gt;
The tiles should load on the right side of editor menu.  You can adjust the tile menu width with the mouse by selecting the left edge.  You can scroll between the background and foreground tiles.&lt;br /&gt;
&lt;br /&gt;
In the upper left is a toolbar.  The default tile tool is the pencil/paintbrush.  You can click and place or click and drag to place tiles.  &lt;br /&gt;
&lt;br /&gt;
There is also a water dropper tool.  This is useful for selecting a tile currently on the map instead of looking for it in the tileset.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: the water dropper will &#039;pick up&#039; the tile from the tileset you&#039;re currently in; if you currently have a background tile selected and use the water dropper, it will pick up the background tile on the map.  If you want a foreground tile, scroll down in the tileset on the right and select one of  the foreground tiles, then use the water dropper on the map.&lt;br /&gt;
&lt;br /&gt;
I do not recommend using the paint can tool, since it is very buggy.&lt;br /&gt;
&lt;br /&gt;
The next tool can be used for selecting&lt;br /&gt;
 a rectangular area of the map.  This is useful for cutting a piece of the level and pasting it elsewhere (you will need to do this twice if you want to cut and paste both the background and foreground).  You can also create stamps this way. Just select an area and go to &amp;quot;selection&amp;quot; and then &amp;quot;create brush&amp;quot;.  A stamp of the area will now appear on the left.&lt;br /&gt;
&lt;br /&gt;
You can create stamps of a large area of tiles from the tileset also.  To do this, click the top left corner of the area of tiles you want in the tileset.  Then go to the bottom right corner of that area, while holding shift, and select that tile.  Doing this successfully will result in the stamp image appearing on the left side of the editor.  You can now use the paintbrush tool to place this stamp, and you can reselect this stamp at any time you&#039;re editing.  &lt;br /&gt;
&lt;br /&gt;
The next tool looks like a little cog.  This is used for placing doors, level entrances, switches, and key-gem holders.&lt;br /&gt;
&lt;br /&gt;
The last important tool has an icon that looks like an arachnut.  Click this to bring up the sprite menu.  This is used for placing enemies, points, and some other things.  To switch back to tiles from sprites, click the little black square icon to the left of the arachnut icon you used to get to the sprite menu.&lt;br /&gt;
&lt;br /&gt;
In addition to the tools, you can toggle the layers used in editing with the &#039;view&#039; tab and checking/unchecking layer 1 and layer 2.  Make sure that, in the &amp;quot;view&amp;quot; section, you have &#039;fade unused layers&#039; unchecked.  This makes level viewing easier.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: This is the buggiest part of Keen:Next and if you frequently toggle layers, glitches can ruin a lot of work put into a level.  Its usually best to leave both layers visible, or save your progress before toggling layers and then reload Keen: Next as soon as you finish the work that required toggling them.  &lt;br /&gt;
&lt;br /&gt;
=== Editing ===&lt;br /&gt;
To begin editing, first load a map.  Go to &#039;file&#039;, then &#039;Import Keen Map&#039;.  In your &amp;quot;keen4mod&amp;quot; folder, select &#039;maphead.ck4&#039;.  You should now be presented with a &#039;map select&#039; box.  Choose the level you&#039;d like to edit.  Let&#039;s start with the shadowlands.&lt;br /&gt;
&lt;br /&gt;
The shadowlands map should now be loaded in the main editing area.  You&#039;ll notice little white icons that look like this (!).  These are the level sprites.  To place these, use the little cog tool up in the upper left (next to the rectangular area selector).  When this tool is used to click the map, you&#039;ll get an &#039;info plane&#039; box asking for an x and y coordinate.&lt;br /&gt;
&lt;br /&gt;
On the world map, this is how the coordinates work:&lt;br /&gt;
The x coordinate determines what kind of sprite is used.  An X of 192 designates the sprite as a level entrance.  Note: you cannot place a level entrance on a tile that appears over keen or on an animating tile.&lt;br /&gt;
&lt;br /&gt;
An x of 208 is a level block (like those used in the slug village); this sprite does not actually block keen, but is placed over a foreground tile that does.  When the level is beaten, this info number removes the foreground tile.  &lt;br /&gt;
&lt;br /&gt;
An x value of 240 is for the flag holders.&lt;br /&gt;
&lt;br /&gt;
Y coordinates only designate what level the sprite is associated with.  A Y of 1 will designate the level as level 1.&lt;br /&gt;
&lt;br /&gt;
To place sprites (enemies) in a level, go to the tools menu and click the little icon that looks like an arachnut.  The sprite menu should appear in place of the tileset.  To place a sprite, make sure you have the paintbrush icon selected, then click the sprite you want to place.  To switch back to tiles from sprites, click the little black square icon to the left of the arachnut icon you used to get to the sprite menu.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: some enemies appear more than once in the sprite menu; this is for enemies that appear on easy, moderate, and hard.  You can see little numbers that designate this, but a general rule is that the order they appear in on the menu matches the easy/medium/harder order.  &lt;br /&gt;
&lt;br /&gt;
To place a keygem holder, first place the foreground keygem holder tile somewhere on the map (it can be anywhere).  Next place a door (these are also foreground tiles) somewhere (anywhere).  When making the door, there are three door tiles: a bottom, middle, and top.  If you&#039;re making a door more than three tiles high, use the middle door piece for additional height.  Using your mouse, hold it over the top tile of the door.  In the lower left side of the editor, you&#039;ll notice that the map coordinates for this tile appear.  Memorize or write these down.  Now select the cog tool and then click your keygem holder.  Enter in the coordinates for your door.  You&#039;ve now got a working door.&lt;br /&gt;
&lt;br /&gt;
To place doors that Keen can enter, first place two sets of door tiles on the map.  Now you must determine the coordinates.  Go to one of your doors and hold the mouse over the tile below the bottom left door tile (not on the bottom left door tile or keen will drop out of the air). Check the coordinates.  Then go to the door you want to connect to this spot and use  the cog tool and click the lower left door tile (the lower left door tile, not the one below it). Enter in the coordinates.  Do the same for the bottom right door tile.  Now this door is connected to the other, but you also need to check the coordinates at this door and add them to the tiles of the other door.&lt;br /&gt;
&lt;br /&gt;
To create a working switch, use the cog tool on a switch and use the coordinates for the thing you want the switch to affect.  For a bridge, get the coordinates of the top left bridge tile and put this in the info box for the switch.  For goplats (moving platforms), get the coordinates of a B sprite (these are sprites which goplats bounce off and then go in the other direction).  The switch will remove that sprite so the goplat can move.&lt;br /&gt;
&lt;br /&gt;
To resize a map, go to &amp;quot;edit&amp;quot; and &amp;quot;Resize map&amp;quot;.  Then select the new level boundaries and the side of the level which should be expanded or shrunk.&lt;br /&gt;
&lt;br /&gt;
Keen: Next has an infinite undo button.  Just go to &amp;quot;Edit&amp;quot; and click &amp;quot;Undo&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: Undo will work for everything except changes to the level boundaries.  Make sure you save before changing level boundaries!&lt;br /&gt;
&lt;br /&gt;
=== Saving ===&lt;br /&gt;
When you&#039;re ready to save, go to &#039;file&#039;, then &#039;export keen map&#039;, then select &#039;maphead.ck4&#039;,  click yes, and reselect the level you want to save over and click ok.  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: if you like, You can rename the level here before you click ok.  The name you choose will only appear in the editor, however, and not in the in-game text.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: Do not click &#039;save&#039; or &#039;save as&#039;.  These options do not actually save the level to the game, but as files only Keen: Next can read.  Additionally, saving levels in this manner can cause Keen: Next to crash.&lt;br /&gt;
&lt;br /&gt;
After saving you can test your levels by adding this to your patch file:&lt;br /&gt;
&lt;br /&gt;
 %maphead maphead.ck4&lt;br /&gt;
 %gamemaps editmaps.ck4&lt;br /&gt;
&lt;br /&gt;
Then run your batch file and you&#039;re all set.&lt;br /&gt;
&lt;br /&gt;
== The Omegamatic ==&lt;br /&gt;
===Setting Up===&lt;br /&gt;
Run tom.exe and select the gamemaps.ck4 file.  You will then need to select your tilesets which you exported modkeen: 4til0000 and 4til0001.  After selecting these, if all goes well, the world map will open in TOM.&lt;br /&gt;
&lt;br /&gt;
===The Interface and Tools===&lt;br /&gt;
Tom features two different level editing styles: Ted5 and Keen:Next.  I highly recommend Keen:Next Mode and will only cover it in this tutorial.  To activate this go to settings and click &amp;quot;Keen:Next Mode&amp;quot;.  You will now see the tileset on the right side of the TOM window.&lt;br /&gt;
&lt;br /&gt;
In the bottom left of the window you will see three different boxes.  These boxes display the tile you pick from the tileset on the right of the window.  Each box displays from one of the three layers used in Keen:Galaxy: background tiles, foreground tiles, and sprite icons.  To change which tileset to work with, use the hotkeys 1, 2, and 3 to switch between the layers.&lt;br /&gt;
&lt;br /&gt;
To place a tile simply select the tile from the tileset with the left mouse button and click on the level where you want to place it with the left mouse button.  You can also right click a tile from the level to make it the active tile for placing, just like a water dropper tool.  To erase a tile you will need to right click an empty space in the level, which makes an empty tile the active tile, and then left click what you want to erase.&lt;br /&gt;
&lt;br /&gt;
If you want to select an area of tiles from within a level, press C and left click a corner of the area you want to select.  You should then left click the opposite corner of the area you want to select.  The selected area will have it&#039;s colors inverted until you select the size of the area.  You can then press P to paste the area you selected.&lt;br /&gt;
&lt;br /&gt;
If you want to select an area of tiles from the tileset, left click the top left tile of the area you want to select.  Then, while holding shift, left click the bottom right tile of the area you want to select.  Release shift and then you should be able to place the selected area in the level by left clicking.   &lt;br /&gt;
&lt;br /&gt;
You can scroll around the level with your mouse wheel or with the arrow keys.  You can zoom in and out in the &amp;quot;View&amp;quot; tab.  You can also toggle on and off which layers can be seen with the hotkeys 4, 5, and 6.&lt;br /&gt;
&lt;br /&gt;
To change the level you are editing go to &amp;quot;Levels&amp;quot; and select the level you want to edit.  You can rename levels by going to &amp;quot;File&amp;quot; and then &amp;quot;Rename This Level&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You can resize a level by going to &amp;quot;Tools&amp;quot; and selecting either: Insert Row, Delete Row, Insert Column, or Delete Column.  After selecting on of these move your mouse around the level and you will see a highlighted area which will be affected by whichever option was chosen.  To disable any of these level adjustments just go back to &amp;quot;Tools&amp;quot; and uncheck it.&lt;br /&gt;
&lt;br /&gt;
When working on your world map, you&#039;ll want to use sprites to specify what levels your entrances will lead to. To do this, first press 3 to activate the sprite icon layer.  Press enter once and a message box will come up with an infoplane number in hexideciaml.  Remove the number indicate and type one of the following: C0xx makes a level entrance where xx is the level number in hexadecimal, not decimal), D0xx overlays blocking tiles that will be removed upon completion of the level (think the gates for border village and slug village), and F0xx is for the flag holder which corresponds to the level. After entering your chosen value, you can then place the level entrance, gate, or flag sprite by left clicking.&lt;br /&gt;
&lt;br /&gt;
===Sprites and Enemies===&lt;br /&gt;
To place sprites and enemies in a level, press 3 to bring up the sprite tileset. You can place sprites like you would normally place a tile.  Some enemies appear more than once in the sprite menu; this is for enemies that appear on easy, moderate, and hard. You can see little numbers that designate this, but a general rule is that the order they appear in on the menu matches the easy/medium/harder order.  Sometimes there is a blank space before or after the order of sprites.  For example, the blue bird from keen 4 doesn&#039;t have a sprite icon for easy mode, however, it does have a blank tile where the easy mode icon would normally go.  This blank tile can be placed to place a blue bird on easy.  This works similarly for other enemies in this situation.&lt;br /&gt;
&lt;br /&gt;
===Secret Passages===&lt;br /&gt;
Some foreground tiles have properties that allow Keen to walk behind them; these are secret passages.  To make these you will need to identify which tiles have the correct foreground but not blocking properties.  I suggest examining some of the original levels and noting down which tiles are used for the secret passages.  You can also identify them with the CKD456tli utility. When putting point items in a secret passage, you must use points from the sprite list rather than the foreground tile points.&lt;br /&gt;
&lt;br /&gt;
===Moving Platforms===&lt;br /&gt;
A simple moving platform in Keen 4 can be placed by putting a moving platform sprite icon with a red arrow in the desired spot. To stop the platform moving off the edge of the screen however, you&#039;ll need to put some blocking tiles in its path: these icons look like a &amp;quot;B&amp;quot; in a square. Put one blocking tile to each side (for a horizontally-moving platform) or above and below (for a vertically-moving platform). A falling platform (the one with a yellow triangle below) only needs a single blocking tile beneath it. In Keen 5 and Keen 6, the platforms with green arrows (known as Goplats) need a path made of the yellow arrow icons to follow.&lt;br /&gt;
&lt;br /&gt;
===Switches for goplats===&lt;br /&gt;
Often you want the player to have to turn a platform on with a switch. To do this you will need to place another blocking tile in the way of the platform between the other two. After placing the blocking tile, hold the mouse over it and press enter two times.  This will give you the hexidecimal coordinates which you will place on the corresponding switch.  The switch will now turn the blocking tile off thus activating the platform.&lt;br /&gt;
&lt;br /&gt;
===Switches for bridges===&lt;br /&gt;
To create a switch for bridges, first build the bridge using the bridge tiles.  Then hold your mouse over the top left tile of the bridge and press enter twice to get the hexidecimal sprite value.  Place this sprite on the switch you want to activate the bridge with.  If you want the bridge to begin already opened, you will need to locate the invisible bridge tiles and place these where the bridge will be located, otherwise no bridge will appear.  To find these either locate them in existing levels with open bridges or use ckd456tli.&lt;br /&gt;
&lt;br /&gt;
===Key Gem Doors===&lt;br /&gt;
To place a keygem holder, first place the foreground keygem holder tile somewhere on the map (it can be anywhere). Next place a door (these are also foreground tiles) somewhere (anywhere). When making the door, there are three door tiles: a bottom, middle, and top. If you&#039;re making a door more than three tiles high, use the middle door piece for additional height. Using your mouse, hold it over the top tile of the door and press enter twice.  Place the sprite that this gives you on the gem holder.&lt;br /&gt;
&lt;br /&gt;
===Doors===&lt;br /&gt;
To place doors that Keen can enter, first place two sets of door tiles on the map. Then hold the mouse over bottom left or right of the first door and press enter twice.  This gives you a sprite which you should place on the bottom of the second door you want connected to the first door.  After placing the sprites at the bottom of the second door, you will need to press enter twice at the bottom of this second door and place the sprites on the first door in the same way.&lt;br /&gt;
&lt;br /&gt;
===Scroll Blocks===&lt;br /&gt;
Some Keen levels have separate areas that act like independent mini-levels (the Pyramid of the Forbidden is a good example of this). You can place scroll blocks from the sprite menu to mark horizontal and vertical edges between these areas. The scroll blocks look like horizontal and vertical blue lines with small white stripes; I suggest examining existing levels to see how they are used before placing them in your own levels.&lt;br /&gt;
&lt;br /&gt;
===Saving===&lt;br /&gt;
To save your progress go to &amp;quot;File&amp;quot; and then &amp;quot;Save all Levels&amp;quot;.  This will immediately save all your levels.&lt;br /&gt;
&lt;br /&gt;
===Testing===&lt;br /&gt;
After saving you can test your levels by adding this to your patch file: &lt;br /&gt;
&lt;br /&gt;
 %maphead maphead.ck4&lt;br /&gt;
 &lt;br /&gt;
Then run your batch file. &lt;br /&gt;
&lt;br /&gt;
== Abiathar ==&lt;br /&gt;
&lt;br /&gt;
See Fleexy&#039;s [https://dl.dropboxusercontent.com/u/3771470/Abiathar/AbiatharHelp.pdf official manual] or [https://www.youtube.com/playlist?list=PL-BuW7CehquoCH_yGXeQqTIXQMY7sUm-u video tutorial playlist].&lt;br /&gt;
&lt;br /&gt;
== General Level Editing Issues ==&lt;br /&gt;
If there are too many sprites in a level you will get the error &#039;No space left in objarray&#039;; the game has run out of memory to store sprites. This usually occurs at the level start. To fix this, remove sprites from your level.  When placing sprites, keep in mind that the more variety of enemies you use, the more memory is used up and the larger the sprite and the more frames it has, the more memory it uses.  Also, when trying to save memory, check your points items: these exist both as tiles and sprites (try to use tile points whenever possible).&lt;br /&gt;
&lt;br /&gt;
If you have too many different types of tiles (Background and foreground) then you will get the error &#039;No space left in tilearray&#039;; this means that the game does not have enough memory to store all your different tile types. Foreground tiles use 8x the memory of background tiles. You shouldn&#039;t have more than about 400 tile types total (Background and foreground) in a level, usually 100 back and 300 fore.  Additionally, animating tiles with many frames can increase your tile count drastically.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: I have never had this error before and imagine it would be difficult to attain, so don&#039;t be worried about using too much until you get this error.&lt;br /&gt;
&lt;br /&gt;
You cannot have more than 20 actively animating tiles on-screen at any one time, this includes item tiles. This will cause an anim tile error. (Not enough memory to animate all these tiles.)  &lt;br /&gt;
&lt;br /&gt;
Note:  This was a major problem in designing the Lava Falls in [[Dead in the Desert]], so be careful when it comes to animating tiles.&lt;br /&gt;
&lt;br /&gt;
If a level is &#039;too large&#039; for its music file, the error &#039;Not enough memory to play background music!&#039; will occur. This is an indication of either large levels or large music files. To reduce this error, either make your level smaller or change the music to a smaller file. &lt;br /&gt;
&lt;br /&gt;
If you see static gibberish instead of an animation while testing your level, then you have placed an animating background over an animating foreground. For memory reasons this is not allowed.  Similarly, a sprite cannot be placed on top of an animating tile.  This will crash the game.&lt;br /&gt;
&lt;br /&gt;
All of these problems and more can be detected with the [[Abiathar]] Level Inspector tool or the inspection mode (press I) of the Tile Property Modifier. It also provides exact points in the level where errors and possible issues appear so that you do not have to launch the game repeatedly to fix bugs.&lt;br /&gt;
&lt;br /&gt;
= Music and Sounds= &lt;br /&gt;
Copy Keenwave.exe into your &amp;quot;keen4mod&amp;quot; folder.  Run Keenwave and it will generate an IDWAVE text file.  Create a folder called &amp;quot;sounds&amp;quot;.  Open IDwave.txt and add this line:&lt;br /&gt;
&lt;br /&gt;
 -episode=4 -export=raw -snddir=&amp;quot;sounds&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Run Keenwave by dragging and dropping it onto dosbox.&lt;br /&gt;
&lt;br /&gt;
Now look in your sounds folder.  Here you will see a number of sound files and a few music files (IMF files) at the bottom.  To change these, just replace the sounds with new file (they must be the same format, for music this is IMF).  Sound effects can be created and modified using WDC.  You can create IMF files by converting midi files with IMF Creator.&lt;br /&gt;
&lt;br /&gt;
After changing the sounds or songs, go back to IDWAVE.txt and change the command to:&lt;br /&gt;
&lt;br /&gt;
 -episode=4 -import=raw -snddir=&amp;quot;sounds&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Run Keenwave.&lt;br /&gt;
&lt;br /&gt;
Now open your patch file and include the lines that apply to the episode you&#039;re modding:&lt;br /&gt;
&lt;br /&gt;
 #Keenwave patch file; Patch sounds Keen 4:&lt;br /&gt;
 %patchfile $20DF0 AUDIOHED.CK4	#Audio header&lt;br /&gt;
 %patchfile $354F6 AUDIODCT.CK4	#Audio dictionary&lt;br /&gt;
&lt;br /&gt;
 #Keenwave patch file; Patch sounds Keen 5:&lt;br /&gt;
 %patchfile $21C80 AUDIOHED.CK5	#Audio header&lt;br /&gt;
 %patchfile $35EC4 AUDIODCT.CK5	#Audio dictionary&lt;br /&gt;
&lt;br /&gt;
 #Keenwave patch file; Patch sounds Keen 6:&lt;br /&gt;
 %patchfile $20C50 &amp;quot;AUDIOHED.CK6&amp;quot;           #Audio header&lt;br /&gt;
 %patchfile $36EEE &amp;quot;AUDIODCT.CK6&amp;quot;           #Audio dictionary &lt;br /&gt;
&lt;br /&gt;
== Creating and Editing Sound Effects ==&lt;br /&gt;
&lt;br /&gt;
Begin by installing WDC to your tools folder.  Once this is commplete, go to the new WDC folder and create three new folders inside: &amp;quot;Keen4input&amp;quot;, &amp;quot;Keen4output&amp;quot;, and &amp;quot;KeenSounds&amp;quot;.  You should then copy a clean version of Keen 4 into the &amp;quot;Keen4input folder&amp;quot;, specfically the files: Audio.ck4, Egagraph.ck4, Gamemaps.ck4, and Keen4e.exe.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Make sure this version of the keen4e.exe has NOT been unlzexed.&lt;br /&gt;
&lt;br /&gt;
Now run WDC.exe.  After is loads, go to &amp;quot;File&amp;quot; then &amp;quot;New Project&amp;quot;.  WDC will then ask you to name the project and save the project file; name it &amp;quot;keen4project&amp;quot; and save it to you WDC folder.&lt;br /&gt;
&lt;br /&gt;
WDC will then bring up a window with several options.  Under &amp;quot;Base Data Folder&amp;quot; select your folder &amp;quot;keen4input&amp;quot;.  You will then get a &amp;quot;no map code file&amp;quot; alert.  When this occurs, select &amp;quot;User Other&amp;quot; and then select &amp;quot;blank.wmc&amp;quot;.  Under &amp;quot;Output Folder&amp;quot; select your folder &amp;quot;keen4output&amp;quot;.  On the left side you will see a small menu, select &amp;quot;Other Options&amp;quot; and then check the box for &amp;quot;Use Tile16s for maps, if they exist&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You should now see the Keen 4 world map.  You&#039;ll be using only one part of WDC, however, so go to &amp;quot;View&amp;quot; and select either &amp;quot;PC Sounds&amp;quot; or &amp;quot;Adlib Sounds&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
WDC will then load the list of sounds for that category.  You can sample each sound by clicking it.  Playback controls are located in the upper right.  To edit a sound, click the small hammer icon in the lower right.  WDC will then ask you where you want to save the file.  Navigate to your &amp;quot;keensounds&amp;quot; folder.  Name the sound in such a way that you can remember what it is: &amp;quot;slugslime&amp;quot;, &amp;quot;jump&amp;quot;, &amp;quot;item&amp;quot; etc.&lt;br /&gt;
&lt;br /&gt;
WDC will then load it&#039;s sound editor.  There are various tabs for effecting how the sound is played, and the main area allows you to use your mouse and &#039;draw&#039; the sound.  Sound editing is a complex task and the only real advice I can offer is to just play around in the editor and save sounds that you find good or interesting.  &lt;br /&gt;
&lt;br /&gt;
After you&#039;ve saved some sounds, you&#039;ll want to swap these into your mod.  To do so you&#039;ll first need to locate the original sound file you want to replace in the &amp;quot;sounds&amp;quot; folder you created when setting up Keenwave.  You can do this by listening and finding the sound you want to replace in WDC and then locating the corresponding number in the sounds folder.  This is easy for PC speaker sounds, but since Keenwave doesn&#039;t seperate the PC speaker sounds from the adlib, you&#039;ll have to locate the last PC Speaker sound and then begin counting again from 1 in order to match the adlib sound list in WDC to that in your sounds folder.&lt;br /&gt;
&lt;br /&gt;
When you&#039;ve located the original sound you want to swap out, copy it&#039;s name to your new sound and then replace the file.  Then run Keenwave to import your new sound effect.&lt;br /&gt;
&lt;br /&gt;
== Working with the IMF Format ==&lt;br /&gt;
In IMFCreator, go to the &amp;quot;options&amp;quot; menu and set the tics/sec to 560.  This will make your songs convert at the correct tempo.&lt;br /&gt;
&lt;br /&gt;
The following, excluding the tip from thehackercat, is written by Mr. M for PCKF/KeenModding: &lt;br /&gt;
&lt;br /&gt;
Compose your music using your choice of software. As long as it outputs standard General MIDI files, you should be good to go.&lt;br /&gt;
&lt;br /&gt;
Please read and get an understanding of the [http://www.shikadi.net/moddingwiki/IMF_Format IMF specs]. &lt;br /&gt;
&lt;br /&gt;
Tip From Thehackercat:&lt;br /&gt;
For those of you using a sheet-music editor such as Finale: You may write two or more parts for one instrument. Keep inside the required 4-note polyphony, but don&#039;t be shy about using layered parts and chords, especially on piano staves.&lt;br /&gt;
&lt;br /&gt;
Tips From Mr. M:&lt;br /&gt;
&lt;br /&gt;
(1) IMFCreator seems to interpret MIDI note velocities. If your instrument track is too quiet *and* it is set to maximum volume, try manually adjusting the note velocites to be higher. I know that FLStudio is capable of doing this; I&#039;m sure other studio software packages are capable of this, too. If the volume of the track is too loud after making your note velocities higher, turn down the volume of that track.&lt;br /&gt;
&lt;br /&gt;
(2)  Keep percussion parts as simple as possible. It impedes the maximum polyphony limits that can be utilized by other parts. Simply put, you can write more complex parts that use this structure:&lt;br /&gt;
&lt;br /&gt;
 [SIMPLE/NO PERCUSSION]+[BASS LINE]+[CHORDS]+[CHORDS?]+[LEAD]&lt;br /&gt;
&lt;br /&gt;
The number of dropped notes, if any, in IMFCreater is almost unnoticeable if you adhere to this formula. I&#039;ve been able to push the IMF format to it&#039;s limits by doing this.&lt;br /&gt;
&lt;br /&gt;
As Thehackercat stated, don&#039;t be shy about using chords and complex structures -- especially if your percussion line is nonexistent or very simple.&lt;br /&gt;
&lt;br /&gt;
(3)  Try not to use too many midi tracks, *especially* if they are all simultaneous. Too many midi tracks results in dropped notes (ie- parts drop out randomly *and* inconsistently), and songs that exceed the filesize limits. I personally only need 4-8 tracks, counting percussion, to acheive the sound that I get in my work.&lt;br /&gt;
&lt;br /&gt;
(4)  On the subject of percussion: To circumvent the polyphony limit that gets imposed when you use percussion parts, try using normal instruments played outside their normal range. Then in IMFCreator, tweak the patches you used by adjusting all the possible paramaters until you acheive the desired percussive sound. It may not work all the time, but it should do the trick in most cases. (Credit for this tip goes to [[Bobby Prince]])&lt;br /&gt;
&lt;br /&gt;
(5)  On the topic of modding instrument patches: Don&#039;t be afraid to tweak patches! It&#039;s under the &#039;EDIT&#039; -&amp;gt; &#039;Instrument&#039; (or press CTRL+I) menu. You can edit how all the instruments sound. All of them {including percussion). Distortion guitar not distorted enough? No problem. Pad not airy enough for you? Bass drum not punchy enough, or the hi-hat not sharp enough for you? No problems there. See the help menus for the specifics of how the patch parameters are edited.&lt;br /&gt;
&lt;br /&gt;
When I do this, I make a patch set for each specific song. When you close the instrument editor, you are prompted to save changes. Do so, and save the .OP2 file that is generated as something *other* than GENMIDI.OP2 (I like to save it by song title for easy reference). Keep the original GENMIDI.OP2 file as a base set. &lt;br /&gt;
&lt;br /&gt;
After you&#039;ve tweaked the patches to your liking and saved your new .OP2 file, stop any playback of the song you&#039;re previewing. Under &#039;OPTIONS&#039; and &#039;OP2 File:&#039; you can choose the OP2 file that has the modded patches you created. Press play and listen to your new instruments!&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note&#039;&#039;&#039;: After editing an .OP2 file/patch set, you MUST stop and re-start playback of your song for the changes to take effect&lt;br /&gt;
&lt;br /&gt;
(6)  Be careful with pitchbends in your music. IMFCreator tends to overexaggerate them if the pitchbend scale and thresholds arent set properly. There&#039;s no ONE configuration for them; best bet is to tinker with them until you get a desireable sound. Remember: Lower numbers mean higher pitchbend scale! &lt;br /&gt;
&lt;br /&gt;
As with editing the patch set, you MUST stop and re-start playback of your song for the changes to take effect.&lt;br /&gt;
&lt;br /&gt;
= Loading Window =&lt;br /&gt;
Go to your graphics folder and look for the file 4msc0000.bin.  Copy this to your keenscr folder.&lt;br /&gt;
&lt;br /&gt;
Go to commander prompt and navigate to your keenscr folder and then type: &lt;br /&gt;
 &lt;br /&gt;
 keenscr load&lt;br /&gt;
&lt;br /&gt;
TheDraw will immediately start editing the screen, with the filename keenscr.bin. &lt;br /&gt;
&lt;br /&gt;
Alt+H will display the help screen with all the commands that TheDraw supports; however, its basic use is extremely simple. Use the arrow keys or mouse to select where you want to enter text, then type it in. By default, it uses bright white color over black color; you can copy a color straight from the screen by placing the cursor over any character and pressing Alt+U, and it will use that color as you type. &lt;br /&gt;
&lt;br /&gt;
You can use Alt+M to enter drawing mode, where you can use the cursor keys or the mouse to draw on the screen; you should enable Draw mode with the cursor in the place where you want to start drawing, as it will start immediately. Alt+F1 to Alt+F4 will give you different line styles for Draw mode. &lt;br /&gt;
&lt;br /&gt;
Once you are done editing the screen, you can save it by pressing Alt+S. TheDraw will ask which format to save it in; press B to select Binary, and enter the filename keenscr.bin. It&#039;s important that you keep this filename (overwriting the existing one).  After you exit TheDraw and KeenScr notifies you that the file has been updated.  &lt;br /&gt;
&lt;br /&gt;
Then you must copy 4msc0000.bin back into your graphics folder.  Import using modkeen.  You must also copy ck4load into your &amp;quot;mymod&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
Edit your patch file to include the patch for the respective episode:&lt;br /&gt;
&lt;br /&gt;
 %patchfile $1fe47 ck4load.bin &lt;br /&gt;
 %patchfile $20cd7 ck5load.bin &lt;br /&gt;
 %patchfile $1fca7 ck6load.bin &lt;br /&gt;
&lt;br /&gt;
You can also edit the exit screen by going to the command prompt and typing: keenscr 4&lt;br /&gt;
&lt;br /&gt;
When you&#039;re done,  save it as keenscr.bin overwriting the generated file. You must save it in Binary format when TheDraw asks.&lt;br /&gt;
&lt;br /&gt;
Then you must copy 4msc0000.bin back into your graphics folder.  Import using modkeen.  &lt;br /&gt;
&lt;br /&gt;
= Scrolling Text =&lt;br /&gt;
Run Startext.  The controls are listed.  Select your episode of choice and then select edit scrolling story.  Type your story as you want it, making sure not to go over the space limit or under it (the original story will appear at the bottom of your story if you do).  Press enter.&lt;br /&gt;
&lt;br /&gt;
Copy story.ck4 into your &amp;quot;mymods&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
Edit your patch file to include one of the following:&lt;br /&gt;
&lt;br /&gt;
 %patchfile $1EE40 &amp;quot;STORY.CK4&amp;quot;&lt;br /&gt;
 %patchfile $1FDE0 &amp;quot;STORY.CK5&amp;quot;&lt;br /&gt;
 %patchfile $1ED50 &amp;quot;STORY.CK6&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= Credits For This Tutorial =&lt;br /&gt;
* Written and Assembled by [[User:Ceilick|Ceilick]]&lt;br /&gt;
* Selections of [[User:Levellass|Levellass&#039;]] [[TED5|TED5 Tutorial]]&lt;br /&gt;
* Selections of [[Andrew Durdin|Andrew Durdin&#039;s]] [http://www.dosclassics.com/ckn/newsletter/issues/2002-03-01.txt|TED5 Tutorial]&lt;br /&gt;
* Selections of [[User:CK Guy|CK Guy&#039;s]] ck456tli readme&lt;br /&gt;
* Selections of [[User:Mink|Mink&#039;s]] The Omegamatic readme&lt;br /&gt;
* Selections of [[User:Leandrotlz|Leandrotlz&#039;s]] [[TheDraw|The Draw/Keenscr tutorial]]&lt;br /&gt;
* [[User:Shadow Master|Shadowmaster&#039;s]] [http://www.keenmodding.org/viewtopic.php?t=899 findings] for getting ted5 to work with modkeen 2.0&lt;br /&gt;
* [[User:Mr.M|_mr_m_&#039;s]] IMF guide&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&amp;quot;&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Patch:Data_segment&amp;diff=26786</id>
		<title>Patch:Data segment</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Patch:Data_segment&amp;diff=26786"/>
		<updated>2014-11-10T13:46:09Z</updated>

		<summary type="html">&lt;p&gt;MoffD: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;data segment&#039; is an [[Patch:Executable segments|executable segment]] that contains all of the data used by the rest of the game&#039;s code. It is the last and largest segment in the executable and stores all of the text and variables the game uses. The start of the data segment in various games is as follows:&lt;br /&gt;
&lt;br /&gt;
 Keen 1: $13050&lt;br /&gt;
 Keen 2: $17780&lt;br /&gt;
 Keen 3: $19820&lt;br /&gt;
 Keen 4: $2EE70&lt;br /&gt;
 Keen 5: $30340&lt;br /&gt;
 Keen 6: $30D30&lt;br /&gt;
 Keen D: $23A70&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Data in the data segment is referenced by its location (or offset) from the start of the segment, as an example: Text located at $14051 in the [[Keen 1]] data segment would have a reference (or &#039;pointer&#039; to it) of $1001W ($14051 - $13050 = $1001). This includes [[Patch:Game stats|game variables]] such as the number of lives Keen has, which are two-byte variables in the segment.&lt;br /&gt;
&lt;br /&gt;
{{PatchCategories|Keen 1|}}&lt;br /&gt;
{{PatchCategories|Keen 2|}}&lt;br /&gt;
{{PatchCategories|Keen 3|}}&lt;br /&gt;
{{PatchCategories|Keen 4|}}&lt;br /&gt;
{{PatchCategories|Keen 5|}}&lt;br /&gt;
{{PatchCategories|Keen 6|}}&lt;br /&gt;
{{PatchCategories|Keen Dreams|}}&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Talk:Babobba&amp;diff=26681</id>
		<title>Talk:Babobba</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Talk:Babobba&amp;diff=26681"/>
		<updated>2014-09-17T16:06:53Z</updated>

		<summary type="html">&lt;p&gt;MoffD: Reply&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Babobbas are taking a nap? ==&lt;br /&gt;
&lt;br /&gt;
I always thought they need to dry their eyes after shooting fire sparks out of them. It looks like they&#039;re crying on the &amp;quot;nap&amp;quot; sprite to me ;o - [[User:DebugErr|DebugErr]] ([[User talk:DebugErr|talk]]) 19:36, 14 September 2014 (GMT)&lt;br /&gt;
:It&#039;s generally been thought they&#039;re napping, they&#039;re young and need their sleep after all. They also don&#039;t move for a long period of time, eye drying generally involves dabbing at your eyes. The adults notably don&#039;t do this at all though you&#039;d expect they&#039;d equally need eye drying.-[[User:Levellass|Levellass]] ([[User talk:Levellass|talk]]) 01:32, 15 September 2014 (GMT)&lt;br /&gt;
::I think they also stick their thumbs into their mouths, which would also imply napping - [[User:MoffD|MoffD]] ([[User talk:MoffD|talk]]) 16:06, 17 September 2014 (GMT)&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Das_Viva&amp;diff=26657</id>
		<title>Das Viva</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Das_Viva&amp;diff=26657"/>
		<updated>2014-09-05T11:55:41Z</updated>

		<summary type="html">&lt;p&gt;MoffD: Das Viva is for Windows, right?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Fangame Infobox&lt;br /&gt;
| Status = Completed&lt;br /&gt;
| Genre = Platform&lt;br /&gt;
| Authors = [[User:Commander Spleen|Commander Spleen]]&lt;br /&gt;
| OS = Windows&lt;br /&gt;
| ReleaseDate = 2004&lt;br /&gt;
| Download = [http://www.shikadi.net/wiki/files/Fangames/DasViva.zip from KeenWiki]&amp;lt;br/&amp;gt;[http://www.dll-files.com/dllindex/dll-files.shtml?cncs32 cncs32.dll]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Das Viva&#039;&#039;&#039; is a Minigame released by [[User:Commander Spleen|Commander Spleen]] in 2004. You play as the flying [[Viva]] from [[Keen 6]]. You move it using the arrow keys, and fly pushing the ctrl-key repeatedly. The goal is to rescue all of the non flying Vivas. To do so you have to get a [[Raindrop]]. Beware of Viva-Eating-Plants hanging from the ceiling. There are switches to open doors. Push &amp;quot;up&amp;quot; to use such a switch when flying in front of it.&lt;br /&gt;
The game features 2 levels that can be done in a few minutes. &lt;br /&gt;
&lt;br /&gt;
The game is compiled neatly with no major bugs. To run, however, you need the file cncs32.dll placed in the game directory. This file is not included in the .zip provided, but can be downloaded from the internet.&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Keen_4_Bugs&amp;diff=26656</id>
		<title>Keen 4 Bugs</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Keen_4_Bugs&amp;diff=26656"/>
		<updated>2014-09-04T14:14:15Z</updated>

		<summary type="html">&lt;p&gt;MoffD: changing the wording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the bugs, odd behaviors and unexpected actions that have been discovered in [[Keen 4]].&lt;br /&gt;
&lt;br /&gt;
== Disappearing gems ==&lt;br /&gt;
&lt;br /&gt;
In version 1.0 of the game the gems that you are carrying are not included in the save file, thus when a save file is loaded any gems Keen had are lost, possibly causing an unwinnable situation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Well of Wishes bug in God mode ==&lt;br /&gt;
&lt;br /&gt;
Often, when two [[Dopefish]] overlap and [[God mode]] is activated (this is accomplished by entering the [[Well of Wishes]] in Hard difficulty level), the game starts to get out of free memory, and all animated sprites (i.e. bubbles) get stuck in the game screen instead of disappearing after a certain amount of time. This eventually crashes the game in low-memory environments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Bad grammar entering the Pyramid of Shadows ==&lt;br /&gt;
[[Image:keen4-bug-badgrammar.png|thumb|320px|Bad grammar entering the [[Pyramid of Shadows]]]]&lt;br /&gt;
&lt;br /&gt;
When entering the [[Pyramid of Shadows]], the entrance text reads &amp;quot;Keen move silently in the Pyramid of Shadows&amp;quot; instead of &amp;quot;Keen &#039;&#039;&#039;moves&#039;&#039;&#039; silently in the Pyramid of Shadows&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Not so Invisible ==&lt;br /&gt;
[[Image:Platin.PNG|thumb|320px|[[Keen]] hangs onto thin air.]]&lt;br /&gt;
&lt;br /&gt;
Only certain Keen sprites respond to gravity; if Keen is looking up or down, or hanging from a ledge, he is immune to falling. Thus, if Keen does any of these on a [[Miragia]] platform, he can stand on it, even when it disappears. If he is looking up/down, if he then stops when the platform is solid, he can stand on the vanished platform for as long as it takes his &amp;quot;bored&amp;quot; animations to start. So if the blocks start disappearing, quickly grab the ledge of one of them and climb onto it again when it reappears.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Hole in his Head ==&lt;br /&gt;
When Keen is at the top of any pole and facing left, shooting left will display the sprite used for shooting left on a pole, this however is missing a piece of head that is normally covered by the pole, but not at the pole top.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== [[Blue Bird]] of unhappiness ==&lt;br /&gt;
[[Image:BIRDSTUCK.PNG|thumb|320px|A [[Blue Bird]] is stuck.]]&lt;br /&gt;
&lt;br /&gt;
If you can lure a flying [[Blue Bird]] to the right edge of a one tile thick platform (and sometimes walls or thicker platforms), it will get clipped into the platform and not be able to chase after Keen. ([[God mode]] helps at least for practice.)  It can be freed only by stunning it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== What Lies Beyond ==&lt;br /&gt;
[[Image:Edgeerror.PNG|thumb|320px|[[Keen]] peeks past the level edge.]]&lt;br /&gt;
&lt;br /&gt;
Keen can peek at and past the lower level border under certain circumstances, viz that if the game is saved while he is standing on a moving platform near the level bottom, the screen will be recentered after saving (and whenever the game is loaded), so that he can look down and see not only the level border, but also a bunch of scrambled, random graphics tiles &amp;quot;outside&amp;quot; the level, probably caused by reading memory out of the tile array, resulting in random garbage left by other programs or procedures of the game itself.&lt;br /&gt;
&lt;br /&gt;
The only place this can really be seen is beneath [[Crystalus]], but it works in any other level if platforms are placed right.&lt;br /&gt;
&lt;br /&gt;
In a similar vein, Keen can see what is offscreen by saving his game. This can be done in places like the Pyramid of the Gnosticene Ancients by using God mode and dropping into certain tar pits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Well of Wishes clipping error ==&lt;br /&gt;
[[Image:keen4-bug-wow_clipping.png|thumb|320px|[[Well of Wishes]] clipping error]]&lt;br /&gt;
In the [[Well of Wishes]], if Keen is allowed to settle on the ground below the arch/doorway into the [[Council Member]], the clipping misbehaves and Keen sinks into the floor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Cave of the Descendents unexpected end ==&lt;br /&gt;
In the [[Cave of the Descendents]], go to the lower leftmost part of the map, where are two elevators. Go down to the second one where has a door that teleport you to another on the top of the map. Enter the door then release the &#039;&#039;&#039;up key&#039;&#039;&#039; and immediately press it again and keep it pressed. It will make Keen enter to door in the top and consequently exit the level. See [http://www.megaupload.com/pt/?d=GPY7JLDN the video] on how this bug happens.&lt;br /&gt;
&lt;br /&gt;
This works because when Keen exits any door, he initially does so standing. In this case Keen can enter the doors before falling. Since the doors have no information plane entry, the game takes this as transporting Keen to (0,0) in the level, which is offscreen and thus lets him exit. If the doors are given a proper value, this can be fixed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Chasm of Chills door trick ==&lt;br /&gt;
[[Image:Chasm_of_chills_bug.PNG||thumb|320px|[[Keen]] performing the [[Chasm of Chills]] door trick]]&lt;br /&gt;
This bug works in a same way the &#039;&#039;&#039;Cave of the Descendents unexpected end&#039;&#039;&#039; -bug does. In the very beginning of the map, fall down from the edge and head right. You&#039;ll find three small chasms. Drop in the middle one, and jump trough the wall at the right. Keen will fall right in the front of a door. Press the &#039;&#039;&#039;up key&#039;&#039;&#039; to enter the door, then release the key and immediately press it again. Keep it pressed. Keen will then enter a door mid-air, in another room, and complete the level.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Teleporting Keen ==&lt;br /&gt;
&lt;br /&gt;
In [[Lifewater Oasis]], when using the F10+J Jump Cheat, if you make Keen hit the ceiling in different places and at different angles, Keen will disappear and randomly reappear somewhere else within the level. In fact, there are at least two places (possibly more) in the ceiling that, if you make Keen jump in these places at the right angles, he will actually reappear in the water where the five [[Lifewater Flask]]s are. The interesting thing is that one of these places is right above the highest structure where the big door and the [[Thundercloud]] is. If the game designers had created Keen to jump higher or designed the structure to be closer to the ceiling, then it would be possible to take advantage of this bug and get to the Lifewater Flasks without cheating. Unfortunately, once you are there, it is impossible to get back out without cheating. This bug only works when you are at the outside of the level. It does not work in the lower cavern.&lt;br /&gt;
&lt;br /&gt;
== Outside the Pyramid of the Forbidden ==&lt;br /&gt;
&lt;br /&gt;
It is possible to go outside the [[Pyramid of the Forbidden]] without using the F10+N clipping cheat. At the beginning of the level, as you are going towards the top of the pyramid where the first [[Lifewater Flask]] is, there is a green [[Keen 4 Hazards|Dart gun]] above the flask and there is a small gap in the wall just above the gun. Using F10+G God mode, you can grab onto the ledge where the gap is and it will push you off the screen and out of the pyramid. Then, you save your game and then reload the game you just saved. It will show Keen standing outside the pyramid.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Spinning&amp;quot; Creatures ==&lt;br /&gt;
&lt;br /&gt;
If a creature that normally stays on the ground all the time is somehow forced into the &amp;quot;air&amp;quot;, it will appear to spin around like a propellor, without falling down. This is probably because such creatures are programmed to turn and face the opposite direction when they come to a cliff edge, i.e. the next tile is empty air, but when they turn and find that there is &amp;quot;air&amp;quot; on the other side of them, they reverse direction again.&lt;br /&gt;
&lt;br /&gt;
This can be done with [[Inchworm]]s (in the [[Pyramid of the Moons]]) and [[Poison Slug]]s (in [[Sand Yego]]). In both cases, Keen has to lure the creatures out onto a bridge, and then flip the switch that makes the bridge disappear. When this happens, the normally land-bound creature will find itself in the air, and commence spinning. If a Poison Slug is shot, it will then fall out of the air as per normal. May also work with [[Arachnut]]s.&lt;br /&gt;
&lt;br /&gt;
This bug is also observed in action in [[Keen 5]], with [[Robo Red]] being [[Keen_5_Bugs#Lure_Robo_Red_off_a_ledge|lured off a ledge]] and [[Keen 6]].&lt;br /&gt;
&lt;br /&gt;
== Imaginary pole in The Perilous Pit ==&lt;br /&gt;
[[Image:Imaginary_Pole_In_The_Perilous_Pit.jpg||thumb|320px|[[Keen]] climbs the imaginary pole in [[The Perilous Pit]]]]&lt;br /&gt;
&lt;br /&gt;
In the same room as the [[Council Member]]s in [[The Perilous Pit]], there is a tile at the right side of the [[gem]]-holder which is set to act like a pole even though the tile is empty. Ordering [[Keen]] to look down while bypassing the tile will cause him to lag, changing him into his pole-climbing form back and forth into his ordinary running/standing form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Break the scorebox ==&lt;br /&gt;
&lt;br /&gt;
In several levels it is possible for Keen to emerge from a  door and touch an elder. Since the sprite for Keen appears before the screen moves to the new location, the elder message appears over the door Keen entered.&lt;br /&gt;
&lt;br /&gt;
Due to how Keen moves between doors (As an invisible sprite) the function refreshing the scorebox is not called, meaning that it is blank until Keen does something to change this (Dying, exiting the level, getting something...) This takes a lot of chance to do correctly and can be seen in [http://www.youtube.com/watch?v=zlEdFZGHqwU&amp;amp;feature=related this video]  at 5:25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Berkeloids flame through walls ==&lt;br /&gt;
[[Image:Berkeloid_bug.png|thumb|320px|A [[Berkeloid]] flames into a wall on the Island Of Fire.]]&lt;br /&gt;
&lt;br /&gt;
When on the [[Isle of Fire]] there are situation where [[Berkeloid]]s can fire their flames into a wall. These will then end up on the other side of the wall where they can kill Keen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Miragia platform clipping ==&lt;br /&gt;
&lt;br /&gt;
There is another glitch relating to the platforms in [[Miragia]]. If you jump or fall through a platform block precisely when it is turning solid, it is possible to grab onto the inside edge of the outer blocks. This causes Keen to hang through the center of the platform.&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen 4]]&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Keen_4_Bugs&amp;diff=26655</id>
		<title>Keen 4 Bugs</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Keen_4_Bugs&amp;diff=26655"/>
		<updated>2014-09-04T12:13:23Z</updated>

		<summary type="html">&lt;p&gt;MoffD: Added new glitch, will add pic later.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the bugs, odd behaviors and unexpected actions that have been discovered in [[Keen 4]].&lt;br /&gt;
&lt;br /&gt;
== Disappearing gems ==&lt;br /&gt;
&lt;br /&gt;
In version 1.0 of the game the gems that you are carrying are not included in the save file, thus when a save file is loaded any gems Keen had are lost, possibly causing an unwinnable situation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Well of Wishes bug in God mode ==&lt;br /&gt;
&lt;br /&gt;
Often, when two [[Dopefish]] overlap and [[God mode]] is activated (this is accomplished by entering the [[Well of Wishes]] in Hard difficulty level), the game starts to get out of free memory, and all animated sprites (i.e. bubbles) get stuck in the game screen instead of disappearing after a certain amount of time. This eventually crashes the game in low-memory environments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Bad grammar entering the Pyramid of Shadows ==&lt;br /&gt;
[[Image:keen4-bug-badgrammar.png|thumb|320px|Bad grammar entering the [[Pyramid of Shadows]]]]&lt;br /&gt;
&lt;br /&gt;
When entering the [[Pyramid of Shadows]], the entrance text reads &amp;quot;Keen move silently in the Pyramid of Shadows&amp;quot; instead of &amp;quot;Keen &#039;&#039;&#039;moves&#039;&#039;&#039; silently in the Pyramid of Shadows&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Not so Invisible ==&lt;br /&gt;
[[Image:Platin.PNG|thumb|320px|[[Keen]] hangs onto thin air.]]&lt;br /&gt;
&lt;br /&gt;
Only certain Keen sprites respond to gravity; if Keen is looking up or down, or hanging from a ledge, he is immune to falling. Thus, if Keen does any of these on a [[Miragia]] platform, he can stand on it, even when it disappears. If he is looking up/down, if he then stops when the platform is solid, he can stand on the vanished platform for as long as it takes his &amp;quot;bored&amp;quot; animations to start. So if the blocks start disappearing, quickly grab the ledge of one of them and climb onto it again when it reappears.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Hole in his Head ==&lt;br /&gt;
When Keen is at the top of any pole and facing left, shooting left will display the sprite used for shooting left on a pole, this however is missing a piece of head that is normally covered by the pole, but not at the pole top.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== [[Blue Bird]] of unhappiness ==&lt;br /&gt;
[[Image:BIRDSTUCK.PNG|thumb|320px|A [[Blue Bird]] is stuck.]]&lt;br /&gt;
&lt;br /&gt;
If you can lure a flying [[Blue Bird]] to the right edge of a one tile thick platform (and sometimes walls or thicker platforms), it will get clipped into the platform and not be able to chase after Keen. ([[God mode]] helps at least for practice.)  It can be freed only by stunning it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== What Lies Beyond ==&lt;br /&gt;
[[Image:Edgeerror.PNG|thumb|320px|[[Keen]] peeks past the level edge.]]&lt;br /&gt;
&lt;br /&gt;
Keen can peek at and past the lower level border under certain circumstances, viz that if the game is saved while he is standing on a moving platform near the level bottom, the screen will be recentered after saving (and whenever the game is loaded), so that he can look down and see not only the level border, but also a bunch of scrambled, random graphics tiles &amp;quot;outside&amp;quot; the level, probably caused by reading memory out of the tile array, resulting in random garbage left by other programs or procedures of the game itself.&lt;br /&gt;
&lt;br /&gt;
The only place this can really be seen is beneath [[Crystalus]], but it works in any other level if platforms are placed right.&lt;br /&gt;
&lt;br /&gt;
In a similar vein, Keen can see what is offscreen by saving his game. This can be done in places like the Pyramid of the Gnosticene Ancients by using God mode and dropping into certain tar pits.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Well of Wishes clipping error ==&lt;br /&gt;
[[Image:keen4-bug-wow_clipping.png|thumb|320px|[[Well of Wishes]] clipping error]]&lt;br /&gt;
In the [[Well of Wishes]], if Keen is allowed to settle on the ground below the arch/doorway into the [[Council Member]], the clipping misbehaves and Keen sinks into the floor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Cave of the Descendents unexpected end ==&lt;br /&gt;
In the [[Cave of the Descendents]], go to the lower leftmost part of the map, where are two elevators. Go down to the second one where has a door that teleport you to another on the top of the map. Enter the door then release the &#039;&#039;&#039;up key&#039;&#039;&#039; and immediately press it again and keep it pressed. It will make Keen enter to door in the top and consequently exit the level. See [http://www.megaupload.com/pt/?d=GPY7JLDN the video] on how this bug happens.&lt;br /&gt;
&lt;br /&gt;
This works because when Keen exits any door, he initially does so standing. In this case Keen can enter the doors before falling. Since the doors have no information plane entry, the game takes this as transporting Keen to (0,0) in the level, which is offscreen and thus lets him exit. If the doors are given a proper value, this can be fixed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Chasm of Chills door trick ==&lt;br /&gt;
[[Image:Chasm_of_chills_bug.PNG||thumb|320px|[[Keen]] performing the [[Chasm of Chills]] door trick]]&lt;br /&gt;
This bug works in a same way the &#039;&#039;&#039;Cave of the Descendents unexpected end&#039;&#039;&#039; -bug does. In the very beginning of the map, fall down from the edge and head right. You&#039;ll find three small chasms. Drop in the middle one, and jump trough the wall at the right. Keen will fall right in the front of a door. Press the &#039;&#039;&#039;up key&#039;&#039;&#039; to enter the door, then release the key and immediately press it again. Keep it pressed. Keen will then enter a door mid-air, in another room, and complete the level.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Teleporting Keen ==&lt;br /&gt;
&lt;br /&gt;
In [[Lifewater Oasis]], when using the F10+J Jump Cheat, if you make Keen hit the ceiling in different places and at different angles, Keen will disappear and randomly reappear somewhere else within the level. In fact, there are at least two places (possibly more) in the ceiling that, if you make Keen jump in these places at the right angles, he will actually reappear in the water where the five [[Lifewater Flask]]s are. The interesting thing is that one of these places is right above the highest structure where the big door and the [[Thundercloud]] is. If the game designers had created Keen to jump higher or designed the structure to be closer to the ceiling, then it would be possible to take advantage of this bug and get to the Lifewater Flasks without cheating. Unfortunately, once you are there, it is impossible to get back out without cheating. This bug only works when you are at the outside of the level. It does not work in the lower cavern.&lt;br /&gt;
&lt;br /&gt;
== Outside the Pyramid of the Forbidden ==&lt;br /&gt;
&lt;br /&gt;
It is possible to go outside the [[Pyramid of the Forbidden]] without using the F10+N clipping cheat. At the beginning of the level, as you are going towards the top of the pyramid where the first [[Lifewater Flask]] is, there is a green [[Keen 4 Hazards|Dart gun]] above the flask and there is a small gap in the wall just above the gun. Using F10+G God mode, you can grab onto the ledge where the gap is and it will push you off the screen and out of the pyramid. Then, you save your game and then reload the game you just saved. It will show Keen standing outside the pyramid.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Spinning&amp;quot; Creatures ==&lt;br /&gt;
&lt;br /&gt;
If a creature that normally stays on the ground all the time is somehow forced into the &amp;quot;air&amp;quot;, it will appear to spin around like a propellor, without falling down. This is probably because such creatures are programmed to turn and face the opposite direction when they come to a cliff edge, i.e. the next tile is empty air, but when they turn and find that there is &amp;quot;air&amp;quot; on the other side of them, they reverse direction again.&lt;br /&gt;
&lt;br /&gt;
This can be done with [[Inchworm]]s (in the [[Pyramid of the Moons]]) and [[Poison Slug]]s (in [[Sand Yego]]). In both cases, Keen has to lure the creatures out onto a bridge, and then flip the switch that makes the bridge disappear. When this happens, the normally land-bound creature will find itself in the air, and commence spinning. If a Poison Slug is shot, it will then fall out of the air as per normal. May also work with [[Arachnut]]s.&lt;br /&gt;
&lt;br /&gt;
This bug is also observed in action in [[Keen 5]], with [[Robo Red]] being [[Keen_5_Bugs#Lure_Robo_Red_off_a_ledge|lured off a ledge]] and [[Keen 6]].&lt;br /&gt;
&lt;br /&gt;
== Imaginary pole in The Perilous Pit ==&lt;br /&gt;
[[Image:Imaginary_Pole_In_The_Perilous_Pit.jpg||thumb|320px|[[Keen]] climbs the imaginary pole in [[The Perilous Pit]]]]&lt;br /&gt;
&lt;br /&gt;
In the same room as the [[Council Member]]s in [[The Perilous Pit]], there is a tile at the right side of the [[gem]]-holder which is set to act like a pole even though the tile is empty. Ordering [[Keen]] to look down while bypassing the tile will cause him to lag, changing him into his pole-climbing form back and forth into his ordinary running/standing form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Break the scorebox ==&lt;br /&gt;
&lt;br /&gt;
In several levels it is possible for Keen to emerge from a  door and touch an elder. Since the sprite for Keen appears before the screen moves to the new location, the elder message appears over the door Keen entered.&lt;br /&gt;
&lt;br /&gt;
Due to how Keen moves between doors (As an invisible sprite) the function refreshing the scorebox is not called, meaning that it is blank until Keen does something to change this (Dying, exiting the level, getting something...) This takes a lot of chance to do correctly and can be seen in [http://www.youtube.com/watch?v=zlEdFZGHqwU&amp;amp;feature=related this video]  at 5:25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Berkeloids flame through walls ==&lt;br /&gt;
[[Image:Berkeloid_bug.png|thumb|320px|A [[Berkeloid]] flames into a wall on the Island Of Fire.]]&lt;br /&gt;
&lt;br /&gt;
When on the [[Isle of Fire]] there are situation where [[Berkeloid]]s can fire their flames into a wall. These will then end up on the other side of the wall where they can kill Keen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
== Miragia platform clipping ==&lt;br /&gt;
&lt;br /&gt;
There is another glitch relating to the platforms in [[Miragia]]. If you time a jump or fall to go through a block precisely when it is going solid, it is possible to grab onto the edge of a block while being inside of it.&lt;br /&gt;
&lt;br /&gt;
[[Category:Keen 4]]&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Talk:Chocolate_Keen&amp;diff=26652</id>
		<title>Talk:Chocolate Keen</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Talk:Chocolate_Keen&amp;diff=26652"/>
		<updated>2014-09-03T16:36:37Z</updated>

		<summary type="html">&lt;p&gt;MoffD: Formatting question&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Should both OS download links be added instead of just windows? Or perhaps a link to the downloads page would work better... -[[User:MoffD|MoffD]] ([[User talk:MoffD|talk]]) 16:36, 3 September 2014 (GMT)&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=User:MoffD&amp;diff=26639</id>
		<title>User:MoffD</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=User:MoffD&amp;diff=26639"/>
		<updated>2014-08-25T16:00:15Z</updated>

		<summary type="html">&lt;p&gt;MoffD: Just tweaking this a little&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Just a random guy who wants to help keep Keen and shareware going any way he can. &lt;br /&gt;
I will try to submit any bugs or glitches in the original Keen trilogies or fan games I find, I will also do some beta testing if you want me to.&lt;br /&gt;
&lt;br /&gt;
I am working on my first mod but it won&#039;t be finished in any timely fashion.&lt;br /&gt;
&lt;br /&gt;
I am also on the Public Commander Keen Forum&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=List_of_fangames&amp;diff=26638</id>
		<title>List of fangames</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=List_of_fangames&amp;diff=26638"/>
		<updated>2014-08-25T15:55:21Z</updated>

		<summary type="html">&lt;p&gt;MoffD: minor formatting typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is meant to be a constantly-updated list of &#039;&#039;&#039;Keen-related fan games&#039;&#039;&#039; that were:&lt;br /&gt;
*Actually &#039;&#039;released&#039;&#039; in some form (either full or demo)&lt;br /&gt;
*&#039;&#039;Not&#039;&#039; made by modifying the original games (some of the best fan games are actually &amp;quot;mods&amp;quot;. To see a list of them, go [[Vorticon Mods|here]] and [[Galaxy Mods|here]]).&lt;br /&gt;
&lt;br /&gt;
Information compiled from [http://cc314.shikadi.net CC314], [http://www.dosclassics.com/keen/dl.php Beyond the Pogo], [http://www.bipship.com/fangames Bipship] and the forums.&lt;br /&gt;
&lt;br /&gt;
Many of these games require [http://www.shikadi.net/wiki/files/Fangames/cncs232.zip cncs232.dll] to play.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Legend:&#039;&#039;&#039;&lt;br /&gt;
*CNC = Click &#039;N&#039; Create&lt;br /&gt;
*[[Wikipedia:DPMI|DPMI]] = DOS Protected Mode Interface&lt;br /&gt;
*KNP = Klik &amp;amp; Play&lt;br /&gt;
*MMF = Multimedia Fusion&lt;br /&gt;
*TGF = The Games Factory&lt;br /&gt;
&lt;br /&gt;
*Dates format: year-month-day (the release date can be determined by looking at the dates of the game files)&lt;br /&gt;
&lt;br /&gt;
*Real name of creator listed first, if available, then (nickname in brackets)&lt;br /&gt;
&lt;br /&gt;
Please click on the triangles to sort by different categories...&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;font-size: 90%; border:1px solid gray; border-collapse: collapse; text-align: center; width: 100%;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ececec&amp;quot;&lt;br /&gt;
! Title&lt;br /&gt;
! Download(s)&lt;br /&gt;
! Release Date&lt;br /&gt;
! Creator(s)&lt;br /&gt;
! Created with&lt;br /&gt;
! OS&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Adventures of Commander Keen]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/AOCK.zip Demo]&lt;br /&gt;
|?&lt;br /&gt;
|Rave O Mania&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Aliens Ate My Little Sister!]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/AAMLSv11.zip full (v1.1)]&amp;lt;br/&amp;gt;[http://www.shikadi.net/wiki/files/Fangames/AAMLS.zip full (v1.0)]&lt;br /&gt;
|2010-08-05&lt;br /&gt;
|[[User:K1n9_Duk3|K1n9_Duk3]]&lt;br /&gt;
|[[KEENGINE]]&lt;br /&gt;
|Windows&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1368 Topic at Public Commander Keen Forum]&lt;br /&gt;
|-&lt;br /&gt;
|[[Alpha Manhattan]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/AlphaMan.zip Demo]&amp;lt;br/&amp;gt;[http://www.shikadi.net/wiki/files/Fangames/AlphaManOld.zip Demo (old)]&lt;br /&gt;
|2007-07-02&lt;br /&gt;
|xtraverse&lt;br /&gt;
|MMF&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Bacteri-Yuk]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/Bacteri-Yuk.zip full]&lt;br /&gt;
|2003-01-03&lt;br /&gt;
|Slasher&amp;lt;br/&amp;gt;Chris Hendricks (Ilsoap)&lt;br /&gt;
|CNC&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Bloog Dunking Booth]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/BloogDunkingBooth.zip Full]&lt;br /&gt;
|?&lt;br /&gt;
|The Soggy Mop&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Bloog Sports: Soccer]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/BloogSportsSoccer.zip full]&lt;br /&gt;
|2001-11-03&lt;br /&gt;
|Dr. Zingers&lt;br /&gt;
|KNP&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[BWB Megarocket Space Invaders]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/BwBSpaceInvaders.zip full]&lt;br /&gt;
|2000-07-03&lt;br /&gt;
|Vaportech International&lt;br /&gt;
|CNC&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[CK Saga Episode 1: The Palace of King Yarkoud]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CKSaga1.zip full]&lt;br /&gt;
|1999-07-05&lt;br /&gt;
|Steven Wallace (StevenVI)&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|text adventure&lt;br /&gt;
|-&lt;br /&gt;
|[[CK Saga Episode 2: Keen in Space]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CKSaga2.zip demo + beta]&lt;br /&gt;
|1999-07-20&lt;br /&gt;
|Steven Wallace (StevenVI)&lt;br /&gt;
|&lt;br /&gt;
|DPMI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[CKFSC Fangame]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CKFSCFangameV041.zip Demo v0.41]&lt;br /&gt;
|2008-12-20&lt;br /&gt;
|German Keen community (details [http://k1n9duk3.k1.ohost.de/keen.html here])&lt;br /&gt;
|[[KEENGINE]]&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen 2000]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/Keen2000.zip full]&amp;lt;br/&amp;gt;[http://www.shikadi.net/wiki/files/Fangames/Keen2000hu.zip Hungarian Translation]&lt;br /&gt;
|1998-11-24&amp;lt;br/&amp;gt;2010-11-22&lt;br /&gt;
|A.R.&amp;lt;br/&amp;gt;Translated by Szemigi&lt;br /&gt;
|KNP&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen 2004]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/Keen2004.zip full]&lt;br /&gt;
|2004?&lt;br /&gt;
|Nickssoft&lt;br /&gt;
|KNP&lt;br /&gt;
|Windows&lt;br /&gt;
|Keen 2000 remake&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen 20,000]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/Keen20K.zip full]&lt;br /&gt;
|2007-07-28&lt;br /&gt;
|Kohntarkosz&lt;br /&gt;
|MMF&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen 3000]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CK3000.zip Demo]&lt;br /&gt;
|1999-02-07&lt;br /&gt;
|A.R.&lt;br /&gt;
|TGF&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen 3000: Friend or Foe?]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CK3000FoF.zip full]&lt;br /&gt;
|2012-03-04&lt;br /&gt;
|Szemi, Nickssoftware&lt;br /&gt;
|KNP&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen 4.5: Parallel World]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/Parallel.zip Engine Beta]&lt;br /&gt;
|2010-05-08&lt;br /&gt;
|Andy&lt;br /&gt;
|MMF2&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen 64]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/Keen64PogoDemo.zip Pogo Demo]&amp;lt;br/&amp;gt;[http://www.shikadi.net/wiki/files/Fangames/Keen64BetaV0.1.4.zip Beta v0.1.4]&amp;lt;br/&amp;gt;[http://www.shikadi.net/wiki/files/Fangames/Keen64BetaV0.1.5.zip Beta v0.1.5]&lt;br /&gt;
|2009-08-15&amp;lt;br/&amp;gt;2013-06-11&amp;lt;br/&amp;gt;2013-12-31&lt;br /&gt;
|Lava89&lt;br /&gt;
|Blitz3D&amp;lt;br/&amp;gt;Wings3D&lt;br /&gt;
|Windows&lt;br /&gt;
|A 3D remake of Commander Keen: Marooned on Mars&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen 7: Keen Lives]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CK7KL.zip Demo]&lt;br /&gt;
|1998-07-02&lt;br /&gt;
|Noname&lt;br /&gt;
|KNP&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen 7: The Universe is Toast]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/NeilKeen7.zip Demos (2)]&lt;br /&gt;
|2000-08-07&amp;lt;br/&amp;gt;1999-08-22&lt;br /&gt;
|Neil McRae&lt;br /&gt;
|KNP&lt;br /&gt;
|Windows&lt;br /&gt;
|A worse remake of Keen Lives demo&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen 7v]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CK7v.zip Demo]&lt;br /&gt;
|1999-07-25&lt;br /&gt;
|Volte-Face&lt;br /&gt;
|TGF&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen 8]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CK8.zip Demo 2]&amp;lt;br/&amp;gt;[http://www.shikadi.net/wiki/files/Fangames/NeilKeen81.zip Demo 1]&lt;br /&gt;
|2003-01-02&amp;lt;br/&amp;gt;2000-09-30&lt;br /&gt;
|Neil McRae&amp;lt;br/&amp;gt;Brandon Walderman&lt;br /&gt;
|KNP&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen: Adventure]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CKAdventure.zip Demo]&lt;br /&gt;
|1999-07-17&lt;br /&gt;
|TCL999/Dopefish9&lt;br /&gt;
|CNC&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen Andromeda]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/Andromeda.zip Demo]&lt;br /&gt;
|?&lt;br /&gt;
|Joe Capricorn&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen BreakOut]] 1 &amp;amp; 2&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/KeenBreakOut.zip full]&lt;br /&gt;
|1999-07-20&lt;br /&gt;
|The Soggy Mop aka Orb&lt;br /&gt;
|CNC&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen: Code Name 13]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CKCodeName13.zip Full]&lt;br /&gt;
|?&lt;br /&gt;
|Bean with Bacon&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen: Dark Horizon]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/DarkHorizon.zip Demo]&lt;br /&gt;
|?&lt;br /&gt;
|Logan Smith (CrazyKeen)&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen - Doom of Mars]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CommanderKeen-DoomOfMarsV2.exe full]&lt;br /&gt;
|2012-05-05&lt;br /&gt;
|DrColossus&lt;br /&gt;
|GameMaker&lt;br /&gt;
|Windows&lt;br /&gt;
|[http://sandbox.yoyogames.com/games/198573-commander-keen---doom-of-mars Release Page]&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen: Earth&#039;s Chaos]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/EarthsChaos.zip Demo]&lt;br /&gt;
|?&lt;br /&gt;
|Superadammario64&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen: Earthbound]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CKEarthbound.zip Demo]&lt;br /&gt;
|?&lt;br /&gt;
|J.A.&lt;br /&gt;
|KNP&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen: Heroes Lost]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CommanderKeenHeroesLost.zip full]&lt;br /&gt;
|2013-01-02&lt;br /&gt;
|ThDPro aka Thud&lt;br /&gt;
|MegaZeux&lt;br /&gt;
|Multiple&lt;br /&gt;
|[http://vault.digitalmzx.net/show.php?id=1986 Release Site]&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen Immortal: The Lamers]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CKLamers.zip Full]&lt;br /&gt;
|1999-06-02&lt;br /&gt;
|The Soggy Mop, aka Monsieur la Bloog&lt;br /&gt;
|TGF&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen in: Holiday Hijinx!]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/HolidayHijinx.zip full]&lt;br /&gt;
|2005&lt;br /&gt;
|thenewmoonsidianx&lt;br /&gt;
|TGF&lt;br /&gt;
|Windows&lt;br /&gt;
|[http://ridgwayfilms.com/games.html site]&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen in Joy Busters]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/JoyBusters.zip Demo]&lt;br /&gt;
|?&lt;br /&gt;
|Gooverman&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen in the Dream Machine]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/DreamMachine.zip full]&lt;br /&gt;
|2003-03-15&lt;br /&gt;
|DSL&lt;br /&gt;
|CNC&lt;br /&gt;
|?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen in Time Episode 1: Lost in Time]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/LostinTime.zip full]&lt;br /&gt;
|1999-12-12&lt;br /&gt;
|The Soggy Mop&lt;br /&gt;
|CNC?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen in Trouble]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CKIT.zip Demo]&lt;br /&gt;
|?&lt;br /&gt;
|Till Gillsbach&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen Interactive Fiction]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CKInteractiveFiction.zip demo]&lt;br /&gt;
|2005-05-16&lt;br /&gt;
|[[User:CK Guy|CK Guy]]&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen Laser Tag]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CKLaserTag.zip full]&lt;br /&gt;
|2000-08-03&lt;br /&gt;
|Steven Wallace (StevenVI)&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen Learns to Drive]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/KeenLearnstoDrive.zip full]&lt;br /&gt;
|1999-06-01&lt;br /&gt;
|Logan Smith (CrazyKeen)&lt;br /&gt;
|TGF&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen - Marooned on Mars (Galaxy Style)]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CommanderKeen1-GalaxyStyleV1.exe full]&lt;br /&gt;
|2012-07-29&lt;br /&gt;
|DrColossus&lt;br /&gt;
|GameMaker&lt;br /&gt;
|Windows&lt;br /&gt;
|[http://sandbox.yoyogames.com/games/202421-commander-keen---marooned-on-mars-galaxy-style Release Page]&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen Masked Crusaders: Asino&#039;s Uphail]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CKAU.zip full]&amp;lt;br/&amp;gt;[http://www.shikadi.net/wiki/files/Fangames/CKMCAU.zip remake]&lt;br /&gt;
|2003-01-03&amp;lt;br/&amp;gt;2003-12-14&lt;br /&gt;
|BlueIllusionX&lt;br /&gt;
|TGF&amp;lt;br/&amp;gt;MMF&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen Maze]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CKMaze.zip Full]&lt;br /&gt;
|2000-07-25&lt;br /&gt;
|Vaportech International&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen Psychedelic]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/KeenPsychedelic.zip full]&lt;br /&gt;
|1999-02-22&lt;br /&gt;
|Some Guy&lt;br /&gt;
|CNC&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen - Robot Invasion]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CommanderKeen-RobotInvasionV1-1.exe full]&lt;br /&gt;
|2011-07-14&lt;br /&gt;
|DrColossus&lt;br /&gt;
|GameMaker&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen: School&#039;s Out]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/SchoolsOut.zip full]&lt;br /&gt;
|2002-08-03&lt;br /&gt;
|LinkTempleton&lt;br /&gt;
|KNP&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen Shoot &#039;em Up]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CKShootEmUp.zip full]&lt;br /&gt;
|1999-08-23&lt;br /&gt;
|The Soggy Mop&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen: Tantalus Wars]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CKTW_Tester.zip Beta]&lt;br /&gt;
|2007-11-05&lt;br /&gt;
|GoldenRishi/LordofGlobox&lt;br /&gt;
|GameMaker 7.0&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen Tetris]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/KeenTetris.zip full]&lt;br /&gt;
|1999-05-23&lt;br /&gt;
|Steven Wallace (StevenVI)&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen: The New Episode]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/NewEpisode.zip demo]&lt;br /&gt;
|2001-01-09&lt;br /&gt;
|Daffydrukz&lt;br /&gt;
|?&lt;br /&gt;
|Dos&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keen: The Return to Mars]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/ReturntoMars.zip full]&lt;br /&gt;
|2000-07-19&lt;br /&gt;
|?&lt;br /&gt;
|CNC?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[The Commander Keen vs. Commander Kenny]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/KeenvsKenny.zip full]&lt;br /&gt;
|2000-02-18&lt;br /&gt;
|Korath the Great&lt;br /&gt;
|CNC &lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Keens Trek 96]]&lt;br /&gt;
|?&lt;br /&gt;
|ca. 1997&lt;br /&gt;
|J&amp;amp;O Software&lt;br /&gt;
|Visual Basic&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Commander Pang]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/CommanderPang.zip full]&lt;br /&gt;
|1998-12-30&lt;br /&gt;
|Thomas Laguzzi&lt;br /&gt;
|QBASIC&lt;br /&gt;
|Windows, DOS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Das Viva]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/DasViva.zip full]&lt;br /&gt;
|2004-03-14&lt;br /&gt;
|Commander Spleen&lt;br /&gt;
|CNC&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Day of the Alien:  Tentacles Ate My Babysitter!]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/DOTA.zip Full]&lt;br /&gt;
|2002&lt;br /&gt;
|thenewmoonsidianx&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Discontinued Keen Games Anthology]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/DKGA.zip Demo]&lt;br /&gt;
|?&lt;br /&gt;
|Nickssoft&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Dopefish Challenge]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/DopefishChallenge.zip full]&lt;br /&gt;
|2001-12-02&lt;br /&gt;
|Beowulf&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Dopefish Forever]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/DF4ever.zip full]&lt;br /&gt;
|1998-12-18&lt;br /&gt;
|Chris Geroux&lt;br /&gt;
|KNP&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Dopefish Lives!]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/DFlives.zip full]&lt;br /&gt;
|1998-11-25&lt;br /&gt;
|Chris Geroux&lt;br /&gt;
|KNP&lt;br /&gt;
|Windows&lt;br /&gt;
|Early version of Dopefish Forever&lt;br /&gt;
|-&lt;br /&gt;
|[[Dopefish Rescue 1]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/DopefishRescue1.zip full]&lt;br /&gt;
|1998-01-22&lt;br /&gt;
|Justin&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|text game&lt;br /&gt;
|-&lt;br /&gt;
|[[Dopefish Rescue 2]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/DopefishRescue2.zip full]&lt;br /&gt;
|1998-02-12&lt;br /&gt;
|Justin&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|text game&lt;br /&gt;
|-&lt;br /&gt;
|[[The Dopey Game]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/DopeyGame.zip Demo]&lt;br /&gt;
|?&lt;br /&gt;
|Zorath&lt;br /&gt;
|? &lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Eat &#039;em Up]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/EatEmUp.zip Full]&lt;br /&gt;
|1999-08-17&lt;br /&gt;
|The Soggy Mop&lt;br /&gt;
|TGF?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Escape from the Dopefish]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/EscapefromDF.zip full]&lt;br /&gt;
|2002-02-21&lt;br /&gt;
|Mark Jenkins&lt;br /&gt;
|KNP&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Flash Keen]]&lt;br /&gt;
|[http://www.glenrhodes.com/flashkeen/ Full]&lt;br /&gt;
|2006&lt;br /&gt;
|Glen Rhodes&lt;br /&gt;
|Flash MX&lt;br /&gt;
|multiple&lt;br /&gt;
|Keens 1-3 Flash clone, no world map&lt;br /&gt;
|-&lt;br /&gt;
|[[Goodbye Monkey Island|Goodbye Monkey Island Part 1]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/GMIPart1.zip Full]&lt;br /&gt;
|2004&lt;br /&gt;
|thenewmoonsidianx&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Goodbye Monkey Island|Goodbye Monkey Island Part 2]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/GMIPart2.zip Full]&lt;br /&gt;
|2004&lt;br /&gt;
|thenewmoonsidianx&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Goodbye Monkey Island|Goodbye Monkey Island Part 3]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/GMIPart3.zip Full]&lt;br /&gt;
|2004&lt;br /&gt;
|thenewmoonsidianx&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Goodbye Monkey Island|Goodbye Monkey Island Part 4]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/GMIPart4.zip Full]&lt;br /&gt;
|2004&lt;br /&gt;
|thenewmoonsidianx&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Goodbye Monkey Island|Goodbye Monkey Island Part 5]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/GMIPart5.zip Full]&lt;br /&gt;
|2004&lt;br /&gt;
|thenewmoonsidianx&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Goodbye Monkey Island|Goodbye Monkey Island Part 6]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/GMIPart6.zip Full]&lt;br /&gt;
|2004&lt;br /&gt;
|thenewmoonsidianx&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[JavaKeen]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/JavaKeen.zip Demo]&lt;br /&gt;
|?&lt;br /&gt;
|paradox&lt;br /&gt;
|Java 1.4&lt;br /&gt;
|multiple&lt;br /&gt;
|Open-source, has level editor&lt;br /&gt;
|-&lt;br /&gt;
|[[Journey to the Centre of Mars]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/JourneyToTheCentreOfMarsEngine.exe full]&lt;br /&gt;
|2011-02-14&lt;br /&gt;
|Hagel&lt;br /&gt;
|Journey to the Centre of Mars Engine&lt;br /&gt;
|Windows?&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1837 Discussion] [http://www.pckf.com/viewtopic.php?p=43100#43100 source code] is released.&lt;br /&gt;
|-&lt;br /&gt;
|[[Jungle Commander Keen]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/JungleCK.zip Demo]&lt;br /&gt;
|?&lt;br /&gt;
|xtraverse&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|Evolved into &amp;quot;Alpha Manhattan&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen Dreams 3D]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/KeenDreams3D.zip full]&lt;br /&gt;
|2006-03&lt;br /&gt;
|thenewmoonsidianx&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|[http://ridgwayfilms.com/games.html site]&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen Enters RON]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/KeenRON.zip full]&lt;br /&gt;
|2002-09-19&lt;br /&gt;
|das TOBI AS&lt;br /&gt;
|? &lt;br /&gt;
|?&lt;br /&gt;
|RON mod&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen Fighter]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/KeenFighterDemo.zip demo]&lt;br /&gt;
|2010-07-12&lt;br /&gt;
|Szemigi&lt;br /&gt;
|KNP &lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen Fury]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/KeenFury.zip demos (3)]&lt;br /&gt;
|1999-03-15&amp;lt;br/&amp;gt;1999-03-06&amp;lt;br/&amp;gt;1999-01-02&lt;br /&gt;
|Blur/YFS&lt;br /&gt;
|? &lt;br /&gt;
|DOS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen in the Bronze Age]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/BronzeAge.zip Full]&lt;br /&gt;
|?&lt;br /&gt;
|SkypestB2&lt;br /&gt;
|? &lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen Infinity]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/KeenInfinity.zip alpha]&lt;br /&gt;
|1999-06-18&lt;br /&gt;
|DML&lt;br /&gt;
|?&lt;br /&gt;
|DOS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen: Next (fangame)|Keen: Next]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/KeenNext03.zip demo]&lt;br /&gt;
|2005-05-07&lt;br /&gt;
|Z-1&lt;br /&gt;
|? &lt;br /&gt;
|?&lt;br /&gt;
|Made with Keen: Next editor. Abandoned, but source released. More info [http://www.pckf.com/viewtopic.php?t=725&amp;amp;postdays=0&amp;amp;postorder=asc&amp;amp;start=30 here].&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen Signal]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/KeenSignal.zip full]&lt;br /&gt;
|2008-03-17&lt;br /&gt;
|Mink&lt;br /&gt;
|KNP&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen&#039;s Enemy Blowout]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/KeensEnemyBlowout.zip Demo]&lt;br /&gt;
|1998-01-17&lt;br /&gt;
|What&#039;s His Name?&lt;br /&gt;
|KNP &lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen&#039;s Watch]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/KeensWatch.zip full]&lt;br /&gt;
|2003-02-18&lt;br /&gt;
|Nickssoft&lt;br /&gt;
|KNP&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Keen4ever]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/Keen4Ever.zip full]&lt;br /&gt;
|1999-01-16&lt;br /&gt;
|Pieter Jordaan (therealdopefish)&lt;br /&gt;
|KNP&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[KeenKong]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/KeenKong.zip full]&lt;br /&gt;
|2003-11-04&lt;br /&gt;
|[[User:Allstories|Allstories]]&lt;br /&gt;
|KNP &lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[KeenPlus]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/KeenPlus.zip Demo]&lt;br /&gt;
|2000-03-14&lt;br /&gt;
|Neil McRae&lt;br /&gt;
|? &lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Maniac Mars]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/ManiacMars.zip full]&lt;br /&gt;
|2002-08-31&lt;br /&gt;
|thenewmoonsidianx&lt;br /&gt;
|TGF &lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Mazes of Doom]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/MazesofDoom.zip full]&lt;br /&gt;
|2008-12-16&lt;br /&gt;
|JM2006&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Mopsy]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/Mopsy.zip shareware]&lt;br /&gt;
|1993-06-19&lt;br /&gt;
|KUS Software&lt;br /&gt;
|? &lt;br /&gt;
|Dos&lt;br /&gt;
|in German&lt;br /&gt;
|-&lt;br /&gt;
|[[Mortal Keenbat]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/MortalKeenbat.zip Full]&lt;br /&gt;
|?&lt;br /&gt;
|The Soggy Mop&lt;br /&gt;
|? &lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Mortimer Ate My Babysitter]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/MortAteMySitter.zip Demo]&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|? &lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Mortimer McMire Stress Reliever]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/MMStressReliever.zip full]&lt;br /&gt;
|1999-09-04&lt;br /&gt;
|The Soggy Mop&lt;br /&gt;
|? &lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[The Mystery of Isis II]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/IsisIIa_v1.1a.zip Remake Alpha v1.1a]&amp;lt;br/&amp;gt;[http://www.shikadi.net/wiki/files/Fangames/IsisII.zip Old Demos (3)]&lt;br /&gt;
|2012-01-13&amp;lt;br/&amp;gt;2002-08-20&amp;lt;br/&amp;gt;2001-03-26&amp;lt;br/&amp;gt;2000-03-01&lt;br /&gt;
|Geoff&amp;lt;br/&amp;gt;et al.&lt;br /&gt;
|PyGame&amp;lt;br/&amp;gt;DJGPP C w/Allegro &lt;br /&gt;
|Windows, DOS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Mythical Stones 1: The End of McMire&#039;s Story]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/MythicalStones1.zip Full]&lt;br /&gt;
|?&lt;br /&gt;
|memsys&lt;br /&gt;
|? &lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[NetKeen (1997)]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/NetKeen1.zip full]&lt;br /&gt;
|1997-11-16&lt;br /&gt;
|Zbad&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[NetKeen|NetKeen (2011)]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/NETKEEN-2013-03-26.zip NetKeen: Vorticons]&lt;br /&gt;
|2013-03-26&lt;br /&gt;
|lemm&amp;lt;br/&amp;gt;et al.&lt;br /&gt;
|?&lt;br /&gt;
|DOS&lt;br /&gt;
|[http://www.pckf.com/viewtopic.php?t=1856 Release Thread and Discussion]&amp;lt;br/&amp;gt;[http://netkeen.nfshost.com/ Homepage]&lt;br /&gt;
|-&lt;br /&gt;
|[[NetKeen 2]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/NetKeen2.zip demo]&lt;br /&gt;
|1998-04-12&lt;br /&gt;
|Zbad&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Pac-Keen]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/PacKeen.zip full]&lt;br /&gt;
|2003-12&lt;br /&gt;
|rorie1983&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Project Keen]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/ProjectKeen.zip demo]&lt;br /&gt;
|2007-05&lt;br /&gt;
|Vincent Beers (DaVince)&lt;br /&gt;
|Sphere&lt;br /&gt;
|Windows, Linux, OSX&lt;br /&gt;
|abandoned; [http://spheredev.org/wiki/Project_Keen site]&lt;br /&gt;
|-&lt;br /&gt;
|[[Quick Basic Keen]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/QBKeen.zip build 15]&lt;br /&gt;
|2002-08&lt;br /&gt;
|Kevin Wellwood&lt;br /&gt;
|QBASIC&lt;br /&gt;
|?&lt;br /&gt;
|CK4 clone, has level editor; [http://www.vplanetmag.com/raview60.shtml site]&lt;br /&gt;
|-&lt;br /&gt;
|[[Real Keen Player]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/RKP1.zip full]&lt;br /&gt;
|2000-10-26&lt;br /&gt;
|Pieter Jordaan (therealdopefish)&lt;br /&gt;
|Turbo Pascal &lt;br /&gt;
|Windows&lt;br /&gt;
|has level editor&lt;br /&gt;
|-&lt;br /&gt;
|[[Real Keen Player II]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/RKP2.zip full]&lt;br /&gt;
|2001-04-22&lt;br /&gt;
|Pieter Jordaan (therealdopefish)&lt;br /&gt;
|Turbo Pascal &lt;br /&gt;
|Windows&lt;br /&gt;
|has level editor&lt;br /&gt;
|-&lt;br /&gt;
|[[Real Keen Player III]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/RKP3.zip full]&lt;br /&gt;
|2003-03-07&lt;br /&gt;
|Pieter Jordaan (therealdopefish)&lt;br /&gt;
|Div Games Studio&lt;br /&gt;
|DPMI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Revolt on Camostria III]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/Revolt.zip Full]&lt;br /&gt;
|?&lt;br /&gt;
|BBlazs&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Revolt on Camostria III Part 2: Trouble 7]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/Trouble7.zip Full]&lt;br /&gt;
|?&lt;br /&gt;
|BBlazs&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Revolt on Camostria III Part 3: Regicide]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/Regicide.zip Full]&lt;br /&gt;
|?&lt;br /&gt;
|BBlazs&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[R.O.C.K.]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/ROCKalpha5.zip Alpha 5]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://www.shikadi.net/wiki/files/Fangames/ROCKalpha.zip Alpha]&lt;br /&gt;
|2009-09-04&amp;lt;br/&amp;gt;2008-06-12&lt;br /&gt;
|Henrock431&lt;br /&gt;
|Game Maker&lt;br /&gt;
|Windows&lt;br /&gt;
|mimicks Keen 4-6 physics&lt;br /&gt;
|-&lt;br /&gt;
|[[The Rule of a Yorp&#039;s Dinner]]&amp;lt;br/&amp;gt;aka Friends of Commander Keen&amp;lt;br/&amp;gt;aka Keen Rescue Mission&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/ROAYD2.zip demo2]&amp;lt;br/&amp;gt;[http://www.shikadi.net/wiki/files/Fangames/ROAYD1.zip demo1]&lt;br /&gt;
|2000-08-22&amp;lt;br/&amp;gt;1999-11-03&lt;br /&gt;
|Chris Hendricks (Ilsoap)&amp;lt;br/&amp;gt;aka &amp;quot;Pea Soup Fog Productions (a tiny division of Vapor Tech.)&amp;quot;&lt;br /&gt;
|TGF&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Silly Keen]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/SillyKeen.zip full]&lt;br /&gt;
|2003-12-07&lt;br /&gt;
|Zerker&lt;br /&gt;
|CNC&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Spork I: Robot&#039;s Revenge]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/Spork1.exe full]&amp;lt;br/&amp;gt;[http://www.mediafire.com/?dblmyywlw23 Demo]&lt;br /&gt;
|2000-04-09&amp;lt;br/&amp;gt;2000-02-14&lt;br /&gt;
|Slasher aka Corey aka big-buff chicken&lt;br /&gt;
|CNC&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Spork II: Escape from Dula 9]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/Spork2.zip full]&lt;br /&gt;
|2000-05-29&lt;br /&gt;
|Slasher&lt;br /&gt;
|CNC&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Spork III: Code of the Sporkia]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/Spork3.zip demo]&lt;br /&gt;
|2000-08-27&lt;br /&gt;
|Slasher&lt;br /&gt;
|CNC&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Super Keen Fighter 2]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/SKF2.zip Full]&lt;br /&gt;
|?&lt;br /&gt;
|Nickssoft&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Super Keen Fighter 3]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/SKF3.zip Full]&lt;br /&gt;
|?&lt;br /&gt;
|Nickssoft&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Super Keen Fighter 4]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/SKF4.zip full]&lt;br /&gt;
|2006-03-17&lt;br /&gt;
|Nickssoft&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Talkeen]]&amp;lt;br/&amp;gt;aka Commander Keen Goes AI&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/Talkeen.zip full]&lt;br /&gt;
|1999-06-08&lt;br /&gt;
|Logan Smith (CrazyKeen)&lt;br /&gt;
|?&lt;br /&gt;
|DOS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[The Universe is Toast 1 - When Bloogs Attack!]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/TUIT1.zip full]&lt;br /&gt;
|?&lt;br /&gt;
|thenewmoonsidianx&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[The Universe is Toast 2 - Stranded on Itchbay]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/TUIT2.zip Full]&lt;br /&gt;
|?&lt;br /&gt;
|thenewmoonsidianx&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[The Universe is Toast 3 - The Return of Mr. 314]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/TUIT3.zip Full]&lt;br /&gt;
|?&lt;br /&gt;
|thenewmoonsidianx&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[TUIT]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/FleexyTUIT.zip full]&lt;br /&gt;
|2009-08-15&lt;br /&gt;
|Fleexy&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Vorticon VI Episode 1: The Captive Planet]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/TheCaptivePlanet.zip Full]&lt;br /&gt;
|1999-10-01&lt;br /&gt;
|TCL999 aka Dopefish 9&lt;br /&gt;
|KNP&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Vorticon VI Episode 2: Attack on Earth]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/AttackOnEarth.zip Demo]&lt;br /&gt;
|?&lt;br /&gt;
|TCL999&lt;br /&gt;
|MMF&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Vorticon World]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/VorticonWorld.zip Demo]&lt;br /&gt;
|?&lt;br /&gt;
|Steaver370&lt;br /&gt;
|? &lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Watch314 MkII]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/Watch314MkII.zip full]&lt;br /&gt;
|2004-10-03&lt;br /&gt;
|Commander Spleen&lt;br /&gt;
|CNC&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Where&#039;s My Pogo?]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/WheresMyPogo.zip full]&lt;br /&gt;
|2000-05-23&lt;br /&gt;
|xtraverse aka Korath&lt;br /&gt;
|CNC&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[The Worst Keen Fangame Ever!]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/WorstFangame.zip full]&lt;br /&gt;
|2005-12-05&lt;br /&gt;
|Stupid Bunny&lt;br /&gt;
|CNC&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Wurdz: Commander Keen]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/WurdzCK.zip full]&lt;br /&gt;
|2000-06-02&lt;br /&gt;
|Steven Wallace (StevenVI)&lt;br /&gt;
|?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Yorp Convention]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/YorpConvention.zip full]&lt;br /&gt;
|2000-08-29&lt;br /&gt;
|Neil McRae&lt;br /&gt;
|CNC&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Yorp Wars]]&lt;br /&gt;
|[http://www.shikadi.net/wiki/files/Fangames/YorpWars.zip full]&lt;br /&gt;
|1999-06-03&lt;br /&gt;
|Quest King, aka Dr. Thomas H. Bailey, Sr.&lt;br /&gt;
|TGF?&lt;br /&gt;
|Windows&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:All fangames]]&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Abiathar&amp;diff=25588</id>
		<title>Abiathar</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Abiathar&amp;diff=25588"/>
		<updated>2014-04-05T19:52:32Z</updated>

		<summary type="html">&lt;p&gt;MoffD: Added screenshot and category tags&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
[[Image:Abiathar.png|thumb|320px|&#039;&#039;&#039;Abiathar&#039;&#039;&#039;.]]&lt;br /&gt;
Abiathar is a Windows-based level and tileinfo editor for Keen Dreams and Keen Galaxy. It was developed by Fleexy starting on January 10, 2014 and publicly released on Keen Day 2014.&lt;br /&gt;
&lt;br /&gt;
[[Category:Modding Tools (Galaxy)]]&lt;br /&gt;
[[Category:Level Editors (Galaxy)]]&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Patch:F1-F12_keys&amp;diff=25575</id>
		<title>Patch:F1-F12 keys</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Patch:F1-F12_keys&amp;diff=25575"/>
		<updated>2014-03-18T18:40:51Z</updated>

		<summary type="html">&lt;p&gt;MoffD: added F10 Z cheat to list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page deals with patches that relate to or affect the &#039;function keys&#039; (F1, F2, F3... F12) in Keen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Pages relating to F keys =&lt;br /&gt;
&lt;br /&gt;
There are several pages that relate to different F keys that have a singular effect in a game. In the case of Keen Galaxy they may be the only times that that particular F key is referenced by default. The following pages contain such patches:&lt;br /&gt;
&lt;br /&gt;
* [[Patch:Help|Help (F1 key)]]&lt;br /&gt;
* [[Patch:Sound (Y/N) Window|Sounds window (F2 key)]]&lt;br /&gt;
* [[Patch:Keyboard Commands Window|Keyboard Commands Window (F3 key)]]&lt;br /&gt;
* [[Patch:Joystick Configuration Window|Joystick Configuration Window (F4 key)]]&lt;br /&gt;
* [[Patch:Save Game (Vorticons)|Save game window (F5 key)]]&lt;br /&gt;
* [[Patch:Boss Cheat|Boos Cheat (F9 key)]]&lt;br /&gt;
* [[Patch:F10 B Cheat]]&lt;br /&gt;
* [[Patch:F10 C Cheat]]&lt;br /&gt;
* [[Patch:F10 D Cheat]]&lt;br /&gt;
* [[Patch:F10 E Cheat]]&lt;br /&gt;
* [[Patch:F10 G Cheat]]&lt;br /&gt;
* [[Patch:F10 I Cheat]]&lt;br /&gt;
* [[Patch:F10 J Cheat]]&lt;br /&gt;
* [[Patch:F10 M Cheat]]&lt;br /&gt;
* [[Patch:F10 N Cheat]]&lt;br /&gt;
* [[Patch:F10 S Cheat]]&lt;br /&gt;
* [[Patch:F10 T Cheat]]&lt;br /&gt;
* [[Patch:F10 V Cheat]]&lt;br /&gt;
* [[Patch:F10 W Cheat]]&lt;br /&gt;
* [[Patch:F10 Y Cheat]]&lt;br /&gt;
* [[Patch:F10 Z Cheat]]&lt;br /&gt;
&lt;br /&gt;
= Keen Vorticons =&lt;br /&gt;
&lt;br /&gt;
The F keys do not have much function in Keen Galaxy or Dreams; only the F1, F9 and F10 keys have any functionality by default and two of those deal with cheats. In Keen Vorticons by contrast F1 to F5 are accessible throughout the game.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Keen 1 ==&lt;br /&gt;
&lt;br /&gt;
It is currently unknown how F keys in Keen 1 are handled. It is possible to disable several of the keys however.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 1&amp;quot;&amp;gt;&lt;br /&gt;
#Cannot save game&lt;br /&gt;
%patch $0D18 $EB $31&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Keen 2 ==&lt;br /&gt;
&lt;br /&gt;
It is currently unknown how F keys in Keen 2 are handled. It is possible to disable several of the keys however.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 2&amp;quot;&amp;gt;&lt;br /&gt;
#Cannot save game&lt;br /&gt;
%patch $0D18 $EB $31&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Keen 3 ==&lt;br /&gt;
&lt;br /&gt;
In Keen 3 what the the F keys as well as the Escape key do is controlled by a list. The list contains 6 items though it can contain more (These will be keys F6, F7, etc.) The first item on the list is the escape key (F0.)&lt;br /&gt;
&lt;br /&gt;
To disable an option simply replace its list value with &amp;lt;tt&amp;gt;$0D7EW&amp;lt;/tt&amp;gt;, though it may be simpler just to make the list shorter and rearrange the values.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 3&amp;quot;&amp;gt;&lt;br /&gt;
#List location&lt;br /&gt;
%patch $0CEC [$0DB9W]&lt;br /&gt;
&lt;br /&gt;
#List length&lt;br /&gt;
%patch $0CE9 [$0006W]&lt;br /&gt;
&lt;br /&gt;
#List&lt;br /&gt;
%patch $0DB9 [$0D75W] #Esc: Quit (At $D75)&lt;br /&gt;
%patch $0DBB [$0CFEW] #F1: Help (At $CFE)&lt;br /&gt;
%patch $0DBD [$0D0AW] #F2: Sound (At $D0A)&lt;br /&gt;
%patch $0DBF [$0D4FW] #F3: Keyboard definitions (At $D4F)&lt;br /&gt;
%patch $0DC1 [$0D5BW] #F4: Joystick definitions (At $D5B)&lt;br /&gt;
%patch $0DC3 [$0D6CW] #F5: Save game (At $D6C)&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{PatchCategories|Keen 1|gameplay}}&lt;br /&gt;
{{PatchCategories|Keen 2|gameplay}}&lt;br /&gt;
{{PatchCategories|Keen 3|gameplay}}&lt;br /&gt;
{{PatchCategories|Keen 4|gameplay}}&lt;br /&gt;
{{PatchCategories|Keen 5|gameplay}}&lt;br /&gt;
{{PatchCategories|Keen 6|gameplay}}&lt;br /&gt;
{{PatchCategories|Keen Dreams|gameplay}}&lt;br /&gt;
{{PatchCategories|Cheats|}}&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Patch:Poison_Slug&amp;diff=25574</id>
		<title>Patch:Poison Slug</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Patch:Poison_Slug&amp;diff=25574"/>
		<updated>2014-03-15T14:56:54Z</updated>

		<summary type="html">&lt;p&gt;MoffD: fixed some minor typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page covers patches relating to the [[Poison Slug]]s in [[Keen 4]]. The slugs are found in many levels and spend their time moving back and forth and leaving slime puddles everywhere.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite type|Sprite Type]] =&lt;br /&gt;
&lt;br /&gt;
Slugs use sprite type 5 which is used only by the Slug and doesn&#039;t affect anything else. Its slime puddles are type 1 (Misc).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Slug sprite types&lt;br /&gt;
%patch $FD92  [$05] #Poison Slug&lt;br /&gt;
%patch $FE3F  [$01] #Poison Slug slime&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite actions|Sprite Actions]] =&lt;br /&gt;
&lt;br /&gt;
Slugs have 7 actions, two crawling, one sliming, two different stunned animations and two slime puddle actions. The first two make up the bulk of the Slug&#039;s time and make it move back and forth. It randomly slimes leaving a slime puddle behind that eventually dries. Because it is the most common enemy it has not one by two different possible death animations.&lt;br /&gt;
&lt;br /&gt;
Slugs are spawned crawling and can themselves spawn puddles of slime, something rather unique in the game. (One sprite spawning another.) The slime will vanish after a time. Sliming occurs randomly.&lt;br /&gt;
&lt;br /&gt;
 Actions:&lt;br /&gt;
 $2012W #Poison Slug&lt;br /&gt;
 $2030W #Poison slug&lt;br /&gt;
 $204EW #Poison Slug sliming&lt;br /&gt;
 $206CW #Short stunned poison slug&lt;br /&gt;
 $208AW #Tall stunned poison slug&lt;br /&gt;
 $20A8W #Slug Slime&lt;br /&gt;
 $20C6W #Slug Slime drying&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Slug placed in-level&lt;br /&gt;
%patch $FDDB  {$2012W} #Spawn Slug&lt;br /&gt;
%patch $FE5B  {$20A8W} #Spawn Slug slime&lt;br /&gt;
&lt;br /&gt;
#Slug behavior&lt;br /&gt;
%patch $30E9E {$2030W} #Crawl 1&lt;br /&gt;
%patch $30EBC {$2012W} #Crawl 2&lt;br /&gt;
&lt;br /&gt;
#Slug sliming (Occurs randomly)&lt;br /&gt;
%patch $FE15  {$204EW} #Slime&lt;br /&gt;
%patch $30EDA {$2012W} #Return to crawling&lt;br /&gt;
&lt;br /&gt;
#When shot&lt;br /&gt;
%patch $FE93  {$206CW} #Spawn tall stunned slug&lt;br /&gt;
%patch $FEA3  {$208AW} #Spawn short stunned slug&lt;br /&gt;
&lt;br /&gt;
#Stunned Slug&lt;br /&gt;
%patch $30EF8 {$0000W} #Do nothing&lt;br /&gt;
%patch $30F16 {$0000W} #Do nothing&lt;br /&gt;
&lt;br /&gt;
#Slug slime&lt;br /&gt;
%patch $30F34 {$20C6W} #Slug slime 1&lt;br /&gt;
%patch $30F52 {$0000W} #Slug slime 2 (Vanish)&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite behavior|Sprite Behavior]] =&lt;br /&gt;
&lt;br /&gt;
The Slug&#039;s behaviors are simple. There is one behavior that controls the slug&#039;s crawling, it moves back and forth, randomly stopping to turn into a sliming slug. The sliming behavior makes a puddle of slime then returns the slug to crawling. The slug moves between these two behaviors. Slug slime has no behavior, it just sits.&lt;br /&gt;
&lt;br /&gt;
It is notable that in order to reduce the chance of sliming the Slug uses its &#039;crawl&#039; behavior only half the time, the rest of the time it does nothing. This doesn&#039;t make much sense, but then this is Keen we&#039;re talking about.&lt;br /&gt;
&lt;br /&gt;
 Behaviors:&lt;br /&gt;
 $09DC16C9RL #Shot sprite&lt;br /&gt;
 $0FA80369RL #Slug crawling (Randomly slime)&lt;br /&gt;
 $0FA803A6RL #Produce Slug Slime and return to Slug_Crawling&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Slug crawl (Notice only uses behavior 50% of time)&lt;br /&gt;
%patch $30E92 {$00000000L}  #Nothing&lt;br /&gt;
%patch $30EB0 {$0FA80369RL} #Slug crawling&lt;br /&gt;
&lt;br /&gt;
#Sliming slug&lt;br /&gt;
%patch $30ECE {$0FA803A6RL} #Produce slime&lt;br /&gt;
&lt;br /&gt;
#When shot&lt;br /&gt;
%patch $30EEC {$09DC16C9RL} #Shot sprite&lt;br /&gt;
%patch $30F0A {$09DC16C9RL} #Shot sprite&lt;br /&gt;
&lt;br /&gt;
#Slime&lt;br /&gt;
%patch $30F28 {$00000000L}  #Nothing&lt;br /&gt;
%patch $30F46 {$00000000L}  #Nothing&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Poison Slug doesn&#039;t slime ==&lt;br /&gt;
&lt;br /&gt;
This patch makes the Slug not pause and slime, instead simply turning to face Keen randomly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Poison Slug doesn&#039;t slime&lt;br /&gt;
%patch $FE12 $5E $5D $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Behavior code ==&lt;br /&gt;
&lt;br /&gt;
This is the actual code used by the Slug.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sliming behavior code ===&lt;br /&gt;
&lt;br /&gt;
This is the full code for the Slug producing slime. It can be seen that this is just a &#039;create sprite&#039; code that sets a number of the sprite&#039;s properties; the first blue value isn&#039;t related, but the second is the slime&#039;s sprite type, the third unknown (maybe foreground), the fourth its clipping, the fifth its spawn height (Half a tile down from the Slug&#039;s top.)&lt;br /&gt;
&lt;br /&gt;
This can be used as a behavior by any other sprite to produce another.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Slug sliming behavior&lt;br /&gt;
%patch $FE26 $55 $8B $EC $56 $8B $76 $06 $B8 [$0001W]  $50 $9A {$06BD1E11RL}&lt;br /&gt;
             $83 $C4 $02 $8B $1E $D8 $A7 $C7 $07 [$0001W]  $C7 $47 $02 [$0003W]&lt;br /&gt;
             $C7 $47 $20 [$0001W]  $8B $44 $0A $89 $47 $0A $8B $44 $28 $2D [$0080W]&lt;br /&gt;
                 $89 $47 $0C $B8 [$20A8W] $50 $53 $9A [$09DC118CRL]      $83 $C4&lt;br /&gt;
             $04 $5E $5D $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawling behavior code ===&lt;br /&gt;
&lt;br /&gt;
This is the code used when the slug is crawling. It leads to the slug sliming. Notice that all the patches in this section have the potential to interfere with other patches on this page (E.g. sound patches.) so care must be taken when using them. The default patch is given first, followed by a number of other interesting patches. Still other variations are possible (E.g. randomly play a sound and change direction but &#039;&#039;not&#039;&#039; behavior.) and are simple enough to construct.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Default ====&lt;br /&gt;
&lt;br /&gt;
The default behavior begins with a random check (in brown, $0010W is how likely the Slug is to do something. See also [[Patch:Jump conditions]].) If the check is passed then three things will occur. First a second check will be performed to find Keen&#039;s position, the slug will then change its horizontal direction to face him ($0001\$FFFF.) Second the Slug&#039;s action will change to sliming ($204EW.) And finally sound $2E will play.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Slug randomly slime code&lt;br /&gt;
%patch $FDE9  $55 $8B $EC $56 $8B $76 $06 $9A $1D02002ARL     $3D {$0010W  $7D}&lt;br /&gt;
              {$29} $8B $44 $0A $8B $1E $D6 $A7 $3B $47 $0A $73 $07 $C7 $44 $0E&lt;br /&gt;
              [$0001W]  $EB $05 $C7 $44 $0E [$FFFFW]  $C7 $44 $1C [$204EW]  $B8 [$002EW]&lt;br /&gt;
                  $50 $9A $187409F1RL     $83 $C4 $02 $5E $5D $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Don&#039;t play sliming sound ====&lt;br /&gt;
&lt;br /&gt;
This patch removes the sound from the above code, so the Slug does not make a noise when it slimes. (It is identical in effect to the no sound patch in the sound section below.) notice that the brown $29 has changed to $1D as the code size has changed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Slug randomly slime code - no sound&lt;br /&gt;
%patch $FDE9  $55 $8B $EC $56 $8B $76 $06 $9A $1D02002ARL     $3D {$0010W  $7D}&lt;br /&gt;
              {$1D} $8B $44 $0A $8B $1E $D6 $A7 $3B $47 $0A $73 $07 $C7 $44 $0E&lt;br /&gt;
              [$0001W]  $EB $05 $C7 $44 $0E [$FFFFW]  $C7 $44 $1C [$204EW]&lt;br /&gt;
              $5E $5D $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Don&#039;t face Keen ====&lt;br /&gt;
&lt;br /&gt;
This patch removes the &#039;face Keen&#039; code. This differs from the &#039;seek Keen&#039; patches below in that Keen&#039;s position has &#039;&#039;no&#039;&#039; effect on which way the Slug faces after sliming.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Slug randomly slime code - don&#039;t face Keen&lt;br /&gt;
%patch $FDE9  $55 $8B $EC $56 $8B $76 $06 $9A $1D02002ARL     $3D {$0010W  $7D}&lt;br /&gt;
              {$14} $8B $44 $0A $C7 $44 $1C [$204EW]  $B8 [$002EW]  $50 $9A&lt;br /&gt;
          $187409F1RL     $83 $C4 $02 $5E $5D $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Only change behavior ====&lt;br /&gt;
&lt;br /&gt;
This patch removes &#039;&#039;both&#039;&#039; the direction change and sound from the default code, resulting in the Slug doing nothing but randomly changing its behavior to sliming.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Slug randomly slime code -only change action&lt;br /&gt;
%patch $FDE9  $55 $8B $EC $56 $8B $76 $06 $9A $1D02002ARL     $3D {$0010W  $7D}&lt;br /&gt;
              {$08} $8B $44 $0A $C7 $44 $1C [$204EW]  $5E $5D $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Randomly play sound ====&lt;br /&gt;
&lt;br /&gt;
This patch removes the change direction and behavior code making the slug simply randomly play the sliming sound. This can be useful to add ambiance and background sounds to a game.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Randomly play sound&lt;br /&gt;
%patch $FDE9  $55 $8B $EC $56 $8B $76 $06 $9A $1D02002ARL     $3D {$0010W  $7D}&lt;br /&gt;
              {$0F} $8B $44 $0A $B8 [$002EW]  $50 $9A $187409F1RL     $83 $C4 $02&lt;br /&gt;
              $5E $5D $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Randomly seek Keen ====&lt;br /&gt;
&lt;br /&gt;
This is the [[patch:Arachnut|Arachnut]] behavior.See its page for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Patch:Seeking Keen|Seeking Keen]] ===&lt;br /&gt;
&lt;br /&gt;
The Slug will face (and thus head towards) Keen each time it slimes. This does not have too much of an effect.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen seeking&amp;quot;&amp;gt;&lt;br /&gt;
#Face Keen after sliming&lt;br /&gt;
%patch $FE09 $0001W&lt;br /&gt;
%patch $FE10 $FFFFW&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite speed|Speed and Jump Height]] =&lt;br /&gt;
&lt;br /&gt;
Slugs rely on animation motion for their crawling speed. The only other parameter is the height they jump when shot, controlled by their collision. (See section below.) The slug slime and stunned slugs do not otherwise move. Due to the movement parameter, slug motion is in jerks, like inchworms.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Slug jump height&amp;quot;&amp;gt;&lt;br /&gt;
%patch $FEB3  [$FFE8W] #Jump height when shot&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Animation motion&amp;quot;&amp;gt;&lt;br /&gt;
#Stunned&lt;br /&gt;
%patch $30EE8 [$0000W $0000W] #Speed (A)&lt;br /&gt;
%patch $30F06 [$0000W $0000W] #Speed (B)&lt;br /&gt;
&lt;br /&gt;
#Crawling&lt;br /&gt;
%patch $30E8E [$0040W $0000W] #Speed 1&lt;br /&gt;
%patch $30EAC [$0040W $0000W] #Speed 2&lt;br /&gt;
&lt;br /&gt;
#Sliming&lt;br /&gt;
%patch $30ECA [$0040W $0000W] #Speed (Moves after sliming)&lt;br /&gt;
&lt;br /&gt;
#Slime&lt;br /&gt;
%patch $30F24 [$0000W $0000W]&lt;br /&gt;
%patch $30F42 [$0000W $0000W]&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite collision|Sprite Collision]] =&lt;br /&gt;
&lt;br /&gt;
== Collision values ==&lt;br /&gt;
&lt;br /&gt;
The Slug uses its own special collision. It will be killed if hit by Keen&#039;s shots, and kill Keen if he touches it. This is used by the crawling and sliming slugs. Unevaporated slug slime will just kill Keen (Using a general collision) and the stunned slugs and drying slime are harmless. (No collision.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4 collision values&amp;quot;&amp;gt;&lt;br /&gt;
#Crawling&lt;br /&gt;
%patch $30E96 $0FA803EARL #Poison slug&lt;br /&gt;
%patch $30EB4 $0FA803EARL #Poison slug&lt;br /&gt;
&lt;br /&gt;
#Sliming&lt;br /&gt;
%patch $30ED2 $0FA803EARL #Poison slug&lt;br /&gt;
&lt;br /&gt;
#Stunned&lt;br /&gt;
%patch $30EF0 $00000000L #No collision (Tall)&lt;br /&gt;
%patch $30F0E $00000000L #No collision (Short)&lt;br /&gt;
&lt;br /&gt;
#Slime&lt;br /&gt;
%patch $30F2C $09DC1752RL #Kill Keen&lt;br /&gt;
%patch $30F4A $00000000L #No collision&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Collision code ==&lt;br /&gt;
&lt;br /&gt;
It pays to be familiar with the workings of [[Patch:Jump conditions|jump conditions]] in order to use these patches correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Default ===&lt;br /&gt;
&lt;br /&gt;
The default code is moderately complex. The first check if for Keen (The blue $02) if the sprite is Keen&#039;s type, Keen will be killed. ( $9A $0B8013E9RL) The next check is for Keen&#039;s shot (The blue $03) and if this is found the slug will be stunned. Replacing the &#039;kill Keen&#039; code (Marked in brown) with &#039;$90 $90 $90 $90 $90&#039; will make the Slug harmless to Keen, as will replacing the sprite-type check.&lt;br /&gt;
&lt;br /&gt;
Stunning is rather complex. The first step is a probability check; if a randomly picked number is above $0080 then the first type of stunned slug, $206C will be produced, else the second kind $208A will. Finally the slug is made to jump into the air $FFE8 (A negative height.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Slug collision&lt;br /&gt;
%patch $FE6A $55 $8B $EC $56 $57 $8B $76 $06 $8B $7E $08 $83 $3D [$02] {$75} $09 #Check for Keen (Type 2)&lt;br /&gt;
             $9A {$0B8013E9RL}     $5F $5E $5D $CB $83 $3D [$03] {$75} $39 $9A    #If Keen, kill him; check for shot (Type 3)&lt;br /&gt;
         {$1D02002ARL}     $3D [$0080W]  {$7D} $10 $B8 [$206CW]  $50 $57 $56 $9A    #If shot, probability check, if yes become $206C&lt;br /&gt;
         {$09DC1695RL}     $83 $C4 $06 $EB $0E $B8 [$208AW]  $50 $57 $56 $9A    #Else become $208A&lt;br /&gt;
         {$09DC1695RL}     $83 $C4 $06 $C7 $44 $18 [$FFE8W]  $8B $44 $0E $D1 $E0 #Jump into the air $FFE8&lt;br /&gt;
             $D1 $E0 $D1 $E0 $89 $44 $16 $5F $5E $5D $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Only produce one type of stunned Slug ===&lt;br /&gt;
&lt;br /&gt;
This removes the random component from the shot slug, making it always produce the same sprite. It can be seen that the other sprite&#039;s transform code is gone, as is the probability check. The Slug will still jump in the air when shot though.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Slug collision produces only one type of slug&lt;br /&gt;
%patch $FE6A $55 $8B $EC $56 $57 $8B $76 $06 $8B $7E $08 $83 $3D [$02] {$75} $09 #Check for Keen (Type 2)&lt;br /&gt;
         $9A {$0B8013E9RL}     $5F $5E $5D $CB $83 $3D [$03] {$75} $1F $B8     #If Keen, kill him; check for shot (Type 3)&lt;br /&gt;
         [$206CW]  $50 $57 $56 $9A {$09DC1695RL}     $83 $C4 $06 $C7 $44 $18     #If shot, become $206C&lt;br /&gt;
         [$FFE8W]  $8B $44 $0E $D1 $E0 $D1 $E0 $D1 $E0 $89 $44 $16 $5F $5E $5D #Jump into the air $FFE8&lt;br /&gt;
             $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== One type of slug, don&#039;t jump when shot ===&lt;br /&gt;
&lt;br /&gt;
This patch is identical to the above one except the Slug does not jump a distance into the air when shot. This can be combined with other patches; notice that the jump after $03 is not $11 (or 17) less.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Slug collision&lt;br /&gt;
%patch $FE6A $55 $8B $EC $56 $57 $8B $76 $06 $8B $7E $08 $83 $3D [$02] {$75} $09 #Check for Keen (Type 2)&lt;br /&gt;
         $9A $0B8013E9RL     $5F $5E $5D $CB $83 $3D [$03] {$75} $0E $B8         #If Keen, kill him; check for shot (Type 3)&lt;br /&gt;
         [$206CW]  $50 $57 $56 $9A $09DC1695RL     $83 $C4 $06 $5F $5E $5D $CB #If shot, become $206C&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Infinitely shootable Slug ===&lt;br /&gt;
&lt;br /&gt;
This patch will make it such that the slug cannot be stunned, but each time it is shot a stunned slug will appear next to it. This patch must be used carefully, if too many stunned slugs are produced, and they do not vanish, the game will crash. It will be noticed this patch replaces the $8B $76 $06 in the above collision codes (First line) with $90s.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Infinite shootability&lt;br /&gt;
%patch $FE6F $90 $90 $90&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite animations|Animations]] =&lt;br /&gt;
&lt;br /&gt;
The animation scheme of Slugs is simple enough. There are three values for &#039;animation speed&#039; that bear keeping in mind. The first is how long it takes the Poison Slug to slime; slime will be produced when the Poison Slug finishes its sliming action, so making this animation speed shorter decreases the warning Keen gets when a slug slimes. The two slime animation speeds control how fast the slime vanishes. The first controls how long before the slime becomes harmless, the second how long before it vanishes.&lt;br /&gt;
&lt;br /&gt;
The two crawling animation speeds will also affect the Slug&#039;s movement speed, because of the way it moves.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Cache&lt;br /&gt;
%patch $306E6 $013BW #Slug Cache start&lt;br /&gt;
%patch $30730 $0144W #Slug cache end&lt;br /&gt;
&lt;br /&gt;
#Stunned slug&lt;br /&gt;
%patch $30EDC $013EW $013EW #&#039;Tall&#039; slug&lt;br /&gt;
%patch $30EE6 $0000W        #Animation speed&lt;br /&gt;
%patch $30EFA $013FW $013FW #&#039;Short&#039; slug&lt;br /&gt;
%patch $30F04 $0000W        #Animation speed&lt;br /&gt;
&lt;br /&gt;
#Poison slug crawl&lt;br /&gt;
%patch $30E82 $0140W $013BW&lt;br /&gt;
%patch $30E8C $0008W        #Animation speed&lt;br /&gt;
%patch $30EA0 $0141W $013CW&lt;br /&gt;
%patch $30EAA $0008W        #Animation speed&lt;br /&gt;
&lt;br /&gt;
#Poison slug sliming&lt;br /&gt;
%patch $30EBE $0142W $013DW&lt;br /&gt;
%patch $30EC8 $003CW        #Sliming time&lt;br /&gt;
&lt;br /&gt;
#Poison slug slime&lt;br /&gt;
%patch $30F18 $0143W $0143W&lt;br /&gt;
%patch $30F22 $012CW        #Time before half-dry&lt;br /&gt;
%patch $30F36 $0144W $0144W&lt;br /&gt;
%patch $30F40 $003CW        #Time before vanishing&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite Sounds|Sounds]] =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Sound&lt;br /&gt;
%patch $FE18  [$2E] #Sliming sound&lt;br /&gt;
&lt;br /&gt;
#Don&#039;t make sound:&lt;br /&gt;
%patch $FE1B  $90 $90 $90 $90 $90 #Sliming sound&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite positioning|Sprite positioning]] =&lt;br /&gt;
&lt;br /&gt;
If the Slug&#039;s sprite size is changed, its spawn height must also be changed; by default it spawns -7 pixels above the ground. The slug is very sensitive to not being *exactly* on ground level, which results i &#039;air spinning&#039;&lt;br /&gt;
&lt;br /&gt;
The slime&#039;s spawn height ensures that it spawns on ground level instead of level with the Slug&#039;s head. If the Slug&#039;s height is changed this will need to be changed too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Spawn height&lt;br /&gt;
%patch $FDAE [$FF8FW] #7 pixels up&lt;br /&gt;
&lt;br /&gt;
#Slime spawn height&lt;br /&gt;
%patch $FE55 [$0080W] #8 pixels down from Slug top&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite clipping and foreground|Clipping and foreground]] =&lt;br /&gt;
&lt;br /&gt;
The Slug&#039;s foreground variable is set when it is spawned. It appears in front of everything but foreground tiles. The slime&#039;s is similarly set, it will appear behind all foreground tiles and other sprites.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Foreground&lt;br /&gt;
%patch $FD9C  [$0002W] #Poison slug&lt;br /&gt;
%patch $FE49  [$0000W] #Poison Slug slime&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite-tile interaction|Sprite-tile interaction]] =&lt;br /&gt;
&lt;br /&gt;
The Slug has its own special tile collision, used when crawling and sliming. This makes it turn around when it hits walls or the edges of platforms. (This is also what makes it spin madly in the air when the ground vanishes underneath it.) The shot slugs use the shot sprite tile collision as expected and the slime uses a &#039;sit still&#039; collision.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Slugs&lt;br /&gt;
%patch $30E9A $09DC1847RL #Crawling 1&lt;br /&gt;
%patch $30EB8 $09DC1847RL #Crawling 2&lt;br /&gt;
&lt;br /&gt;
%patch $30ED6 $09DC1847RL #Sliming&lt;br /&gt;
&lt;br /&gt;
%patch $30EF4 $09DC1913RL #Stunned tall&lt;br /&gt;
%patch $30F12 $09DC1913RL #Stunned short&lt;br /&gt;
&lt;br /&gt;
%patch $30F30 $09DC176ERL #Slug slime 1&lt;br /&gt;
%patch $30F4E $09DC176ERL #Slug slime 2&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Galaxy Action Parameters#Action_Type|Action type]] =&lt;br /&gt;
&lt;br /&gt;
The Slug action paramter is quite important to how it moves. It is set to 0 for all the slug&#039;s actiosn, meaning that it moves in &#039;jerks&#039; every time it animates. (Thus animation speed also controls its speed.) The shot slugs are value 2, so they can smoothly fly up into the air and land on the ground.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Slugs&lt;br /&gt;
%patch $30E86 [$0000W] #Crawl 1&lt;br /&gt;
%patch $30EA4 [$0000W] #Crawl 2&lt;br /&gt;
&lt;br /&gt;
%patch $30EC2 [$0000W] #Poison slug sliming&lt;br /&gt;
&lt;br /&gt;
%patch $30F1C [$0000W] #Poison slug slime 1&lt;br /&gt;
%patch $30F3A [$0000W] #Poison slug slime 2&lt;br /&gt;
&lt;br /&gt;
%patch $30EF0 [$0002W] #Stunned A&lt;br /&gt;
%patch $30EFE [$0002W] #Stunned B&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Galaxy Action Parameters#Deprotect_Animation|Deprotect and stick to ground]] =&lt;br /&gt;
&lt;br /&gt;
The Slug has a &#039;stick to ground&#039; value of 1 for most of its actions, as it needs to crawl up and down hills. (The stunned slugs and slime are exempt of course.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Slugs&lt;br /&gt;
%patch $30E88 [$0000W $0001W] #Crawl 1&lt;br /&gt;
%patch $30EA6 [$0000W $0001W] #Crawl 2&lt;br /&gt;
&lt;br /&gt;
%patch $30EC4 [$0000W $0001W] #Sliming&lt;br /&gt;
&lt;br /&gt;
%patch $30EE2 [$0000W $0000W] #Stunned A&lt;br /&gt;
%patch $30F00 [$0000W $0000W] #Stunned B&lt;br /&gt;
&lt;br /&gt;
%patch $30F1E [$0000W $0000W] #Slime 1&lt;br /&gt;
%patch $30F3C [$0000W $0000W] #Slime 2&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Probability|Probability and randomness]] =&lt;br /&gt;
&lt;br /&gt;
There are three opportunities for randomness in the Slug, how often it slimes, which of the two sprites it produces when shot and what direction it initially moves in. The slug has a 50/50 chance of initially moving right or left and of producing the short or tall stunned slugs when shot. Its probability of sliming is much, much lower, and changing this can have a big effect on the slug&#039;s behavior.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Spawn moving right or left&lt;br /&gt;
%patch $FDB9 [$80]&lt;br /&gt;
&lt;br /&gt;
#Sliming frequency&lt;br /&gt;
%patch $FDF6 [$10]&lt;br /&gt;
&lt;br /&gt;
#Probability of shot slug being &#039;small&#039;&lt;br /&gt;
%patch $FE8E [$80]&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[Patch:Sprite spawning|Sprite spawn code]] =&lt;br /&gt;
&lt;br /&gt;
In the initiation code notice the difficulty checks, allowing three difficulties of Slug, as well as the [[Patch:Sprite cache|Slug cache]] being set (&amp;lt;tt&amp;gt;$C7 $06 $51 $CB $0001W&amp;lt;/tt&amp;gt;.)&lt;br /&gt;
&lt;br /&gt;
In the spawning code the last blue highlighted value is the [[Patch:Sprite actions|sprite action]] the sprite uses as it proceeds to act in-level. &amp;lt;tt&amp;gt;$C7 $02 $xxxxW&amp;lt;/tt&amp;gt; sets the [[Patch:Galaxy Sprite Parameters#Sprite_activity|sprite activity,]] &amp;lt;tt&amp;gt;$C7 $07 $xxxxW&amp;lt;/tt&amp;gt; sets the [[Patch:Sprite type|sprite type,]] &amp;lt;tt&amp;gt;$C7 $20 $xxxxW&amp;lt;/tt&amp;gt; sets the [[Patch:Sprite clipping and foreground|foreground value.]] Finally &amp;lt;tt&amp;gt;$D3 $E0 $05 $xxxx&amp;lt;/tt&amp;gt; is how far down (Or more usually &#039;&#039;up&#039;&#039;) the sprite is spawned from where it is placed. This is necessary for sprites that walk on the ground as they can only be placed in the level at multiples of 16 pixels high while their actual height can be anything.&lt;br /&gt;
&lt;br /&gt;
The Slug always starts the level moving down. (Odd, it has no reason to.) &amp;lt;tt&amp;gt;$C7 $47 $10 $xxxxW&amp;lt;/tt&amp;gt; is the vertical direction the sprite starts moving in, either $0001W (Facing down), $FFFFW (Facing up) or $0000W (Neither, never used.) There is however randomness in what horizontal direction the Slug spawns with. A 50:50 [[Patch:Probability|probability check]] is made which causes the Slug to spawn either facing left ($FFFFW) or right ($0001W; &amp;lt;tt&amp;gt;$C7 $47 $0E $xxxxW&amp;lt;/tt&amp;gt; is the horizontal direction.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Location of initiation code&lt;br /&gt;
%patch $EEAF [$0338W] #Easy Slug (At $EC28)&lt;br /&gt;
%patch $EED9 [$032EW] #Medium Slug (At $EC1E)&lt;br /&gt;
%patch $EEDB [$0324W] #Hard Slug (At $EC14)&lt;br /&gt;
&lt;br /&gt;
#Slug Initiation code&lt;br /&gt;
%patch $EC14 $83 $3E [$7A6CW]  {$03 $7D} $03 $E9 $01DFW  $83 $3E [$7A6CW]  {$02 $7D}&lt;br /&gt;
             $03 $E9 $01D5W  $FF $76 $FC $57 $9A {$0FA802FERL}     $83 $C4 $04&lt;br /&gt;
             $C7 $06 $51 $CB $0001W  $E9 $01C0W&lt;br /&gt;
&lt;br /&gt;
#Slug Spawning code&lt;br /&gt;
%patch $FD7E  $55 $8B $EC $33 $C0 $50 $9A $06BD1E11RL     $83 $C4 $02 $8B $1E&lt;br /&gt;
              $D8 $A7 $C7 $07 [$0005W]  $C7 $47 $02 [$0001W]  $C7 $47 $20 [$0002W]&lt;br /&gt;
              $8B $46 $06 $B1 $08 $D3 $E0 $89 $47 $0A $8B $46 $08 $D3 $E0 $05&lt;br /&gt;
              [$FF8FW]  $89 $47 $0C $9A $1D02002ARL     $3D {$0080W}  $7D $0B $8B&lt;br /&gt;
              $1E $D8 $A7 $C7 $47 $0E [$0001W]  $EB $09 $8B $1E $D8 $A7 $C7 $47&lt;br /&gt;
              $0E [$FFFFW]  $8B $1E $D8 $A7 $C7 $47 $10 [$0001W]  $B8 [$2012W]  $50&lt;br /&gt;
              $53 $9A $09DC118CRL     $83 $C4 $04 $5D $CB&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Misc =&lt;br /&gt;
&lt;br /&gt;
This section contains patches that do not fit in any other section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Slug chases Keen, fires at him ==&lt;br /&gt;
&lt;br /&gt;
This patch makes the Poison Slug chase Keen (using the [[Patch:Inchworm|Inchworm behavior]].) and makes its slime fly through the air like a shot. The slime will also head towards Keen no matter which way the Slug is facing. (So the first line can be removed, making the Slug not chase Keen and it will still fire towards him.)&lt;br /&gt;
&lt;br /&gt;
This patch is incompatible with the Slug slime spawn height and action patches as it already contains them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;patch title=&amp;quot;Keen 4&amp;quot;&amp;gt;&lt;br /&gt;
#Slug uses Inchworm behavior&lt;br /&gt;
%patch $30E92 $10800770RL&lt;br /&gt;
&lt;br /&gt;
#Spawn special Slug slime action&lt;br /&gt;
%patch $FE5B $0004W&lt;br /&gt;
&lt;br /&gt;
#Slime spawn height (Higher, in air)&lt;br /&gt;
%patch $FE55 $00F0W&lt;br /&gt;
&lt;br /&gt;
#Slug slime heads in Keen&#039;s direction = $0004W&lt;br /&gt;
%patch $2EE74 $0143W $0143W $0001W $0000W $0000W $0004W $0000W $0000W&lt;br /&gt;
              $10800770RL   $09DC1752RL   $11A20CA1RL   $20A8W&lt;br /&gt;
&lt;br /&gt;
#Slug slime moves through the air =$20A8W&lt;br /&gt;
%patch $30F18 $0143W $0143W $0001W $0000W $0000W $0004W $0040W $0000W&lt;br /&gt;
              $00000000L    $09DC1752RL   $11A20CA1RL   $20C6W&lt;br /&gt;
%patch $30F36 $0144W $0144W $0001W $0000W $0000W $0004W $0040W $0000W&lt;br /&gt;
              $00000000L    $09DC1752RL   $11A20CA1RL   $20A8W&amp;lt;/patch&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{PatchCategories|Keen 4|}}&lt;br /&gt;
{{PatchCategories|Sprite|}}&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Das_Viva&amp;diff=25397</id>
		<title>Das Viva</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Das_Viva&amp;diff=25397"/>
		<updated>2014-01-29T15:40:23Z</updated>

		<summary type="html">&lt;p&gt;MoffD: Someone left out the s in &amp;#039;Authors&amp;#039; for the template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Fangame Infobox&lt;br /&gt;
| Status = Completed&lt;br /&gt;
| Genre = Platform&lt;br /&gt;
| Authors = [[User:Commander Spleen|Commander Spleen]]&lt;br /&gt;
| ReleaseDate = 2004&lt;br /&gt;
| Download = [http://www.shikadi.net/wiki/files/Fangames/DasViva.zip from KeenWiki]&amp;lt;br/&amp;gt;[http://www.dll-files.com/dllindex/dll-files.shtml?cncs32 cncs32.dll]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Das Viva&#039;&#039;&#039; is a Minigame released by [[User:Commander Spleen|Commander Spleen]] in 2004. You play as the flying [[Viva]] from [[Keen 6]]. You move it using the arrow keys, and fly pushing the ctrl-key repeatedly. The goal is to rescue all of the non flying Vivas. To do so you have to get a [[Raindrop]]. Beware of Viva-Eating-Plants hanging from the ceiling. There are switches to open doors. Push &amp;quot;up&amp;quot; to use such a switch when flying in front of it.&lt;br /&gt;
The game features 2 levels that can be done in a few minutes. &lt;br /&gt;
&lt;br /&gt;
The game is compiled neatly with no major bugs. To run, however, you need the file cncs32.dll placed in the game directory. This file is not included in the .zip provided, but can be downloaded from the internet.&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Talk:Das_Viva&amp;diff=25328</id>
		<title>Talk:Das Viva</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Talk:Das_Viva&amp;diff=25328"/>
		<updated>2014-01-15T16:08:54Z</updated>

		<summary type="html">&lt;p&gt;MoffD: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Download link broken&lt;br /&gt;
[[User:Lemm|Lemm]] 01:19, 11 May 2010 (GMT)&lt;br /&gt;
:Fixed -- [[User:Malvineous|Malvineous]] 12:52, 11 May 2010 (GMT)&lt;br /&gt;
&lt;br /&gt;
Cncs32.dll &#039;&#039;is&#039;&#039; included in the zip...  -- [[User:DHeadshot|DHeadshot]] 21:34, 12 May 2010 (GMT)&lt;br /&gt;
:This is a wiki, you can make these corrections in the article yourself :-P -- [[User:Malvineous|Malvineous]] 05:11, 15 May 2010 (GMT)&lt;br /&gt;
::Correct me if I&#039;m wrong, but the &amp;quot;Author&amp;quot; tag in the infobox is not displaying properly. I would fix it but I&#039;m not sure what&#039;s causing it yet - [[User:MoffD|MoffD]] ([[User talk:MoffD|talk]]) 16:08, 15 January 2014 (GMT)&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Keen_5_Bugs&amp;diff=25151</id>
		<title>Keen 5 Bugs</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Keen_5_Bugs&amp;diff=25151"/>
		<updated>2013-12-06T00:45:57Z</updated>

		<summary type="html">&lt;p&gt;MoffD: /* Keen floating */  just adding some extra information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the bugs, odd behaviours and unexpected actions that have been discovered in [[Keen 5]].&lt;br /&gt;
&lt;br /&gt;
== Die but win ==&lt;br /&gt;
&lt;br /&gt;
This is probably the most commonly seen trick. If, at the end of Keen 5 in the [[Quantum Explosion Dynamo]] Keen is too close to the [[Shikadi Mine]] he is using to destroy it, he will be killed along with the Q.E.D. However, the game will then end with Keen unharmed and victorious. Likewise, it is possible to break a fuse but still be killed by an enemy, and win the level.&lt;br /&gt;
&lt;br /&gt;
== Shelley/Door Trick ==&lt;br /&gt;
&lt;br /&gt;
This trick allows you to warp to the secret level from level 10, the [[Brownian Motion Inducer]]. It only works in [[Keen 5 Versions|version 1.4]], as this is the only version in which the shellies can push Keen.&lt;br /&gt;
&lt;br /&gt;
* Start a game in Hard mode.&lt;br /&gt;
* Go to the [[Brownian Motion Inducer]] (The North globe level.)&lt;br /&gt;
* Make it to the area with the long hallway, where there are three small rooms above you with doors in them.&lt;br /&gt;
* In one of the small rooms, have a shelley push you towards the door. (Make sure you kill the [[Sparky]] first!).&lt;br /&gt;
* As you go past the door, press up, as if you were going to enter it. If done with correct timing, you should go through the door, and warp to [[Korath III Base]]. Alternatively, you can have the shellies on the right ledges push you while they jump down; this works on any difficulty.&lt;br /&gt;
&lt;br /&gt;
This trick can be used in speed runs to get through the game incredibly fast. It allows you to skip 6 levels (3 Defense Tunnels and 3 Machine levels), since the secret level will then warp you up to the area where the last two levels are. This glitch can also be preformed with a [[Little Ampton]] in the first level by having it push you on a pole (seen [http://www.youtube.com/watch?v=NZX8x0lMp94&amp;amp;t=6s here]), but it is much more difficult.&lt;br /&gt;
&lt;br /&gt;
== Exit Omegamatic ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Keen5_Outside.png|frame|Outside the Omegamatic.]]&lt;br /&gt;
&lt;br /&gt;
This is probably the least known bug in the game. It allows you to walk around in space outside the [[Omegamatic]] in the map level.&lt;br /&gt;
&lt;br /&gt;
* Start out by getting to the last level, the [[Quantum Explosion Dynamo]].&lt;br /&gt;
* On the map level, stand over to the very right side, against the wall of the tunnel.  Stand right outside the globe. Enter the level.&lt;br /&gt;
* Die. This is probably quickest by running into the [[Spindred]]s up above where you start.&lt;br /&gt;
* Choose to return to the Omegamatic.&lt;br /&gt;
* If done correctly, you should be halfway inside the wall of the tunnel. Just move to the right to get out, or remain idle until Keen does his waving animation, which will cause him to be displaced some distance out of the wall. Be warned: You cannot get back into the Omegamatic once you do this (unless you use cheats).&lt;br /&gt;
&lt;br /&gt;
This cannot do anything for you, not even getting to the secret level. It is just a fun trick that allows you to see all of the map, including the yellow around the outside.&lt;br /&gt;
&lt;br /&gt;
This trick can also be done in the [[Regulation Control Center]], and possibly the other domes, due to their odd collision boxes.&lt;br /&gt;
&lt;br /&gt;
== Secret Elevator ==&lt;br /&gt;
&lt;br /&gt;
There is a secret bug elevator hidden outside of the map.&lt;br /&gt;
&lt;br /&gt;
* First, use the above bug (Exit Omegamatic) to get outside.&lt;br /&gt;
* Now, go up to the yellow at the top of the map.&lt;br /&gt;
* Go over to about where the left corner of the map is, and walk up near the top edge.&lt;br /&gt;
* Somewhere around here, if you try and walk north, you will &amp;quot;walk into&amp;quot; an elevator, and disappear. This will freeze the game, so you should probably use DOSbox to do it.&lt;br /&gt;
&lt;br /&gt;
This bug is caused by the fact that the game code requires the elevator tiles to be placed in the top of the map, above the view of the player. Although you cannot see the actual tiles, you can still walk into them, causing the player to enter a non-existent elevator.&lt;br /&gt;
&lt;br /&gt;
== Fuse Structure Typo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Fuse_sign.png|thumb|160px|The sign in question.]]&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Warning: Fuse Structure Fragile&amp;quot; actually reads &amp;quot;Warning: Fuse Strcture Fragile&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Enter the [[Regulation Control Center]] or [[Energy Flow Systems]].&lt;br /&gt;
* Read the sign by the fuse.&lt;br /&gt;
&lt;br /&gt;
The sign is also in [[Brownian Motion Inducer]], but the part of the sign where the typo occurs is obscured by the machine.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Typo in High Scores entrance ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Keen5_Lev15Typo.png|thumb|320px|High Scores level entry text typo.]]&lt;br /&gt;
&lt;br /&gt;
The [[High Scores (Keen 5 Level)|High Scores level]] is inaccessible from the world-map; however, there are [[High Scores (Keen 5 Level)|three alternative ways]] to reach it.&lt;br /&gt;
&lt;br /&gt;
When using two of the methods (level warp cheat and [[TED5|TEDLEVEL]] command line), you will see the entrance text for each level. In the particular case of the High Scores level, there is a typo (an absent space between &amp;quot;the&amp;quot; and &amp;quot;High&amp;quot;) in the text, which might not be considered a true bug as this text was never supposed to be shown to the player.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lure Robo Red off a ledge ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Robored_bug.png|thumb|320px|Robo Red is a bit lost.]]&lt;br /&gt;
&lt;br /&gt;
[[Robo Red]] can be lured off the edge of a ledge by getting its attention at just the right moment. The best way to do it is to shoot it right when it is on the edge. Robo Red always moves a certain distance after it shoots (so be careful) in the direction its attention is focused to, and it seems on those occasions the game does not check whether the next tile on the robot&#039;s path is solid or not, and thus the robot may end up in air. It can be moved further by shooting it more. In the air it appears to be twisting because on its both sides the tiles are non-solid, which usually tells it it is time to turn around, which it does now too, but cannot find solid land on the opposite direction either, turning around again, and so on.&lt;br /&gt;
&lt;br /&gt;
* There is a YouTube video showing [http://www.youtube.com/watch?v=ojtqq4IX0RI Robo Red being lured off a ledge]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Do not fall off a rotating block ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Keen5_RotatingBlockBug.png|frame|Do not look down!]]&lt;br /&gt;
&lt;br /&gt;
Certain actions of Keen&#039;s are immune to gravity. If Keen is looking up or down or ledgegripping, he cannot fall. Looking up on a rotating block will allow Keen to stay on it when it flips. If he then stops looking up when the block is flat, he can stand normally on the block when it spins until his &amp;quot;bored&amp;quot; animations start.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Trapped Secret Area ==&lt;br /&gt;
&lt;br /&gt;
At the end of [[Defense Tunnel Sorra]] is a small secret area next to a ceiling-mounted laser cannon; jumping correctly will allow Keen to climb inside the wall to collect some points, but it is impossible to get out again without cheating.&lt;br /&gt;
&lt;br /&gt;
== [[Shelley]]-ular errors ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Keen5_ShelleyBug.png|frame|Keen appears in front of the green foreground tiles.]]&lt;br /&gt;
&lt;br /&gt;
There are two different clipping errors having to do with [[Shelley]]s. One, you can force a Shelley to freeze itself onto a slanted platform. Go to the top of [[Neutrino Burst Injector]] in Hard mode, then get a Shelley on screen. Stand on a slanted part of the floor and wait. The Shelley will collide with you, then freeze with its leg in the platform. This makes it easy to jump over the Shelley.&lt;br /&gt;
&lt;br /&gt;
Two, you can force a Shelley off an edge and in some conditions, like the top of the machine in [[Brownian Motion Inducer]], onto a different ledge. Make the Shelley stand on an edge, stand behind the it and wait for it to reverse direction. The Shelley will be a bit off its platform.  Push it gently to make it go farther. If you do it for a long time, the Shelley may make it onto another ledge and start walking normally there.&lt;br /&gt;
&lt;br /&gt;
See a video [http://home.mchsi.com/~bootsisbig/keen5e_000.avi here].&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Keen appears in front of foreground ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Keen5_PoleBug.png|frame|Keen appears in front of the green foreground tiles.]]&lt;br /&gt;
&lt;br /&gt;
If Keen grabs onto the pole section behind green foreground tiles located in the upper leftmost corner of [[Regulation Control Center]] while jumping or pogoing, he occasionally appears in front of them.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unobtainable candy ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Candybug.png‎|frame|Unobtainable candy, highlighted with patches.]]&lt;br /&gt;
&lt;br /&gt;
In Defense Tunnel Teln, there is a secret passage containing four pieces of candy. Only three of these are obtainable, the fourth is in a solid tile. This is impossible to see without patches.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Spindred Trap ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SpindredTrap.png‎‎|frame|Trapped Spindred.]]&lt;br /&gt;
&lt;br /&gt;
In the [[Quantum Explosion Dynamo]] (and maybe some other stages), it&#039;s possible to trap the two hazardous [[Spindred]]s by flicking the switch at the right time; flicking enough times will result in them being trapped in the left side of the pit, where they become more of a nuisence then a hazard. This bug involves the spindred&#039;s collision properties, but because a wall suddenly appears, it will slide off to one side, in the same manner as Keen when no-clip is suddenly turned off when he is in a wall.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tile bug in Korath base ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Korathbug.png‎‎|frame|The single tile bug in the Korath base.]]&lt;br /&gt;
&lt;br /&gt;
In the secret [[Korath III Base]], there is a single tile error in how the level is put together, which was missed by the level designers.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Invisible Pole ==&lt;br /&gt;
&lt;br /&gt;
In the second level you can jump up into the air and grab onto an invisible pole.  Pressing any of the arrow keys will make you fall off. You can grab onto it by jumping into the air about halfway up the first slanted corridor.&lt;br /&gt;
&lt;br /&gt;
[[Image:Keen5_Glitch.png|frame|The invisible pole bug.]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Keen Ampton Push Glitch ==&lt;br /&gt;
&lt;br /&gt;
If Keen is placing a gem, he can be pushed off the gem holder. When this happens he is no longer on the right tile to place the gem and is stuck in his &#039;gem placing&#039; behavior, with the player being utterly unable to control him. This can be done by any sprite that can push the player, such as a platform or [[Little Ampton]]. Notably, Keen does not respond to gravity in this position and so can be pushed off slopes into midair. Similarly, Keen &#039;slides&#039; to align himself with the keyholder, so if pushed off at the right time will slide around the level by himself.&lt;br /&gt;
&lt;br /&gt;
The player can regain control if Keen is killed, placed on a moving platform, hits a wall or is pushed back onto the gem holder. (This doesn&#039;t have to be the same gem holder he was on; if he places a red gem, is interrupted and then pushed onto a green gem holder he will open the green door, get -1 and green gems.)&lt;br /&gt;
&lt;br /&gt;
In the example shown here an Ampton pushed the player off the keyholder, which resulted in them sliding left, up the slope. On reaching the top of the slope they reversed direction, moving through the air until they hit a wall (The door) which reset Keen. God mode was enabled for this, but is not necessary.&lt;br /&gt;
[[Image:Keen_ampton_push_glitch.png|frame|Hovercraft Keen!.]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Keen floating ==&lt;br /&gt;
&lt;br /&gt;
In the Middle-Right section of the [[Gravitational Damping Hub]], there are four lifts that pass directly above a pole. If Keen jumps onto the pole as the lift passes over and the up arrow key is held, Keen will levitate near the top of the pole, however if Keen grabs the pole after touching the lift without holding the up arrow key, he will simply be pushed off and fall.&lt;br /&gt;
[[Image:Keen-levitating.png|frame|Keen floating]]&lt;br /&gt;
[[Category:Keen 5]]&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=Keen_5_Bugs&amp;diff=25150</id>
		<title>Keen 5 Bugs</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=Keen_5_Bugs&amp;diff=25150"/>
		<updated>2013-12-06T00:40:32Z</updated>

		<summary type="html">&lt;p&gt;MoffD: added a minor glitch caused by poles and lifts. if Lass or someone wants to explain the cause in detail below, that would be great.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists all the bugs, odd behaviours and unexpected actions that have been discovered in [[Keen 5]].&lt;br /&gt;
&lt;br /&gt;
== Die but win ==&lt;br /&gt;
&lt;br /&gt;
This is probably the most commonly seen trick. If, at the end of Keen 5 in the [[Quantum Explosion Dynamo]] Keen is too close to the [[Shikadi Mine]] he is using to destroy it, he will be killed along with the Q.E.D. However, the game will then end with Keen unharmed and victorious. Likewise, it is possible to break a fuse but still be killed by an enemy, and win the level.&lt;br /&gt;
&lt;br /&gt;
== Shelley/Door Trick ==&lt;br /&gt;
&lt;br /&gt;
This trick allows you to warp to the secret level from level 10, the [[Brownian Motion Inducer]]. It only works in [[Keen 5 Versions|version 1.4]], as this is the only version in which the shellies can push Keen.&lt;br /&gt;
&lt;br /&gt;
* Start a game in Hard mode.&lt;br /&gt;
* Go to the [[Brownian Motion Inducer]] (The North globe level.)&lt;br /&gt;
* Make it to the area with the long hallway, where there are three small rooms above you with doors in them.&lt;br /&gt;
* In one of the small rooms, have a shelley push you towards the door. (Make sure you kill the [[Sparky]] first!).&lt;br /&gt;
* As you go past the door, press up, as if you were going to enter it. If done with correct timing, you should go through the door, and warp to [[Korath III Base]]. Alternatively, you can have the shellies on the right ledges push you while they jump down; this works on any difficulty.&lt;br /&gt;
&lt;br /&gt;
This trick can be used in speed runs to get through the game incredibly fast. It allows you to skip 6 levels (3 Defense Tunnels and 3 Machine levels), since the secret level will then warp you up to the area where the last two levels are. This glitch can also be preformed with a [[Little Ampton]] in the first level by having it push you on a pole (seen [http://www.youtube.com/watch?v=NZX8x0lMp94&amp;amp;t=6s here]), but it is much more difficult.&lt;br /&gt;
&lt;br /&gt;
== Exit Omegamatic ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Keen5_Outside.png|frame|Outside the Omegamatic.]]&lt;br /&gt;
&lt;br /&gt;
This is probably the least known bug in the game. It allows you to walk around in space outside the [[Omegamatic]] in the map level.&lt;br /&gt;
&lt;br /&gt;
* Start out by getting to the last level, the [[Quantum Explosion Dynamo]].&lt;br /&gt;
* On the map level, stand over to the very right side, against the wall of the tunnel.  Stand right outside the globe. Enter the level.&lt;br /&gt;
* Die. This is probably quickest by running into the [[Spindred]]s up above where you start.&lt;br /&gt;
* Choose to return to the Omegamatic.&lt;br /&gt;
* If done correctly, you should be halfway inside the wall of the tunnel. Just move to the right to get out, or remain idle until Keen does his waving animation, which will cause him to be displaced some distance out of the wall. Be warned: You cannot get back into the Omegamatic once you do this (unless you use cheats).&lt;br /&gt;
&lt;br /&gt;
This cannot do anything for you, not even getting to the secret level. It is just a fun trick that allows you to see all of the map, including the yellow around the outside.&lt;br /&gt;
&lt;br /&gt;
This trick can also be done in the [[Regulation Control Center]], and possibly the other domes, due to their odd collision boxes.&lt;br /&gt;
&lt;br /&gt;
== Secret Elevator ==&lt;br /&gt;
&lt;br /&gt;
There is a secret bug elevator hidden outside of the map.&lt;br /&gt;
&lt;br /&gt;
* First, use the above bug (Exit Omegamatic) to get outside.&lt;br /&gt;
* Now, go up to the yellow at the top of the map.&lt;br /&gt;
* Go over to about where the left corner of the map is, and walk up near the top edge.&lt;br /&gt;
* Somewhere around here, if you try and walk north, you will &amp;quot;walk into&amp;quot; an elevator, and disappear. This will freeze the game, so you should probably use DOSbox to do it.&lt;br /&gt;
&lt;br /&gt;
This bug is caused by the fact that the game code requires the elevator tiles to be placed in the top of the map, above the view of the player. Although you cannot see the actual tiles, you can still walk into them, causing the player to enter a non-existent elevator.&lt;br /&gt;
&lt;br /&gt;
== Fuse Structure Typo ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Fuse_sign.png|thumb|160px|The sign in question.]]&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Warning: Fuse Structure Fragile&amp;quot; actually reads &amp;quot;Warning: Fuse Strcture Fragile&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Enter the [[Regulation Control Center]] or [[Energy Flow Systems]].&lt;br /&gt;
* Read the sign by the fuse.&lt;br /&gt;
&lt;br /&gt;
The sign is also in [[Brownian Motion Inducer]], but the part of the sign where the typo occurs is obscured by the machine.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Typo in High Scores entrance ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Keen5_Lev15Typo.png|thumb|320px|High Scores level entry text typo.]]&lt;br /&gt;
&lt;br /&gt;
The [[High Scores (Keen 5 Level)|High Scores level]] is inaccessible from the world-map; however, there are [[High Scores (Keen 5 Level)|three alternative ways]] to reach it.&lt;br /&gt;
&lt;br /&gt;
When using two of the methods (level warp cheat and [[TED5|TEDLEVEL]] command line), you will see the entrance text for each level. In the particular case of the High Scores level, there is a typo (an absent space between &amp;quot;the&amp;quot; and &amp;quot;High&amp;quot;) in the text, which might not be considered a true bug as this text was never supposed to be shown to the player.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lure Robo Red off a ledge ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Robored_bug.png|thumb|320px|Robo Red is a bit lost.]]&lt;br /&gt;
&lt;br /&gt;
[[Robo Red]] can be lured off the edge of a ledge by getting its attention at just the right moment. The best way to do it is to shoot it right when it is on the edge. Robo Red always moves a certain distance after it shoots (so be careful) in the direction its attention is focused to, and it seems on those occasions the game does not check whether the next tile on the robot&#039;s path is solid or not, and thus the robot may end up in air. It can be moved further by shooting it more. In the air it appears to be twisting because on its both sides the tiles are non-solid, which usually tells it it is time to turn around, which it does now too, but cannot find solid land on the opposite direction either, turning around again, and so on.&lt;br /&gt;
&lt;br /&gt;
* There is a YouTube video showing [http://www.youtube.com/watch?v=ojtqq4IX0RI Robo Red being lured off a ledge]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Do not fall off a rotating block ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Keen5_RotatingBlockBug.png|frame|Do not look down!]]&lt;br /&gt;
&lt;br /&gt;
Certain actions of Keen&#039;s are immune to gravity. If Keen is looking up or down or ledgegripping, he cannot fall. Looking up on a rotating block will allow Keen to stay on it when it flips. If he then stops looking up when the block is flat, he can stand normally on the block when it spins until his &amp;quot;bored&amp;quot; animations start.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear: both;&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Trapped Secret Area ==&lt;br /&gt;
&lt;br /&gt;
At the end of [[Defense Tunnel Sorra]] is a small secret area next to a ceiling-mounted laser cannon; jumping correctly will allow Keen to climb inside the wall to collect some points, but it is impossible to get out again without cheating.&lt;br /&gt;
&lt;br /&gt;
== [[Shelley]]-ular errors ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Keen5_ShelleyBug.png|frame|Keen appears in front of the green foreground tiles.]]&lt;br /&gt;
&lt;br /&gt;
There are two different clipping errors having to do with [[Shelley]]s. One, you can force a Shelley to freeze itself onto a slanted platform. Go to the top of [[Neutrino Burst Injector]] in Hard mode, then get a Shelley on screen. Stand on a slanted part of the floor and wait. The Shelley will collide with you, then freeze with its leg in the platform. This makes it easy to jump over the Shelley.&lt;br /&gt;
&lt;br /&gt;
Two, you can force a Shelley off an edge and in some conditions, like the top of the machine in [[Brownian Motion Inducer]], onto a different ledge. Make the Shelley stand on an edge, stand behind the it and wait for it to reverse direction. The Shelley will be a bit off its platform.  Push it gently to make it go farther. If you do it for a long time, the Shelley may make it onto another ledge and start walking normally there.&lt;br /&gt;
&lt;br /&gt;
See a video [http://home.mchsi.com/~bootsisbig/keen5e_000.avi here].&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Keen appears in front of foreground ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Keen5_PoleBug.png|frame|Keen appears in front of the green foreground tiles.]]&lt;br /&gt;
&lt;br /&gt;
If Keen grabs onto the pole section behind green foreground tiles located in the upper leftmost corner of [[Regulation Control Center]] while jumping or pogoing, he occasionally appears in front of them.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Unobtainable candy ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Candybug.png‎|frame|Unobtainable candy, highlighted with patches.]]&lt;br /&gt;
&lt;br /&gt;
In Defense Tunnel Teln, there is a secret passage containing four pieces of candy. Only three of these are obtainable, the fourth is in a solid tile. This is impossible to see without patches.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Spindred Trap ==&lt;br /&gt;
&lt;br /&gt;
[[Image:SpindredTrap.png‎‎|frame|Trapped Spindred.]]&lt;br /&gt;
&lt;br /&gt;
In the [[Quantum Explosion Dynamo]] (and maybe some other stages), it&#039;s possible to trap the two hazardous [[Spindred]]s by flicking the switch at the right time; flicking enough times will result in them being trapped in the left side of the pit, where they become more of a nuisence then a hazard. This bug involves the spindred&#039;s collision properties, but because a wall suddenly appears, it will slide off to one side, in the same manner as Keen when no-clip is suddenly turned off when he is in a wall.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tile bug in Korath base ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Korathbug.png‎‎|frame|The single tile bug in the Korath base.]]&lt;br /&gt;
&lt;br /&gt;
In the secret [[Korath III Base]], there is a single tile error in how the level is put together, which was missed by the level designers.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Invisible Pole ==&lt;br /&gt;
&lt;br /&gt;
In the second level you can jump up into the air and grab onto an invisible pole.  Pressing any of the arrow keys will make you fall off. You can grab onto it by jumping into the air about halfway up the first slanted corridor.&lt;br /&gt;
&lt;br /&gt;
[[Image:Keen5_Glitch.png|frame|The invisible pole bug.]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Keen Ampton Push Glitch ==&lt;br /&gt;
&lt;br /&gt;
If Keen is placing a gem, he can be pushed off the gem holder. When this happens he is no longer on the right tile to place the gem and is stuck in his &#039;gem placing&#039; behavior, with the player being utterly unable to control him. This can be done by any sprite that can push the player, such as a platform or [[Little Ampton]]. Notably, Keen does not respond to gravity in this position and so can be pushed off slopes into midair. Similarly, Keen &#039;slides&#039; to align himself with the keyholder, so if pushed off at the right time will slide around the level by himself.&lt;br /&gt;
&lt;br /&gt;
The player can regain control if Keen is killed, placed on a moving platform, hits a wall or is pushed back onto the gem holder. (This doesn&#039;t have to be the same gem holder he was on; if he places a red gem, is interrupted and then pushed onto a green gem holder he will open the green door, get -1 and green gems.)&lt;br /&gt;
&lt;br /&gt;
In the example shown here an Ampton pushed the player off the keyholder, which resulted in them sliding left, up the slope. On reaching the top of the slope they reversed direction, moving through the air until they hit a wall (The door) which reset Keen. God mode was enabled for this, but is not necessary.&lt;br /&gt;
[[Image:Keen_ampton_push_glitch.png|frame|Hovercraft Keen!.]]&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Keen floating ==&lt;br /&gt;
&lt;br /&gt;
In the Middle-Right of the [[Gravitational Damping Hub]], there are four lifts that pass directly above a pole. If Keen jumps onto the pole as the lift passes over and the up arrow key is held, Keen will levitate near the top of the pole.&lt;br /&gt;
[[Image:Keen-levitating.png|frame|Keen floating]]&lt;br /&gt;
[[Category:Keen 5]]&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
	<entry>
		<id>https://keenwiki.shikadi.net/w/index.php?title=File:Keen-levitating.png&amp;diff=25149</id>
		<title>File:Keen-levitating.png</title>
		<link rel="alternate" type="text/html" href="https://keenwiki.shikadi.net/w/index.php?title=File:Keen-levitating.png&amp;diff=25149"/>
		<updated>2013-12-06T00:34:25Z</updated>

		<summary type="html">&lt;p&gt;MoffD: Keen levitating at the top of a pole in the Gravitational Damping Hub&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Keen levitating at the top of a pole in the [[Gravitational Damping Hub]]&lt;/div&gt;</summary>
		<author><name>MoffD</name></author>
	</entry>
</feed>