Omnispeak — A Commander Keen Reimplementation

What is it?

Keen 4 under Omnispeak

Omnispeak is an open-source reimplementation of Commander Keen episodes 4, 5, and 6. It aims to be a pixel-perfect, bug-for-bug clone of the original games, and is compatible with savegames from the DOS version.

It's written in modern C99/C++, is compatible with both Windows and Linux, and is easy to port to other platforms.

Omnispeak also includes several new features, including:

The complete source code to Omnispeak is available on GitHub: https://github.com/sulix/omnispeak.

Get it!

Keen 5 under Omnispeak

You can download for:

There are also several ports to other operating systems, with varying levels of support and completeness:

To play, you'll need to include files from the original game.

Omnispeak supports only these versions:

These should be the easiest versions to get. For example, the Steam version and the GOG version are both version 1.4. Keen 6 is not easily available, but you should be able to find patches which convert one version of the game to another. Keen 6 v1.5 fixes a few bugs, so it's probably best to use it if you can.

You'll need to take the following files from your version of Keen, and place them in the same directory as the 'omnispeak' binary:

You'll also need the files from the 'data' directory corresponding to your version of Keen.

To run the game, simply switch to the directory with the data files, and run:

./omnispeak

Configuration Options

Keen 6 under Omnispeak

Omnispeak introduces several extra configuration options which the original Keen games did not have.

Many of these can be configured from the game's Configure→Options menu, including

In addition, some more keybinding options are available in the Keyboard menu, and the new Joystick Options menu provides additional configuration options, including remappable buttons and the new Modern mode, which greatly improves diagonal movement.

Many extra options can also be set by modifying the OMNISPK.CFG file, which accepts a number of options. For example:

# Reduce this to make the game load as fast as possible.
loadingDelay = 10

# Set this to 'false' to disable the Impossible Bullet glitch in Keen 6
impossibleBullet = true

# Change which OPL2 emulator is used. Valid values are "dbopl" and "nukedopl3".
oplEmulator = "nukedopl3"

# Force the game to support the joystick in menus, even if it isn't the enabled input device
in_forceJoyMenu = true

# Disable the Keen 6 copy protection question
ck6_noCreatureQuestion = true

# Audio sample rate (Setting this to 44100 or 48000 may increase compatibility).
sampleRate = 49716

# What sound backend to use: "default", "alsa" (OPL2 harware on Linux), "opl2lpt"
sd_backend = "default"

# Linux ALSA opl2 only: name of ALSA hwdep device
sd_alsa_device = "hw:0,0"

# Linux OPL2LPT only: name of parallel port used
sd_opl2lpt_port = "parport0"

Omnispeak also supports a number of command-line arguments. These are some of the most useful:

/EPISODE <4,5,6,6v14,6v15>
Runs the given episode/version of Commander Keen
/GAMEPATH <directory>
Sets the path to the game data files.
/USERPATH <directory>
Sets the path to the savegame and config files.
/NOJOYS
Disables Joystick detection.
/DEMOFILE <filename>
Plays the demo recorded with Keen's F10+D cheat in filename.

Links and Thanks

Omnispeak is brought to you by its authors:

Omnispeak makes use of the DOSBox OPL2/3 Emulator and the Nuked OPL3 Emulator.

Commander Keen was originally developed by id Software and published by 3D Realms (né Apogee).

See also K1n9_Duk3's Recreated Keen 4–6 Source Code, which recreates the original DOS version of Keen; Chocolate Keen, which is a similar port for Keens 1–3; Reflection Keen, a source port of Keen Dreams, the 3D Catacomb Games, and Wolfenstein 3D; and Commander Genius, a new game engine which can play Keen games and mods with several new features (but less accuracy).