Commander-Genius

所属分类:Git
开发工具:C++
文件大小:0KB
下载次数:0
上传日期:2023-06-25 10:30:29
上 传 者sh-1993
说明:  指挥官基恩游戏(漩涡和银河游戏)的现代口译员。还有一个gitlab存储库:[https...](https:gitlab.com Dringstein Commander Genius)
(Modern Interpreter for the Commander Keen (Vorticon Dreams and Galaxy) and also Cosmos Cosmic Adventure games. This is a mirror repo: The main gitlab repository is at: https://gitlab.com/Dringgstein/Commander-Genius)

文件列表:
.cproject (291396, 2023-10-20)
.project (59768, 2023-10-20)
.settings/ (0, 2023-10-20)
.settings/org.eclipse.cdt.ui.prefs (89, 2023-10-20)
.settings/org.eclipse.ltk.core.refactoring.prefs (134, 2023-10-20)
Build/ (0, 2023-10-20)
Build/Xcode/ (0, 2023-10-20)
Build/Xcode/CommanderGenius.xcodeproj/ (0, 2023-10-20)
Build/Xcode/CommanderGenius.xcodeproj/TemplateIcon.icns (37234, 2023-10-20)
Build/Xcode/CommanderGenius.xcodeproj/project.pbxproj (301304, 2023-10-20)
Build/Xcode/CommanderGenius.xcodeproj/project.xcworkspace/ (0, 2023-10-20)
Build/Xcode/CommanderGenius.xcodeproj/project.xcworkspace/contents.xcworkspacedata (160, 2023-10-20)
Build/Xcode/CommanderGenius.xcodeproj/project.xcworkspace/xcshareddata/ (0, 2023-10-20)
Build/Xcode/CommanderGenius.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (238, 2023-10-20)
Build/Xcode/CommanderGenius.xcodeproj/xcshareddata/ (0, 2023-10-20)
Build/Xcode/CommanderGenius.xcodeproj/xcshareddata/xcschemes/ (0, 2023-10-20)
Build/Xcode/CommanderGenius.xcodeproj/xcshareddata/xcschemes/Commander Genius.xcscheme (3325, 2023-10-20)
Build/Xcode/CommanderGenius.xcodeproj/xcshareddata/xcschemes/GsKit.xcscheme (2381, 2023-10-20)
Build/Xcode/CommanderGenius/ (0, 2023-10-20)
Build/Xcode/CommanderGenius/CommanderGenius.xcodeproj/ (0, 2023-10-20)
Build/Xcode/CommanderGenius/CommanderGenius.xcodeproj/CG.xcworkspace/ (0, 2023-10-20)
Build/Xcode/CommanderGenius/CommanderGenius.xcodeproj/CG.xcworkspace/contents.xcworkspacedata (140, 2023-10-20)
Build/Xcode/CommanderGenius/CommanderGenius.xcodeproj/project.pbxproj (283267, 2023-10-20)
Build/Xcode/CommanderGenius/CommanderGenius.xcodeproj/project.xcworkspace/ (0, 2023-10-20)
Build/Xcode/CommanderGenius/CommanderGenius.xcodeproj/project.xcworkspace/contents.xcworkspacedata (160, 2023-10-20)
Build/Xcode/CommanderGenius/CommanderGenius.xcodeproj/project.xcworkspace/xcshareddata/ (0, 2023-10-20)
Build/Xcode/CommanderGenius/CommanderGenius.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (238, 2023-10-20)
Build/Xcode/CommanderGeniusProj.xcconfig (274, 2023-10-20)
Build/Xcode/CommanderGeniusTarget.xcconfig (269, 2023-10-20)
Build/Xcode/Info.plist (874, 2023-10-20)
Build/Xcode/MacMain.m (6380, 2023-10-20)
Build/Xcode/V0.4.icns (51090, 2023-10-20)
Build/Xcode/cglogo.icns (292246, 2023-10-20)
Build/Xcode/en.lproj/ (0, 2023-10-20)
... ...

# Commander Genius [![pipeline status](https://gitlab.com/Dringgstein/Commander-Genius/badges/master/pipeline.svg)](https://gitlab.com/Dringgstein/Commander-Genius/-/commits/master) Welcome to Commander Genius! Commander Genius is an open-source interpreter for the Commander Keen (1-6, Dreams) and Cosmos Cosmic series which allows you to play the original episodes and some of the mods made for them. All of the original data files are required to do so, however, we conveniently provide a online store where you can get some of the games, including Keen 1, 4, Dreams and Cosmos 1 for your enjoyment. There are also mods that can be downloaded directly. Of course you still have the option to use your old original DOS versions of the game ![Commander Genius](https://clonekeenplus.sourceforge.io/img/galaxyMultiplayer.png "Keen 4 and 4 players at the same time") # Authors ### Main development: * (c) 2008-2023 Gerstrong ### Testing * (c) 2020-2023 Gagster ### Porting and Support * (c) 2010-2023 Pelya (Android-Distro) * (c) 2020-2023 Elias Oenal (Switch port) ### Resources * (c) 2018-2023 Zilem # About Commander Keen 1-6 and Dreams are fully supported. There are some smaller missing features like PaddleWar, but the whole gameplay is there. Cosmo's Cosmic Adventure: Forbidden Planet is integrated into Commander Genius. The engine for that game is somewhat playable and the levels with the enemies work so far, but there is a lot do in order to get it working much better. At some point CG will fully support that game and provide smoother experience with many more fps compared to the original. Special Thanks to Eric Fry for his code! There is an alternative called Reflection Keen which supports Keen Dreams, on which the code is based. Commander Genius runs on Linux/X11/Wayland, Windows, MacOs, Android, Switch with some more unofficial ports. If you think you would like to port it, please send us a message and we will do our best to help you. # Features The main goal of Commander Genius is to copy the original gameplay feeling as much as possible, and extend it further so you get a native implementation with even more features like: * Mod Support with some extras using Lua * OpenGL Acceleration * SDL 2.0 Support * New graphical effects * Multiplayer Support (Up to four players) * High Quality Packs which make the game look better, provide better sounds and even music you might never have known existed in the original games * In-game Menu for Vorticons Keen as well as a new HUD * Named save slots * Unrestricted Joystick Support * and much more # Our Mission The mission of Commander Genius held by open-source developers is to revive the gameplay experience of the games we had in the 90s when those Keen games were popular. With experience we mean, we try to leave the graphics retro but take advantage of newer hardware meaning there are some enhancements over the original games. There is also Chocolate Keen (Keen 1-3) by NY00123 which tries to be as close to the original as possible including even the frame rates as they were. Also RefKeen should be mentioned, by the same author. It runs Keen Dreams and some of the Catacomb game series. Now modern hardware offers much more than what we had back in the 90s. Commander Genius tries to take advantage of that modern hardware and bring a bit of old school experience to the Commander Keen games. Because Keen was made for DOS and we thought Linux could have more nice platform games, here is an alternative for you. Yes, there also exists DOSBox, but this is a native port without any emulation. We want to get out of that DOS limit era. Imagine Commander Genius like a platform base for the Keen games how it would be on modern hardware. That means there are some differences. The physics are close to the original, but you might notice some of the details if you are an elite expert on original Keen games. I think CG delivers a faster gameplay than the original ones. Since the framerate for graphics is higher, it feels a bit more like that. Some people might not like that, for those I recommend sticking to DOSBox. Now, it is a bit hard to define what that experience is obviously, because many people experienced that gameplay differently in the past. Some people had Sound Blaster, others didn't. Some loved the joystick support, others preferred to use keyboard. So getting an experience like old school for everybody is difficult. What does Commander Genius do then? Interpreting those games on modern systems, that's all basically. It can draw more colors on your screen and fix some issues the original games had back then. For example Vorticon Keen has two-button firing as an option. All buttons can be mapped to any input device in Commander Genius. Also the mouse can be used to some extent. The original Keen games also have some bugs and given that the hardware was very limited back then, it has some weird frameskips too. There are many details that are different when playing Keen with Commander Genius. So the conclusion is as follows. If you really want a vanilla feeling, even feel the lack of hardware support and eventual slowdowns, we encourage you to play Commander Keen on DOSBox. Many people are out there that think that to be the right way to play it. Also for some mods it might be the only way. Still though, Commander Genius has a patching system in which some mods run very well. If you want to create a mod that is not cryptic with machine code based patches, use CG with Lua scripts. It will make you more productive. Commander Genius wants to be more like a new jump'n'run game that interprets Commander Keen. Billy Blaze visits all the levels you played before in the DOS version, taking advantage of your powerful computer or your mobile device. That's the strength of Commander Genius! If you are one of those people who want to experience Commander Keen in some new ways, then this software is for you! # History The first engine was CloneKeen by a developer named Caitlin Shaw. Since the engine was left abandoned for the most part, Gerstrong took it and created the fork called CloneKeenPlus and fixed some problems CloneKeen had. This fork comes from the 0.83 Version. 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 (about 0.02%). There exist other similar engines, like Refkeen and Chocolate Keen, from which CG learned and tried to improve the overall gaming experience. # License The Commander Genius source code may be freely distributed and modified as per the GPL, just remember to give credit to the original authors. We work very hard on this project and we deserve at least those credits! Also give credit to the others who provided us with some code. They really deserve it. # Setup Download it, install it and launch it. In the Game Launcher click/tap on "New Stuff" and choose your game. It will start to download. After it has finished, you can play it. You can download more titles if you want, enjoy! If you happen to use Ubuntu, you might want to use our PPA so you always get updates. Add it using the command line and typing: sudo add-apt-repository ppa:gerstrong/cgenius Mageia and Arch Linux also have some packages by third-party maintainers. Windows 7 up to 10 are supported. About older versions, I don't know. On some Windows Systems you might need to install the "Microsoft Visual Studio Redistributable 2015 (x86)" package in order to get it running. On MacOS the recent dmg contain a version that is 64-bit only. You need to install macports first in order to get it running: https://www.macports.org/install.php After you have to install some SDL2 dependencies from the terminal using ports: sudo port install libsdl2 libsdl2_mixer libsdl2_image libsdl2_ttf libsdl2_mixer curl I plan to automate that in near future, but for the meanwhile that should do. After having done that just open the DMG file and drag the Commander Keen Head to where you want the App to be installed on your Mac. Have fun! CG-Data locations: a) On Windows you usually find that directory under "Documents\Commander Genius". b) If you use Linux, open the directory "~/.CommanderGenius". c) Android's datapath usually is "/Android/data/net.sourceforge.clonekeenplus/files". For that you need to connect the device to your PC, normally through a USB cable, and in your options you have to enable file transfer. That way you access that directory. If you started CG, you already should find it and see some games. If you have registered version Keen 2, 3, 5, or 6, put them into the directory where you will find your download games. That subdirectory is called "games". You can put personalized mods there as well. Setting up the data for 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 episodes 1 and 4, as they are installed in that directory. If you connect your Android Device to the PC, normally you find a directory called something like like "/Android/data/net.sourceforge.clonekeenplus/files/games". Copy the games there where the shareware versions are and you should be fine. You should note that the following versions of Keen work best: Keen 1 - Version 1.33 Keen 2 - Version 1.33 Keen 3 - Version 1.33 Keen 4 - Version 1.4 (EGA) Keen 5 - Version 1.4 (EGA) Keen 6 - Version 1.4 (EGA) Keen 6 Demo - Version 1.4 (EGA) Keen Dreams - Version v1.13 (EGA) Other versions might work, but we cannot guarantee it. If you happen to own another version, I would recommend patching it first. There are free patches for that around the net. Also Keen 6 works on CG. Don't use the 1.5 version, which is not supported, sorry! Get the 1.4 version instead. * If you want to use some patched mods just copy them as separate games to that path. Remember that due to copyrights, mods usually do not come with the games to patch. Like in DOSBox, you have to copy the original game data with the patches in the same directory. * If you want improved sounds and music, just download the High Quality Pack (HQP) and extract it in the CG-Data location. Be aware that CG handles global HQ files and per-game files, depending on where the resources get extracted. Read the HQP readme for more information on how to use those resources. Using HQP, you might have to copy some resources to thespecific game directory so that CG can detect it. For example, you might want to copy ck1tiles.bmp to /games/keen1/. I'm thinking of making HQPs deprecated and providing special versions of the games in future. 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: * The most recent version is hosted at GitLab. * From the Linux command line, type: ``` git clone https://gitlab.com/Dringgstein/commandergenius.git cd Commander-Genius ``` * I recommend you using the master branch. I might create a more stable one later. Requirements: Build Tools. Works best with GNU Compiler and Clang which supports at least C++14 and C99. SDL2, SDL2_Image, SDL2_mixer and SDL2_TTF. There is support for SDL1.2 but it is getting deprecated and will be removed in future. Curl and Zlib, so you can fully use the Game store CG provides. How to compile it under Ubuntu: * Install through Synaptic like this: ``` sudo apt install build-essential libgl1-mesa-dev libcurl4-openssl-dev zlib1g-dev libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev ``` * Create an empty build Dir: mkdir -p CGeniusBuild * Extract my source code into the "CGeniusSrc" directory. * cd CGeniusBuild * Run "cmake ../CGeniusSrc". * Run "make". * If everything went fine, you should be able to see an executable in the build directory. Copy the game data files to if you didn't already, and run Commander Genius. Even without any data copied, CG should run, but report that there are no games. How to compile it under Fedora: * Install using the package manager (replace "dnf" with "yum" for Fedora 21 or older): ``` dnf install -y SDL2-devel cmake cmake-data gcc-c++ mesa-libGL-devel libcurl-devel SDL2_image-devel SDL2_mixer-devel SDL2_ttf-devel ``` * Extract my source code into the "CGeniusSrc" directory. * mkdir -p CGeniusBuild * cd CGeniusBuild * Run "cmake ../CGeniusSrc". * Run "make". * If everything went fine, you should be able to see an executable in the build directory. Copy the game data files to if you didn't already, and run Commander Genius. Even without any data copied, CG should run but report that there are no games. Compiling CG on any Linux/UNIX (other than Ubuntu or Fedora): * If you want to compile the game, you need to have all the standard development libraries and GNU C Compiler (at least version 4.8) installed on your system. * You need to install the "SDL_mixer", "SDL_image", "SDL", "curl" and "Mesa/OpenGL" development libraries to get it to compile successfully. * Extract my source code into the "CGeniusSrc" directory . * mkdir -p CGeniusBuild * cd CGeniusBuild * Run "cmake ../CGeniusSrc". * Run "make". * Then, you can run "CGenius". Compiling CG on Windows (using MSYS2): This is my recommended way, because you have a nice terminal/shell and pacman for package management. All the required dependencies can be pulled without too much hassle. You can also install my favorite IDE QtCreator and use all together if you want to develop CG further * Go to https://www.msys2.org/ and get the i686 version for 32-bit or for 64-bit x86_64. You can have both builds in one system but I highly recommend staying always on one. * Start its setup and just follow the instructions * Like webpage instructions indicate: pacman -Syu and eventually pacman -Su If you are entirely through with that setup, the installation of dependencies for CG are next. -> Prepare Environment for CG * Set PACPFIX (32-bit): ``` export PACPFIX=mingw64/mingw-w64-x64 pacman -S base-devel pacman -S ${PACPFIX}-SDL2 pacman -S ${PACPFIX}-SDL2_image pacman -S ${PACPFIX}-SDL2_mixer pacman -S ${PACPFIX}-SDL2_ttf pacman -S ${PACPFIX}-cmake pacman -S ${PACPFIX}-curl pacman -S ${PACPFIX}-zlib pacman -S ${PACPFIX}-gcc pacman -S ${PACPFIX}-nsis pacman -S git ``` -> Build CG using MSYS2 ``` git clone https://gitlab.com/Dringgstein/commandergenius.git mkdir cgenius_build cd cgenius_build cmake -G "Unix Makefiles" ../Commander-Genius make ``` -> Build CG using Mac Ports (for MacOS Systems) * Install Mac Ports. You can download it here: https://www.macports.org/install.php * Open up a terminal * Install some dependencies: ``` sudo port install libsdl2 libsdl2_mixer libsdl2_image libsdl2_ttf libsdl2_mixer curl git cmake ``` * You might get a dialog asking for the installation of Xcode dependencies. Please confirm that dialog. * You also will be asked for the installation of more dependencies. You need to confirm all that. * cd into a directory where you want to clone the sources: ``` git clone https://gitlab.com/Dringgstein/Commander-Genius.git ``` * Now you should have a directory called "Commander-Genius". It contains the source code. You can verify that with "ls" * Create your build directory and cd into it: ``` mkdir CG-Build cd CG-Build ``` * Prepare your build referencing to the sources you cloned: ``` cmake ../Commander-Genius -DUSE_OPENGL=0 ``` * And build it: ``` make ``` * If everything went well, go into src and execute it: ``` cd src ./CGeniusExe ``` 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 built for a different Linux build (32-bit or 64-bit) we only use it for embedded systems. Also check out the CMakeLists.txt for more information. ## BUILDING THE COSMOS ENGINE If you also want to play Cosmos Cosmic Adventure, you can build the engine part for that now. The module code for that is separate directory. In order to get do the following: ``` cd git clone https://gitlab.com/Dringgstein/cosmos.git src/engine/cosmos ``` Now tell CMake that you also want to build Cosmos engine support: ``` cd cmake -DBUILD_COSMOS=1 ``` Now you can build CG normally as described above. NOTE: Currently the cosmos engine is highly experimental. Feel free to report bugs here: https://gitlab.com/Dringgstein/cosmos/-/issues # STARTING A GAME IN CG Normally when you start Commander Genius you see the launcher menu in which you can choose the Keen games that were detected in the subdirectory. The CGLog.txt also tells you what CG detected on the system and gives feedback on further events that might occur. It is good to take a look at that file if something in CG goes wrong. Optionally, you can pass launch arguments to Commander Genius. These are: ``` dir= This will launch the game from the given directory, if it can be started, otherwise it will go to the game launcher with a warning shown. If you have director name with spaces just use double quotes E.g.: CGenius.exe dir=games/keen4 E.g.: CGenius.exe dir="games/Keen 1 Special Edition" finale= If you want to directly show the finale of a game, pass this parameter. E.g.: "CGenius.exe finale=on" level= Supplying this parameter will directly open the given level; very useful for testing. Note about Cosmos Cosmic Adventure: The level number is the map passed. This means for example that level 6 might become level 5. The reason for that are the bonus levels which occupy some slots in between the maps. exportGfx= Exports graphics of the loaded game and saves them as BMP in the gaming directory ``` Example: If you want to start the game with the path "C:\games\keen5", type: ``` CGenius dir=games/keen5 ``` Remember, the path must be known by the game launcher. Absolute paths of games can be defined in the cgenius.cfg file in the [FileHandling] section. We might improve that in future. # Multiplayer Hints (PC/RPi Version only) One of the special features in Commander Genius is the multi player mode up to four players. It is meant to be having being cooperative. You might need space in the levels and a better point of view, so you should consider switching the Game Resolution to 640x480. This might reveal some secrets but the internet also reveals those to what...? Because everything happen ... ...

近期下载者

相关文件


收藏者