sulix / Omnispeak
Programming Languages
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: https://davidgow.net/keen/omnispeak.html
== INSTALLATION == 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 can.
The shareware release of Keen 4 v1.4 is available here: https://davidgow.net/keen/4keen14.zip
You'll need to take the following files from your version of Keen, and place them in the same directory as the 'omnispeak' binary: * GAMEMAPS.CK? * EGAGRAPH.CK? * AUDIO.CK?
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
You can provide Omnispeak the following command-line arguments: /EPISODE <4,5,6,6v14,6v15> - Runs the given episode/version of Commander Keen /GAMEPATH - Sets the path to the game data files. /USERPATH - Sets the path to the savegame and config files. /FULLSCREEN - Starts the game in fullscreen mode /FILLED - Starts the game with aspect-ratio correction off. /NOBORDER - Starts the game with EGA overscan border emulation off. /INTEGER - Starts the game with integer scaling enabled. /NOJOYS - Disables Joystick detection. /NOCOPY - Bypasses the "Creature Question" screen in Keen 6. /NOAUDIOSYNC - When using SDL-based sound backends, use the system clock rather than the audio clock. (Works around issues with some SDL audio backends under wine) /DEMOFILE - Plays the demo recorded with Keen's F10+D cheat in filename.
== COMPILING ==
The source code for Omnispeak is available on GitHub: https://github.com/sulix/omnispeak
You'll find it in the src/ directory and built with make.
Omnispeak should build fine on most Linux distributions.
You'll need to have the Simple Directmedia Layer 2.0 installed, with the sdl2-config program somewhere in your path.
When compiled, an 'omnispeak' binary will appear in 'bin/', along with the files from the 'data' directories.
Cross-compilation for 32-bit and 64-bit Windows targets using MinGW32-Win64 is also supported.
To see a full list of build options, just run make help
.
== KNOWN ISSUES ==
- Modding support is not implemented.
- Mouse support is not implemented.
- Some debug cheats 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.