Move Forward : W
Move Left : A
Move Backward : S
Move Right : D
Lock mouse : E
Jump : Space
Sprint : Ctrl
Crouch : Shift
Break Block : Left Click
Place Block : Right Click
Change Block : Scroll
Running PyCraft
To run PyCraft, run the following code:
git clone https://github.com/n3rdium/PyCraft.git
cd PyCraft
python launch.py
(assuming that you already have git and python installed)
The game textures currently are AWFUL. We need better textures for the game. Anyone who is good with textures can open a PR with new textures. Please note that the textures should be 16x16 pixel PNGs.
Currently, PyCraft uses a texture atlas for all the textures. This causes some limitations. We need to use glTexImage3d and glTexSubImage3d for the TextureManager class.
Right now, PyCraft only runs on Windows. We need to make it cross-platform. As @cixtor has pointed out in #54, the game doesn't run on MacOS. We need to add a cross-platform dep installer.
Currently, PyCraft has plain textured blocks. We need to add some kind of shader, or a translucent overlay for shading blocks. We also need to add a new Lighting class in terrain/, which will store all the block shading values when the game is running. The shading value of a face depends on the lighting values of the nearby coordinates.
So, whether I want to contribute, before contributing please make a dep installer (dependinces installer) so we can execute your scripts. After that, If possible, I will contribute. Please help!
Hi, I saw on the README that you pointed out the game freezes while loading chunks.
What I think you should do is add a render distance feature. If you've played Minecraft, you would know that there is a value
called render_distance that basically detect the player's position in the world, and then renders a certain number of chunks so that the game does not lag. Else, if the world is infinitely generated, and the render distance is set to infinite (as it is now), it could cause the game to freeze like anything or even crash the game. Please implement this feature so that the game runs as expected.