Commander-Genius | Modern Interpreter for the Commander Keen Games | Game Engine library
kandi X-RAY | Commander-Genius Summary
kandi X-RAY | Commander-Genius Summary
So far, Commander Keen 1-6 are fully supported. There are some smaller missing features like PaddleWar, but the whole gameplay is there. Keen Dreams is starting to work but still might have some issues. So far, you can play it to the end. Also the menu lacks of a lot of features. Please configure input and sounds using the other games. There is an alternative called Reflection Keen which supports Keen Dreams, on which the code is based. Commander Genius runs on Linux/X11, Windows, Android, 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.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Commander-Genius
Commander-Genius Key Features
Commander-Genius Examples and Code Snippets
Community Discussions
Trending Discussions on Game Engine
QUESTION
I'm very new in Unity and Stackowerflow. If i did something wrong, please don't judge me ^^ I used Unity's TPS Controller asset for my game. In first, it worked very well. But then It broke. But i didn't do anything :( (i don't even touch scripts or prefabs). After that, i deleted asset and re-download it but it didnt work again. Here is one example from my broken scene and these are the codes from my controller. Thanks For Any Kind of Help.
Starter Assets Input ...ANSWER
Answered 2022-Apr-08 at 23:22I had the same problem too. I researched a lot of documents about that and finally, I solved this problem. The problem is not about your codes or events or smth else. The problem is related to Unity. I don't know the exact reason for the problem but you can solve it this way: First, go Edit > Project Settings and select Input System Package from the Left tab. And then, change the Update Method with Process Events In Dynamic Update. And that's all! Dynamic update means the usual Update method that you see in the scripts void Update().
ImagesQUESTION
I am learning to program a game engine which is why I followed a tutorial, with that tutorial I have gotten this far and even though my code is identical to theirs (theirs did work in the videos) its not working the way it is meant to. The triangle stays black no matter what. There is not any errors.
Main Program Script:
...ANSWER
Answered 2022-Apr-03 at 07:08You actually assign the shader program to a local variable in the event callback function's scope. You need to assign it to the variable in scope of Main
:
QUESTION
I'm currently attempting to create a first-person space flight camera.
First, allow me to define what I mean by that.
Notice that I am currently using Row-Major matrices in my math library (meaning, the basis vectors in my 4x4 matrices are laid out in rows, and the affine translation part is in the fourth row). Hopefully this helps clarify the order in which I multiply my matrices.
What I have so Far
So far, I have successfully implemented a simple first-person camera view. The code for this is as follows:
...ANSWER
Answered 2022-Mar-02 at 23:15The problem is that two numbers, pitch and yaw, provide insufficient degrees of freedom to represent consistent free rotation behavior in space without any “horizon”. Two numbers can represent a look-direction vector but they cannot represent the third component of camera orientation, called roll (rotation about the “depth” axis of the screen). As a consequence, no matter how you implement the controls, you will find that in some orientations the camera rolls strangely, because the effect of trying to do the math with this information is that every frame the roll is picked/reconstructed based on the pitch and yaw.
The minimal solution to this is to add a roll component to your camera state. However, this approach (“Euler angles”) is both tricky to compute with and has numerical stability issues (“gimbal lock”).
Instead, you should represent your camera/player orientation as a quaternion, a mathematical structure that is good for representing arbitrary rotations. Quaternions are used somewhat like rotation matrices, but have fewer components; you'll multiply quaternions by quaternions to apply player input, and convert quaternions to matrices to render with.
It is very common for general purpose game engines to use quaternions for describing objects' rotations. I haven't personally written quaternion camera code (yet!) but I'm sure the internet contains many examples and longer explanations you can work from.
QUESTION
I'm new to Godot coming fresh from unity and I cant figure out how to duplicate an object/node. I've tried the duplicate function to no effect. My most recent attempts try to create child nodes with the same property as the parent. I cant seem to get anywhere, help would be appreciated. Here is my code that tries to create a child node:
...ANSWER
Answered 2022-Feb-19 at 01:11- The base node class is invisible (gray) so you cannot see if they were added or not. You can switch from the local to the remote tab in the scene tree while running to see only one invisible node added.
- If you change the code to
AddChild(copynode).Duplicate();
you can see it adds all 5 invisible nodes.
QUESTION
When I say "Entity" below, I'm not specifically referring to anything relating to the ECS pattern, I just mean a general game entity.
I'm trying my hand at game development in C, after having done previous game dev in TypeScript. I'm looking for a C idiomatic way to reuse a pattern with which I'm familiar: each tick, the game iterates through a list of entities, telling each one to update itself, then draw itself. Each entity knows how to update itself, but requires information about the game as a whole to make this update.
...ANSWER
Answered 2022-Feb-13 at 13:14Don't #include "entity.h"
from game.h
and vice versa. Just forward declare what you need a pointer to. Also add header guards if you haven't already.
Example:
QUESTION
helloI'm making an object in Unity that gives players random weapons when they hover over it, but it always gives me this warning and doesn't create it.
...ANSWER
Answered 2022-Feb-10 at 07:54This is because of you are calling the spawn function from client. You should call it in server.
QUESTION
I am trying to learn Godot by making a simple 2D shooter, but am running into a problem. I do not know how to detect if an enemy has been shot by a bullet. My bullets are Area2D nodes with a Sprite, and CollisionShape2D node attached. My enemies are KinematicBody2D nodes with a Sprite, and CollisionShape2D node attached. The enemy also has a timer attached, but that is not important.
Here is the enemy code:
...ANSWER
Answered 2022-Feb-06 at 03:20On your _on_PlayerBullet_body_entered
you a body
that has a reference to whatever the Area2D
collided with, you can use it to communicate with it.
For example, you can call a method on it. Which could, of course could be queue_free
:
QUESTION
I used to handle a group of sprites by push them into an array or sprite group which is build-in class in the Phaser. But I am seeking another simple way could get or remove all sprites in an scene. Does anyone have any idea to resolve this? Thanks a lot!
...ANSWER
Answered 2022-Jan-29 at 09:00The Scene has a property children
(link to documentation)
You can get all Sprites, with the command:
QUESTION
I'm trying to create a scoreboard using phaser3. It creates the board when I do the following in create function:
...ANSWER
Answered 2022-Jan-21 at 00:26YourGraphic.setScrollFactor(0,0);
QUESTION
I Am New To Ursana Engine And I Don't Know It Properly. But I Can Make Games In It. But The Problem Is That My Game Doesn't Have Any . So My Game Looks Dead.
Is There Any Way To Make My Game Look Good Using In Ursana Engine?
...ANSWER
Answered 2021-Dec-11 at 20:32You have to add lights and also apply lit_with_shadows_shader
to entities that will receive shadow.
See more here: https://www.ursinaengine.org/cheat_sheet.html#DirectionalLight
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install Commander-Genius
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 the specific 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.
Go to the program's directory.
Under Windows you start "CGenius.exe", under Linux "./CGenius".
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.
Install through Synaptic or "sudo apt install" the following packages: - 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.
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.
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".
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.
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
git clone https://gitlab.com/Dringgstein/commandergenius.git
mkdir cgenius_build
cd cgenius_build
cmake -G "Unix Makefiles" ../Commander-Genius
make
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
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page