An open-source re-implementation of "Commander Keen in Goodbye Galaxy"
C Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Omnispeak: An reimplementation of "Commander Keen in Goodbye Galaxy!"

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.

Omnispeak's homepage, including binary downloads, is available at:

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

Omnispeak supports:
	- Keen 4 v1.4 EGA
	- Keen 5 v1.4 EGA
	- Keen 6 v1.4 EGA
	- Keen 6 v1.5 EGA

These should be the easiest versions to get. For example, the Steam version and
the 3DRealms 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

The shareware release of Keen 4 v1.4 is available here:

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:

You can provide Omnispeak the following command-line arguments:
	/EPISODE <4,5,6,6v14,6v15>
		- Runs the given episode/version of Commander Keen
		- Starts the game in fullscreen mode
		- Starts the game with aspect-ratio correction off.
		- Starts the game with EGA overscan border emulation off.
		- Disables Joystick detection.
	/DEMOFILE <filename>
		- Plays the demo recorded with Keen's F10+D cheat in filename.


The source code for Omnispeak is available on GitHub:

You'll find it in the src/ directory and built with make.

Omnispeak should build fine on most Linux distributions, and can be made to
build for Windows with MinGW with a small amount of tweaking.

You'll need to have the Simple Directmedia Layer 2.0 installed, with the
sdl2-config program somewhere in your path.

Running 'make' from within the src/ directory will output When compiled, an
'omnispeak' binary will appear in 'bin/', along with the files from the 'data'

There are some variables you can change in the Makefile:
	KEEN6VER: The version of Keen 6's data files to copy to 'bin'.
	PLATFORM: Set this to 'WINDOWS' to build for Windows.
	BUILDASCPP: Build as C++ (using g++) instead of as C99.
	WITH_SDL2: Use SDL2 (recommended) rather than SDL1.2.


- Modding support is not implemented.
- Mouse / Gamepad support is not implemented.
- Joystick support is new and very buggy.
- Some debug cheats (notably demo recording) are not supported.
- New settings ("Fullscreen", "Aspect Ratio", "Overscan border" are not saved.
- The game always redraws everything every frame.
- Some chunks are not cached properly at load time (doors, especially)
- No fallbacks for systems without GLSL and non-power-of-two texture support.