gdmc2023

"Field Lab Gamma γ", a submission by Niels-NTG for the 2023 Minecraft AI Settlement Generation Challenge

https://github.com/niels-ntg/gdmc2023

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

architecture game-ai minecraft pcg procedural-content-generation
Last synced: 6 months ago · JSON representation ·

Repository

"Field Lab Gamma γ", a submission by Niels-NTG for the 2023 Minecraft AI Settlement Generation Challenge

Basic Info
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
architecture game-ai minecraft pcg procedural-content-generation
Created almost 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

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?

2023-07-08_14.26.172023-06-16_14.02.552023-07-08_14.35.542023-07-08_14.26.17

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

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
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels