Skip to content
Modern Interpreter for the Commander Keen Games (Episode 1-4)
C++ C Objective-C Shell
Pull request Compare This branch is 1768 commits behind gerstrong:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


             Commander Genius                
    (c)2008-2012            Gerstrong       
    (c)2009-2012            Albert          
    (c)2009-2012            Tulip           

    (c)2009-2012            Pizza2004 (MacOs X)
    (c)2010-2012            Pelya (Android)

           Released under GNU/GPL           
           Release v0.4.0-Beta4 
           Build: LINUX32                                       

Welcome to Commander Genius!

Commander Genius is an open-source clone of
Commander Keen which allows you to play
the games, and a majority of the mods
made for it.  All of the original data files
are required to do so, however, we convienently
include Episode 1 and 4 for your enjoyment.

So far Commander Keen 1-4 are supported. Keen 1-3
have full support. Keen 4 has partial support, it's entire
gameplay is there, but some things are missing, but are being added

Commander Genius runs on Linux/X11, Windows,
MacOS X, Wiz, GP2X and the iPhone, with plans
to release on other platforms in the future.
If you think you would like to port it,
please send us a message and we will do our
best to help you.

The main goal of Commander Genius is to copy
the original gameplay feeling as much as possible, 
although there're also a number of improvements like:
- Mod Support
- OpenGL Acceleration
- Better graphical Effects
- Multiplayer Support
- High Quality Packs which make the game look better and 
  provide better sounds and even music you might never have heard
  in this game before
- Ingame Menu
- Named Save Slots
- Unrestricted Joystick Support
- and many more!

- History -

The first engine was CloneKeen by developer named Caitlin Shaw.
Since the engine was left abandonned for most of the part, Gerstrong
took it and created the fork called CloneKeenPlus and fixed some problems
CloneKeen had. This fork comes from the 0.83 Version. A 0.84 version
has been released since.

After CloneKeenPlus, Commander Genius was born. 
It is a complete rewrite of the engine in C++. The transition to
Commander Genius means a transition from C to C++ code mostly using OOP.
After all this coding, we have retained only a small portion of the
original CloneKeen code.

- License -

The Commander Genius source code may be freely 
distributed and modified as per the GPL, just
please remember to give credit to the original
authors. We worked very hard on it!

- Setup  -

We suppose you already have installed the copy of your game, so what's next, well?

Setting up the data of the game:

 * Copy the directory of the games to the "games" subdirectory of CG.
   If you own the registered versions, you can play all episodes, 
   otherwise download the shareware version and copy them there. 
   You also can use mods. If you have a bundled version, 
   you already should be able to play episode 1, as it is in that directory.
 * If you want to use some patched mods just copy them as separate games. 
 * Go into the root directory and start the interpreter. If you have downloaded 
   the binary version of Commander Genius (for Windows, Linux32/64), then you 
   will find the executable in the root directory of the extracted game.
   Under Linux it is called "CGenius", under Windows "CGenius.exe".    
 * If you want improved sounds and music, just download the High Quality Pack (HQP).
   Read that readme of HQP for more information in how to use those resources.
   Using HQP you might have to copy some resources to the specific game directory so
   CG would detect it. For example you might want to copy ck1tiles.bmp to ./games/keen1/
How to launch Commander Genius (If you didn't compile it):
 * Go to the program's directory.
 * Under Windows you start "CGenius.exe", under Linux "./CGenius"

Getting the most recent Source Code:
 * Well, as many projects it is hosted on GitHub.
 * From the Linux Console type: "git clone git://" (without the double quotation marks)   

How to compile it under Ubuntu:
 * This is based on the source code that we provide on our website
 * As we know which packages are needed, because we use Ubuntu, here is an extra guide. 
 * Install through Synaptic or "sudo apt-get install" following packages:
 	- build-essential
 	- libvorbis-dev
 	- libsdl1.2-dev
 	- libgl1-mesa-dev
 * extract my source code into "CGenius".
 * cd into the source directory "CGenius"
 * Run "cmake -DBUILD_TYPE=LINUX32" or "cmake -DBUILD_TYPE=LINUX64" depending on what 
   system you have.
 * Run "make".
 * Then, you can run "CGenius". Copy the files, wherever you want them together 
   with the data directory. "make install" does not work though.

Compiling CG on any Linux/UNIX (other than Ubuntu):
 * If you want to compile the game, you need to have all the standard
   development libraries and GNU C Compiler (at least version 4) installed 
   on your system.
 * You need to install the "vorbis", "SDL" and "Mesa/OpenGL" development libraries to get 
   it successfully compiled.
 * extract my source code to "cgenius". 
 * cd into the "cgenius" subdirectory.
 * Run "cmake -DBUILD_TYPE=LINUX32" or "cmake -DBUILD_TYPE=LINUX64"
 * Run "make".
 * Then, you can run "CGenius". Copy the files, 
   wherever you want them together with the data directory. 
   "make install" does not work though.

We also provide CMake for wiz. If you want to compile it for embedded systems.
We had support for Linux and Win32, but since there is a bug when build, for
different Linux build (32-bit or 64-bit) we only use it for embedded systems.
Also check out the CMakeLists.txt for more information.
Being cross-platform, there are many methods to detect different resolutions on a system.

Generally it is not necessary, because many resolutions are already supported, but if 
you want to support other resolutions that you don't find in the options list just modify the
"cgenius.cfg" file by hand. CG always reads this file and checks whether your card and 
monitor support it and if possible use it. But, use it at your own risk.

CAUTION: This is recommended for advanced users who know what they do. The team won't take 
any responsibility if you use a wrong configuration. If you want to see other resolutions to 
in future versions of CG, mail us ;-).

Before you play the game, you should take a look at the controls. Normally LAlt, Ctrl, Space and Enter
are the action keys. You can also assign joystick buttons, axes and hats to those actions.

There are a full assortment of cheat codes available. Some cheats must first
be enabled with -cheat or through the options->game menu. C+T+SPACE and G+O+D will
always work.

Vorticon Keen (1-3):
KEY        	ACTION             DESCRIPTION
G+O+D	   	godmode		   In god mode you are invincible!
C+T+SPACE  	All Items      Gives all items, similar to the original.
F+I+X		Restore		   Restores the settings as they were in the first time. Use this if
						   CG doesn't display anything

Galaxy Keen (4):						   
KEY        	ACTION             DESCRIPTION
F10+G	   	godmode		   In god mode you are invincible!
F10+I	  	All Items      Gives all items, similar to the original.
F10+J	  	Fly	      	   This will make Keen fly at any time
F10+N	  	No Clip	       With this cheat you will go through walls. Be careful, you might also fall
                           through the floor sometimes
F+I+X		Restore		   Restores the settings as they were in the first time. Use this if
						   CG doesn't display anything

The game can be saved from the menu at any time. Keen will be saved at the exact position it was left. 
(unlike in the original game which only allowed save on the map).

In Keen 4 this feature is not avaalable

- FAQ -
Q: Commander Genius is slow? Please help!
A: You can decrease the fps under settings->video. OpenGL may also help on some systems with ScaleX disabled. 
   Try to lower the resolution, a lower filter, or decrease some stuff in the sounds section.
   Stereo sound requires additional calculations than mono sound. There are many things you can do, to speed up
   the program. Also HQP requires more resources. Take that into the mind.
Q: When can I play Keen 4, 5 and 6 on CG?
A: Well, Keen 4 is mostly playable, but some enemies are missing as also other features, like cutscenes and help screen.
   We are working very hard on that. When Keen 4 is fully playable with everything cramed, Keen 5 and 6 are next
   We also want to support Mods here, like Keen 7, 8 and 9. As the Duke authors said: "when it's done".
- BUG! -
So you really found one or more bugs? Please report us those at
GitHub issues and they might get fixed. 
Depending on the priority, we are going to fix them as soon as possible. 
Sending us the "CGLog.html" or "stdout.txt" file might help tracking the error.
Also remember to test the lastest version from the testing repo we sometimes provide. 
Your error might have been already fixed there. If there is no testing version after the release, 
just report it. ;-)

Many thanks to people who has helped me so far in this project with their

Retired Team Members:

Sciz CT
DSL (Nice icon contribution)
Commander Spleen
Napalm (More Keen Data Structure Information)
Hans de Goede
Levellass (Keen EXE-Information)
ZidaneA (For his music tracks!)

Also many special thanks to Martin Hauber (Tulip) who has been supporting me all the time in testing
the Windows version of CKP and giving me access to a lot of information about the games. 
Without you it wouldn't be that great!

And also special thanks to Chad Ian Anderson (Pizza2004) in helping us so much in many points of the game. 
Even in difficult times he always supported us.

Furthermore special thanks to Scott (Pickle) and Albert Zeyer
for his changes. They helped out a lot on the quality of the code and performance incrate.

Also special thanks to ny00123 for helping to test the most recent 0.4 version.

I'm sure, there were more people who helped us and we forgot to mention, but
many thanks to them also.

And many thanks to all of you, the project has become that awesome!

For questions, comments, or updates to the source tree
please contact: or go through
SourceForge at
Something went wrong with that request. Please try again.