Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/traverseda/pycraft
A fork of "Minecraft in 500 lines of python" intended to someday be used as a real engine, instead of as a learning example.
https://github.com/traverseda/pycraft
Last synced: 4 days ago
JSON representation
A fork of "Minecraft in 500 lines of python" intended to someday be used as a real engine, instead of as a learning example.
- Host: GitHub
- URL: https://github.com/traverseda/pycraft
- Owner: traverseda
- License: mit
- Created: 2016-04-07T12:29:46.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2021-03-25T21:57:54.000Z (over 3 years ago)
- Last Synced: 2024-10-14T15:38:41.236Z (about 2 months ago)
- Language: Python
- Homepage:
- Size: 701 KB
- Stars: 1,094
- Watchers: 51
- Forks: 96
- Open Issues: 24
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES.rst
- License: LICENSE
Awesome Lists containing this project
- starred-awesome - pycraft - A fork of "Minecraft in 500 lines of python" intended to someday be used as a real engine, instead of as a learning example. (Python)
README
.. image:: https://travis-ci.org/traverseda/pycraft.svg?branch=master
:target: https://travis-ci.org/traverseda/pycraft
.. image:: https://coveralls.io/repos/github/traverseda/pycraft/badge.svg?branch=master
:target: https://coveralls.io/github/traverseda/pycraft?branch=masterPyCraft
=======A community driven fork of `foglemans "Minecraft"
repo `_.|#pycraft on freenode|
Motivation
----------Python is somewhat poorly suited for game development. However it is well suited
to data-science. A lot of our tasks, working with large voxels sets, strongly resemble
the kind of problems you encounter in data science.The big advantage comes from limiting "real-time" state. By not relying on anything having to
happen *now*, we can do more complicated computation. At the low-end, that means we can
implement much more complicated occluding algorithms, and thus draw more complicated scenes.This kind of split could also be used to run more complicated types of operations, like
a cellular automata crudely simulating things like plant growth or water.When possible, we would prefer to "scale-out". We don't care about outright efficiency too much,
rather we care that our solutions can work for very large or very complicated operations.
The exact opposite of "typical" game development methodology, which would prefer solutions that
"scale-up", solutions that a very fast for the type of data they expect to deal with.It is currently pre-alpha quality.
Screenshot
----------.. figure:: screenshot.png
:alt:Virtual Environment (Recommended)
---------------------------------.. code:: bash
# create a virtual environment
virtualenv -p python3 ~/.venv/pycraft # (or wherever)
# you may need to add execute permissions
chmod -R a+x ~/.venv
# activate
. ~/.venv/pycraft/bin/activate # on mac
. ~/.venv/pycraft/Scripts/activate # on windows
# deactivate (when you're done)
deactivateInstalling
----------.. code:: bash
pip install -e .
**option 1:**
.. code:: bash
pip install -e .[dev]
# or: python3 setup.py develop
pycraft**option 2:**
.. code:: bash
python -m pycraft
# or: python3 -m pycraftFeatures
--------* Support for python 3.5
* Simple Perlin Noise terrain generator
* Object-oriented blocks systemHow to Play
-----------Moving
~~~~~~- W: forward
- S: back
- A: strafe left
- D: strafe right
- Mouse: look around
- Space: jump
- Tab: toggle flying modeBuilding
~~~~~~~~- Selecting the type of block to create:
- 1: brick
- 2: grass
- 3: sand- Mouse left-click: remove block
- Mouse right-click: create blockQuitting
~~~~~~~~- ESC: release mouse, then close window
.. |#pycraft on freenode| image:: https://img.shields.io/badge/chat-on%20freenode-brightgreen.svg
:target: https://kiwiirc.com/client/irc.freenode.net/#pycraftContributing
------------We support and encourage contributions.
Attributions
------------The game textures
"`Piehole `__"
by
`Alex Voelk `__
is licensed under
`CC BY 3.0 `__.