Skip to content

Commit

Permalink
Updated the readme.
Browse files Browse the repository at this point in the history
  • Loading branch information
avdstaaij committed Feb 15, 2023
1 parent 3ad51b3 commit 1f07c8a
Showing 1 changed file with 27 additions and 18 deletions.
45 changes: 27 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,29 @@
# GDPC 5.0 (Manicule)
# GDPC - Generative Design Python Client

GDPC (Generative Design Python Client) is a framework for use in conjunction with the [Minecraft HTTP Interface Mod](https://github.com/Niels-NTG/gdmc_http_interface) (version >= 1.0.0, < 2.0.0), built for the [GDMC competition](https://gendesignmc.engineering.nyu.edu).
GDPC (Generative Design Python Client) is a Python framework for use in conjunction with the Minecraft [GDMC-HTTP Mod](https://github.com/Niels-NTG/gdmc_http_interface).
It is designed for the [Generative Design in Minecraft Competition (GDMC)](https://gendesignmc.engineering.nyu.edu).

You need to be playing in a Minecraft world with the mod installed to use the framework.

The latest version of GDPC is compatible with GDMC-HTTP versions **>=1.0.0, <2.0.0**.


## What's the difference between GDMC, GDMC-HTTP and GDPC?

These abbreviations are all very similar, but stand for different things.

GDMC is short for the [Generative Design in Minecraft Competition](https://gendesignmc.engineering.nyu.edu), a yearly competition for generative AI systems in Minecraft.
The challenge is to write an algorithm that creates a settlement while adapting to the pre-existing terrain. The competition also has a [Discord server](https://discord.gg/ueaxuXj).

[GDMC-HTTP](https://github.com/Niels-NTG/gdmc_http_interface) is a Minecraft Forge mod that provides a HTTP interface to edit the world.
It allows you to modify the world live, while you're playing in it. This makes it possible to iterate quickly on generator algorithms.
The mod is an official submission method for the competition.

GDPC (notice the "P") is a Python framework for interacting with the GDMC-HTTP interface.
It provides many high-level tools that make working with the interface much simpler.


## Installation
**Keep in mind that tool and example scripts are not included in the package!** See 'Scripts' below for details.

To install the latest stable release, type one of the following commands:
- On Linux/MacOS: `python3 -m pip install gdpc`
Expand All @@ -20,26 +38,17 @@ To update your package, type the following:
- On Windows: `py -m pip install --upgrade gdpc`

If you would like to install the latest cutting-edge development version directly from GitHub, replace `gdpc` with

`git+https://github.com/avdstaaij/gdpc`

For more information on installing from GitHub (such as getting old versions) see the [pip documentation](https://pip.pypa.io/en/stable/topics/vcs-support/).
*(Hint: You can also use this command to import forks of this repository, just change the URL!)*

If you are having trouble with dependencies, download `requirements.txt` *(see below on how to download)* and try running `python3 -m pip install -r requirements.txt` or `py -m pip pip install -r requirements.txt` if you are using Windows. You **should not** use `requirements-dev.txt`!
If you are having trouble with dependencies, download `requirements.txt` and try running `python3 -m pip install -r requirements.txt` (or `py -m pip pip install -r requirements.txt` if you are using Windows). You **should not** use `requirements-dev.txt`!

## Scripts:
To download one of the following scripts, click on the link, then right-click and `Save As...` *(I know it's tedious, if you have a better idea we'd be glad to hear it)*.

- [**`visualize_map.py`**](examples/visualize_map.py): Displays a map of the Minecraft world using OpenCV.
- [**`emerald_city.py`**](examples/emerald_city.py): Demonstrates basic GDPC functionality by building a simple model of the Emerald City, and introduces various concepts of coding in Python.
## Tutorials and examples

## Developed by:
- Arthur van der Staaij
- Blinkenlights
- Nils Gawlik
- Claus Aranha
- Niels NTG Poldervaart
There are various [tutorial scripts](examples/tutorials) that will help to get you started.

with contributions from:
- Mayank Jain
Some practical examples are also available, though they're slightly older and may not reflect the latest features:
- [**`visualize_map.py`**](examples/visualize_map.py): Displays a map of the Minecraft world using OpenCV.
- [**`emerald_city.py`**](examples/emerald_city.py): Demonstrates basic GDPC functionality by building a simple model of the Emerald City.

0 comments on commit 1f07c8a

Please sign in to comment.