Pycraft is the OpenGL, open world, video game made with Python.
Pycraft is a 3D open-source, open-world video game made in Python. For a long time attempts to make large 3D games in Python have been ignored, we believe there are two reasons: one; People use Python primarily for data handling and processing and not graphics and, two; there is little to no documentation out there to do anything more than make a 3D rotating cube in Python. Making a 3D game in Python for us hasn't been an easy experience, far from it but we have decided to share my project, complete with tutorials, explanations, articles and code explanations in the hope that 3D game development in Python can be seen as a more easily attainable target, and to fill that gap in documentation. Pycraft then is a trial project, as we learn and experiment on what goes best where and how thing go together, this is why development can sometimes appear to have stopped, because we are learning and testing what we have learned, so hopefully for people in the future it will be an easier experience. Also, don't forget there is more to game development than just graphics, there is AI, sound, physics and all the other GUIs that go with it, and as we learn the quality of the overall program will improve. Pycraft is not going to be the final name of the game, however until something better becomes available, we shall stick to it.
Note: Python version 3.7 to 3.11 is required!
The way to install Pycraft is changing. For the best experience, we recommend this installation approach:
Note: If you run the installer from the source code, instead of through an executable format, make sure you have the following packages: requests
, pillow
. You can install these packages together using the command pip install requests pillow
and on Linux make sure you also install pillow's dependencies using: sudo apt-get install python3-pil.imagetk
and that you have the full Python standard library, which can be installed using the command: sudo apt install python3.10-full
The way we develop Pycraft is changing with code developed here and the resources hosted through MediaFire. The new installer is built to handle this, and is recommended, however if you wanted to install Pycraft on your system manually, do the following:
src
and resources
.pip install -r requirements.txt
from the directory you just installed Pycraft to. This installs Pycraft's dependencies.Note: When installing Pycraft manually, you will likely be automatically be updated to the latest version when a newer version is available. This behaviour can be configured in the settings menu.
In order to run Pycraft on your system, please follow the steps below before heaving to the "Everyone" section.
Or created a custom virtual environment in the Pycraft
directory yourself.
Pycraft
on your system.Pycraft
directory: /venv/pycraft/Scripts/python.exe
Pycraft
directory: /venv/pycraft/bin/python
/venv/pycraft/Scripts/python.exe
/venv/pycraft/bin/python
python
python3
or python
Pycraft
directory, navigate to the src
sub-directory.CONTROL + SHIFT + v
) the location of the Python executable you made a note of earlier.main.py
and hit enter.Note: We strongly advise you make a shortcut for this command as it makes the process of running Pycraft much easier.
This section will hopefully provide additional information on helping to read the release notes.
This section will be replaced with a dedicated file for key-mapping as well as an in-game guide when this area of Pycraft is completed.
A detailed map of inputs for keyboard and mouse or controller combinations is coming; for now, see the section below, toggling between full-screen is currently not bound to a button on the controller because we will need all the different buttons for gameplay
New releases will be introduced regularly, it is likely that there will be some form of error or bug, therefore unless you intend to use this project for development and feedback purposes (Thank you all!) we recommend you use the latest stable release; below is how to identify the stable releases.
Pycraft's versions will always follow the semantic versioning structure; "vA.B.C"
Every version of Pycraft as of the 27/10/2022 (DD/MM/YYYY) must feature all 3 values. Updates also now go sequentially, so Pycraft v9.6.4 is newer than Pycraft v9.5.7.
Thank you greatly for supporting this project simply by running it, we are sorry in advance for any spelling mistakes. The program will be updated frequently and we shall do my best to keep this up to date too. we also want to add that you are welcome to view and change the program and share it with your friends however please may we have some credit, just a name would do and if you find any bugs or errors, please feel free to comment in the comments section any feedback so we can improve my program, it will all be much appreciated and give as much detail as you wish to give out.