Skip to content

PyneCraft

An open-source implementation of a voxel-based game engine similar to MineCraft in Python. The primary purpose of this project is to act as personal hands-on journey to re-learn basic computer graphics and game development concepts.

Installation and Running

# clone the repository
git clone https://github.com/soumik12345/pynecraft

# enter into the source directory
cd pynecraft

# install the core packages
pip install -e .[core]
The game is run by running main.py
NAME
    main.py

SYNOPSIS
    main.py <flags>

FLAGS
    -w, --window_resolution=WINDOW_RESOLUTION
        Type: Tuple
        Default: (1600, 900)
    -d, --depth_buffer_size=DEPTH_BUFFER_SIZE
        Type: int
        Default: 24
    -b, --background_color=BACKGROUND_COLOR
        Type: Optional
        Default: [0, 0, 0]
    --player_speed=PLAYER_SPEED
        Type: float
        Default: 0.005
    --player_rotation_speed=PLAYER_ROTATION_SPEED
        Type: float
        Default: 0.003
    -m, --mouse_sensitivity=MOUSE_SENSITIVITY
        Type: float
        Default: 0.002
    --position=POSITION
        Type: Tuple
        Default: (0, 0, 1)
    -y, --yaw=YAW
        Type: float
        Default: -90
    --pitch=PITCH
        Type: float
        Default: 0
    --field_of_view=FIELD_OF_VIEW
        Type: float
        Default: 50.0
    -n, --near_plane_of_view_frustum=NEAR_PLANE_OF_VIEW_FRUSTUM
        Type: float
        Default: 0.1
    --far_plane_of_view_frustum=FAR_PLANE_OF_VIEW_FRUSTUM
        Type: float
        Default: 2000.0
    --pitch_max=PITCH_MAX
        Type: float
        Default: 89

Development Logs

I'll be documenting my journey in the form of development logs:

Acknowledgements