gdmc2023
"Field Lab Gamma γ", a submission by Niels-NTG for the 2023 Minecraft AI Settlement Generation Challenge
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.5%) to scientific vocabulary
Keywords
Repository
"Field Lab Gamma γ", a submission by Niels-NTG for the 2023 Minecraft AI Settlement Generation Challenge
Basic Info
- Host: GitHub
- Owner: Niels-NTG
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://gendesignmc.wikidot.com/wiki:2023-settlement-generation-competition
- Size: 4.3 MB
Statistics
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
GDMC 2023
Submission by Niels-NTG for the 2023 Generative Design in Minecraft AI Settlement Generation Challenge.
In this competition participants design and implement an algorithm that constructs a settlement in Minecraft. Submissions are judged on the aesthetics and narrative qualities of the output, on how functional the structure is from a gameplay perspective, and how well it adapts to any arbitrary Minecraft landscape.
Field Lab Gamma γ
For days I had this strange feeling of being watched from afar. Then suddenly one morning this strange structure appeared on the horizon. Yes. We're definitely being watched.
Field Lab Gamma is a mysterious scientific research station that suddenly just appeared into the world. Where did it come from? Who were the staff? Why were they spying on the villagers and where are they now?




Setup
This script works combined with the HTTP Interface Forge mod for Minecraft 1.19.2. The generator itself is written for Python 3.10 and requires the packages listed in requirements.txt. Also don't forget to run git submodule update --init to install the MCTS and gdpc packages. Start the generator by running main.py, no CLI arguments required. The structures will be placed somewhere within build area, this can be set by setting the buidarea by running /setbuiltarea fromX fromY fromZ toX toY toZ in Minecraft itself before running the generator.
Method
Pre-built structures
The generator is primarily designed around placing discrete pre-build structures into the world. Each structure is designed by hand to dynamically adapt to the terrain, connect to other adjacent structures and have custom properties if needed. Each is implemented as one or more NBT files that contain the actual Minecraft block data and a Python file that orchestrates the construction cost calculation, list possible adjacent structures, placement and pre- and post-processing steps for that type of structure. See StructureBase.py for the base class.
MCTS
To decided where and what to build, this generator uses Monte Carlo Tree Search (MCTS). Each node in the tree $a$ is assigned a type of structure and construction cost by the action $a$ taken from the parent node.
When running the search, it starts constructing a tree of nodes starting a pre-constructed root node. For its rollout policy (also known as tree policy), it randomly selects actions weighted by the cost of doing this action. Actions with a cost of less than 0 are not considered. For example, an action resulting in structure being build very high above the ground has a much lower likelihood of being chosen by this policy compared to a structure that keeps very close to the ground because the cost of constructing support pillars contribute less to the cost.
To guide the search, nodes have a reward function that calculate how close its state is to the goal. In the case of DebugSettlement.py the reward function is rather simple: distance to a position in the world. When selecting and expanding the tree, the search algorithm favours structures that are cheaper to build. In the subsequent simulation phase.
Owner
- Name: Niels NTG Poldervaart
- Login: Niels-NTG
- Kind: user
- Location: The Netherlands
- Website: http://nielspoldervaart.nl/
- Repositories: 4
- Profile: https://github.com/Niels-NTG
Front End Developer at Dedact.nl + AI researcher at Leiden University Generative artist + Data, Interaction and Game Designer 🇪🇺 🇳🇱
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: GDMC 2023 - Field Lab Gamma
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Niels
family-names: Poldervaart
orcid: 'https://orcid.org/0009-0008-0766-7592'
repository-code: 'https://github.com/Niels-NTG/GDMC2023'
url: 'https://nielspoldervaart.nl/gdmc'
abstract: >-
"Field Lab Gamma γ", a submission by Niels-NTG for the
2023 Minecraft AI Settlement Generation Challenge
keywords:
- minecraft
- PCG
- game-AI
- procedural-content-generation
- architecture
license: MIT
GitHub Events
Total
- Push event: 1
Last Year
- Push event: 1
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0