Keen 1 Randomiser

About

The 2020 'Best 30th Anniversary Tribute' Trophy

The Keen 1 Randomiser lets you play Keen1 with a twist: items, levels, and enemies are all randomised.

The randomiser takes a copy of Keen 1, and rewrites the level files to give you a new experience. It also creates a CK1PATCH-compatible patch file which loads the replacement files and patches the random number seed in.

The Keen 1 Randomiser won the 2020 Keen Award for Best 30th Anniversary Tribute!


What does it change?

  • Entrances to all levels on the world map are randomised.
  • Positions of key items (spaceship parts and pogo stick) are randomised.
  • It's not possible to leave a level by the exit door if you haven't collected a spaceship part.
  • Enemy positions are shuffled (within a level).
  • Point items (lollies) are shuffled within a level.
  • Door colours and Keycard locations are randomised (within a level).
  • Some block colours are randomised.
  • Yorp statues now hint at item locations.
  • You can see the random number seed on the Status Screen and Main Menu

Note that there are some things which don't change:

  • Level layouts remain the same (except for item positions).
  • Raygun ammo remains where it is in the original game.
  • There is always a Pogo Stick at the bottom of the Vorticon Commander's Castle
  • The Garg statue remains unhelpful.
  • The world map looks identical (but the levels within are different)

How do I use it?

Just run RNDKEEN1.BAT: a differently-randomised version of the game will greet you each time you play.

If you want to replay the same game (or have several people play the same randomised version), you can pass a random number seed to the randomiser:
C:\RANDKEEN⟩ RNDKEEN1 /SEED 12345 (Replace 12345 with the seed you want to play.)

You can check what seed you're running from the Status Screen by pressing SPACE.

If you just want to generate the game, not play it, you can run RANDKEEN.EXE: this will generate the randomised maps and patch file. Note you'll still need to rename LEVEL81.CK1 and LEVEL90.CK1 to RNDLV81.CK1 and RNDLV90.CK1 respectively for the world map and ending screen to work (this is usually done by the RNDKEEN1.BAT file).

RNDKEEN1.BAT and RANDKEEN.EXE accept some extra command-line parameters:

  • /? — Show a help screen listing these parameters.
  • /SEED seed — set the random number seed to seed
  • /DEBUG — show additional debug information (can contain spoilers!)
  • /NOLEVELNAMES — Make Yorp hints use level numbers instead of names
  • /NOENEMYSHUFFLE — don't shuffle enemy positions
  • /STARTPOGO — start with the pogo stick.
  • /STARTAMMO n — start with n ammo.
  • /EXTRAPOGO n — hide n extra Pogo sticks around the game.

The Keen 1 Randomiser requires a 386 or better to run, and probably needs a megabyte or so of memory. It works fine in DOSBox on newer machines as well.


Hints!

Playing Keen 1 Randomiser is, for the most part, very similar to playing Keen1, but there are a few things to be wary of.

  • You'll probably need to play through levels which are not necessary to win the original game. Familiarise yourself with them.
  • The Pogo Stick is much harder to get: you'll probably need to complete a lot of levels without it!
  • You can't exit a level if you haven't got the item in it. If the exit door isn't working, get looking for an item you've missed. Items (and keys), are often hidden behind enemies or at the end of coridoors.
  • Raygun Ammo is where you remember it from the original game, but because you'll be playing levels in a different order, you'll probably find ammo hard to find. Use it wisely (and get good at dodging!)
  • Shrine levels may contain Yorp statues, which have hints. You'll want to know the level names to take advantage of these. (Or, if you know the level numbers, you can use the /NOLEVELNAMES switch.)
  • There's always a Pogo Stick in the Vorticon Commander's dungeon.
  • It's not always possible to win every seed — though most should be completable.

Downloads and Links

You can download the latest version (1.1) of the randomiser here (DOS32/DJGPP).
It includes a copy of Keen 1 and CK1PATCH v0.11.3, so should be good to go!

For those who are interested, the source code is included in the archive, and can also be downloaded from GitHub:
https://github.com/sulix/randkeen
Older versions of the randomiser are also available on the GitHub Releases Page

Finally, there's a thread about it on the Public Commander Keen Forum, if you want to discuss it with others.

Have fun!