TPS game made in Panda3D + PySimpleGUI
Game supports Ubunutu & Arch Linux (Windows 10 & 11 soon)
In the Linux operating system, everything is simple: first, install all the packages pip install -r requirements.txt
, write to the terminal git clone https://github.com/ma3rxofficial/Droid-Game-3D-2.0
, then cd droid-game-3d-2.0
, and finnaly: python3 ./game.py
, if you have C, then c ./game.c
).
To compile to a .C file, you must enter the command from the game directory:
python setup.py build_ext --inplace
Type y or just press Enter. After that, compilation will start. Although, you are unlikely to need it, because the repository already has a .C file with the game.
To build exe or bin using Nuitka write in terminal:
bash build.sh
Done! Enjoy to play! 😉
If you want to play online:
python3 server/server.py
And change 88 string in game.py server_enabled = False
to server_enabled = True
.
After that, you can start game using this command:
python3 game.py
Here is the complete control for our game.
In any menu of our game, wherever you are, from choosing a server to a chat, everywhere the Esc button closes this menu. If you are in the main menu - Esc closes it and the game ends.
Note: jumps like forward + left are possible.
Command | Esc | Left arrow | Right arrow | Forward Arrow | A | D | Space | S | W | P | G | F | 0 | F3 | R |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
About | Exit | Turn the droid to the left. | Turn the droid to the right. | Moves the droid forward. | Shift of the camera focus relative to the droid to the left. | Shift the focus of the camera relative to the droid to the right. | Shot. | Get the flashlight (if you already got it, the S button will turn it on and off). | Remove weapon. | Show the sight (if it is already shown - remove it). | Throw a grenade. | Start moving the ship. | In case of fire. Extinguishes the fire. | Only if single player, turns on polygon mode. | Turns RPG mode on and off. |
Our game has already been rewritten in C and Cython. We are now rewriting it to Go and Ruby. However, for all versions we use additional optimization:
- AsyncIO.
- Support for CUDA (work of all code on the GPU).