From 1f07c8ab8b6cc07dc84839f0665ad99d06c8d418 Mon Sep 17 00:00:00 2001 From: Arthur van der Staaij Date: Thu, 16 Feb 2023 00:03:32 +0100 Subject: [PATCH] Updated the readme. --- README.md | 45 +++++++++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 0a8e325..e4f3488 100644 --- a/README.md +++ b/README.md @@ -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` @@ -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.