Source-linked AI summary

EvoCraft: A New Challenge for Open-Endedness

Djordje Grbic, Rasmus Berg Palm, Elias Najarro, Claire Glanois, Sebastian Risi

arXiv:2012.04751v1cs.AI

TL;DR

Open-ended algorithms that discover increasingly complex artifacts remain a relatively underexplored research challenge, and Minecraft offers blocks and redstone for building structures and machines. EvoCraft provides a framework and API for evolving artifacts in Minecraft. Initial results show target-directed growth is straightforward, while fitness-based evolution struggles to produce a moving machine.

  • Problem

    Open-endedness aims to create algorithms that produce novel and adaptive forms, but it remains a grand research challenge with relatively less progress.

    Source: §1 · p. 1
  • Method

    EvoCraft is a Minecraft framework and API for programmatically manipulating blocks to support experiments in artificial evolution and optimization.

    Source: §1 · p. 1, §5 · p. 9
  • Results

    Target-directed structure growth is straightforward, but traditional fitness-based evolution makes little progress on a Minecraft machine that moves.

    Source: §1 · pp. 1–2
  • Takeaways & Limitations

    EvoCraft offers a challenging environment for experiments in artificial life and open-ended evolution, including evaluation of methods beyond evolutionary optimization.

    Source: §1 · p. 2, §5 · p. 10

    Fitness-based evolution failed to evolve still relatively simple flying machines, motivating investigation of quality-diversity methods.

    Source: §5 · p. 10

Abstract

from arXiv · show

This paper introduces EvoCraft, a framework for Minecraft designed to study open-ended algorithms. We introduce an API that provides an open-source Python interface for communicating with Minecraft to place and track blocks. In contrast to previous work in Minecraft that focused on learning to play the game, the grand challenge we pose here is to automatically search for increasingly complex artifacts in an open-ended fashion. Compared to other environments used to study open-endedness, Minecraft allows the construction of almost any kind of structure, including actuated machines with circuits and mechanical components. We present initial baseline results in evolving simple Minecraft creations through both interactive and automated evolution. While evolution succeeds when tasked to grow a structure towards a specific target, it is unable to find a solution when rewarded for creating a simple machine that moves. Thus, EvoCraft offers a challenging new environment for automated search methods (such as evolution) to find complex artifacts that we hope will spur the development of more open-ended algorithms. A Python implementation of the EvoCraft framework is available at: https://github.com/real-itu/Evocraft-py.

1 Introduction

The paper proposes Minecraft as an environment for open-endedness, where simple blocks and redstone can support complex structures and functional machines. EvoCraft supplies an API for programmatic block manipulation, and initial results contrast straightforward target-directed growth with the difficulty of evolving a machine that moves.

1 Introduction

  • Open-endedness aims to create artificial-life algorithms that, like natural evolution, produce a seemingly endless array of novel and adaptive forms.The introduction frames this as a grand research challenge with relatively less progress.Source: §1 · p. 1
  • Existing artificial-life environments can limit the behaviors or artifacts discovered, and their variety can make approaches difficult to compare.The authors contrast these environments with structures built by Minecraft players.Source: §1 · p. 1
  • Minecraft’s redstone components support circuits and mechanics, while a finite set of simple blocks can be assembled into complex structures.The paper points to examples such as moving robots, word processors, and Atari 2600 emulators.Source: §1 · p. 1, Figure 2 · p. 2
  • EvoCraft introduces a Minecraft API and framework for programmatically manipulating blocks, with initial results on evolving simple artifacts.The introduction reports that growing structures toward a particular target is straightforward.Source: §1 · p. 1
  • Fitness-based evolution makes little progress on evolving a Minecraft machine that moves, despite target-directed structure growth being straightforward.The authors present EvoCraft as a challenging environment for experiments in artificial life and open-ended evolution.Source: §1 · pp. 1–2
  • Minecraft could let an open-ended discovery engine generate surprising artifacts beyond the structures available in earlier domains.The paper presents this as a possibility, not an established result.Source: §1 · p. 2

2 Related work

The related work surveys artificial-life environments and Minecraft AI frameworks, positioning EvoCraft as a setting for open-ended artifact discovery. Prior environments study evolutionary dynamics, block-building, or agent behavior; EvoCraft emphasizes direct block manipulation and artifacts judged by how they interact with the environment.

2 Related work

  • Related work covers environments for open-ended evolution and prior AI approaches using Minecraft.The section is organized around these two areas.Source: §2 · p. 2

2.1 Open-Endedness Frameworks

  • Tierra evolves programs competing for CPU cycles, while Avida rewards digital organisms for computations and has demonstrated behaviors built from simpler functions.The section also describes artificial-life worlds with creatures evolving in 2D or 3D environments.Source: §2.1 · p. 3
  • Voxelbuild is a Minecraft-inspired sandbox where agents evolve block structures, with some runs producing the ability to place blocks vertically.The paper presents it as a proof of concept for studying evolutionary transitions in a virtual sandbox.Source: §2.1 · p. 3
  • Neural MMO [38] trains large populations of agents through reinforcement learning to forage and engage one another in combat.The paper notes that Minecraft also supports many agents and adds the ability to build structures.Source: §2.1 · p. 3

2.2 Minecraft

  • The Settlement Generation Challenge creates settlements for unseen maps offline, whereas EvoCraft targets artifacts whose performance is judged through environmental interaction.The settlement API does not support reading information back from the environment.Source: §2.2 · p. 4
  • EvoCraft complements Minecraft AI frameworks with real-time feedback on block positions and types, plus redstone components for evolving mechanics and circuits.Unlike training agents to manipulate blocks, its API allows direct block manipulation for open-ended discovery.Source: §2.2 · p. 4

3 The EvoCraft Environment

EvoCraft connects clients to a running Minecraft server so they can manipulate and track blocks, including redstone components for circuits and mechanisms. Its performance tests and block overview describe the environment’s operating scale and the components available for building machines.

3 The EvoCraft Environment

  • The gRPC API lets clients manipulate blocks on a running Minecraft server, with generated clients available in multiple languages and an initial Python client.The initial service defines three RPCs for spawning blocks, reading a cube, and filling a cube.Source: §3 · p. 4

3.1 Performance

  • Block-spawn commands take approximately 50 ms, or one server tick, through a 31 × 31 × 31 cube of 29,791 blocks; the test stops when tick rate falls.The server updates at a maximum of 20 ticks per second and uses a single core; multiple instances can run in parallel, with clients balancing their load manually.Source: §3.1 · pp. 5–6
  • More than approximately 1,200 minimal flying machines lower the server tick rate below 20 ticks per second during a 20-second test.Dynamic machines are more demanding on tick rate than static blocks.Source: §3.1 · p. 6

3.2 Relevant Minecraft Blocks

  • Redstone circuits combine power, transmission, and mechanism components to activate and control machines, including components that move or otherwise change the environment.The implementation includes 254 block types, though many have no specific functional role.Source: §3.2 · p. 6

4 Evolutionary Optimization: Baseline Approaches

These baseline experiments show that human selection can steer artifact evolution and automated evolution can grow a tower toward a target, while evolving a consistently moving machine remains difficult.

4.1 Human in the loop: Interactive Evolution

  • Interactive evolution can incur human bias, fuzzy criteria, limited search, and user fatigue, and convergence is rarely guaranteed even under strong consistency assumptions.The authors suggest partial human intervention combined with other methods as a potentially more tractable alternative.Source: §4.1 · p. 7
  • The artifact encoding queries a feedforward network over a bounded 2D or 3D region, using spatial coordinates and center distance to generate blocks.Its output selects air or matter and block type, with an optional orientation encoding; the authors note that discretization and the simple encoding limit organic-looking shapes.Source: Artefact Encoding · p. 7
  • Interactive evolution uses an evolutionary strategy to generate candidates, with the human’s choice assigned fitness 1.0 and the others 0.0.The next generation is produced from those fitness values; structures below a minimum block count are hidden and assigned zero fitness.Source: IEC Setup · p. 7
  • Human-guided evolution converges to waterfall-like entities when the experimenter selects for water blocks, while other runs use subjective interest as the selection criterion.The interactive runs span 30 generations, with the first generation shown at left and the last at right.Source: Results · p. 7, Figure 5 · p. 8
  • Interactive evolution can produce controlled artifacts, but the examples reflect the chosen genotype-to-phenotype encoding more than the interactive process itself.The encoding may hinder some traits or artifacts while favoring others.Source: Results · p. 8

4.2 Automated Evolution

  • For the tower task, twenty towers are evaluated in parallel and fitness is the distance from the closest tower block to the gold block; the best 10% become parents.Two parents are merged into a child, with a 5% mutation chance, while the current best tower is copied unchanged into the next generation.Source: Evolving a tower growing towards a… · p. 9
  • The tower representation is a ternary tree whose child edges encode north, west, and up; crossover replaces a cut subtree with one from the second parent.Initial trees grow recursively, with the probability of creating children dropping by 0.05 at each layer.Source: Evolving a tower growing towards a… · p. 9
  • Evolution quickly finds a tower design that reaches the target, while evolved machines push their center of mass only 0.2 block positions before stopping, versus the minimal flying machine’s 17 positions in ten seconds.Tower images are shown for generations 1, 6, and 13.Source: Evolving a tower growing towards a… · p. 9, Evolving a moving machine · p. 9

5 Conclusion and Future Directions

EvoCraft’s first version enables evolution of Minecraft artifacts, including circuits and mechanisms, through automated and interactive tasks. Simple target-directed growth is feasible, but evolving a machine that moves remains challenging, motivating broader search methods and encodings.

5 Conclusion and Future Directions

  • EvoCraft’s first version supports evolution of artifacts in Minecraft, including circuits and mechanics.The API enables programmatic placement and tracking of blocks in a running server.Source: §5 · p. 9
  • Evolution did not find a machine that moves perpetually, despite producing machines that displace some blocks.The figure contrasts machines before and after triggered pistons push parts of their structures.Source: Figure 7 · p. 10
  • The framework’s usability is demonstrated on both automated and interactive evolutionary tasks.Source: §5 · p. 10
  • The authors propose testing quality-diversity methods after purely fitness-based evolution failed to evolve relatively simple flying machines.They ask whether quality-diversity methods could find stepping stones toward more complex artifacts.Source: §5 · p. 10
  • EvoCraft is not restricted to evolutionary optimization and could support comparisons with other machine-learning methods, including self-play and procedural content generation through reinforcement learning.Source: §5 · p. 10
  • Future work includes developing different genetic encodings, potentially including systems that build libraries of useful components such as moving parts or CPU registers.Source: §5 · p. 10
  • The next framework generation is planned to add evolution parallelized across multiple Minecraft servers.The current framework can simulate multiple individuals in one world.Source: §5 · p. 10

A.1 General Blocks

The appendix describes general block properties that affect movement, placement, and use, and points to catalogs of basic and other Minecraft blocks.

A.1 General Blocks

  • Almost all blocks ignore gravity, while a few—including sand, gravel, anvil, and snow—do not.Source: §A.1 · p. 13
  • Some blocks cannot be moved by players or entities, and some require particular tools to break.Examples include fire, lava, water, and web for immovable blocks, and iron, anvil, rock, snow, and brick for tool-dependent blocks.Source: §A.1 · p. 13
  • Some blocks have distinct states, such as flowing lava or powered and unpowered redstone components.Source: §A.1 · p. 13
  • Water and lava can obstruct movement and may form stone or obsidian when they meet.Source: §A.1 · p. 13
  • The appendix’s engine-oriented block selection includes catalogs titled Minecraft Basic Blocks and Other Minecraft Blocks.The preceding text identifies Table 1 as basic blocks and introduces the block selection as engine-oriented.Source: Table 1 · p. 13, §A.1 · p. 13, Table 2 · p. 14

A.2 Redstone Components

The appendix catalogs redstone power, transmission, and mechanism components, and notes that repeaters extend circuit reach. It also includes block-use notes and an example evolutionary-algorithm listing.

A.2 Redstone Components

  • The redstone component tables cover power, transmission, and mechanism components.Source: Table 3 · p. 15, Table 4 · p. 15, Table 5 · p. 16
  • A repeater repeats an incoming pulse after a delay of 0.1 to 0.4 seconds and helps overcome the 15-block limit of redstone circuits.Source: §A.2 · p. 15
  • The block notes describe resource and crop uses, including wheat growth and conditions for planting sugar cane.Source: §A.2 · p. 15
  • Listing 1.3 presents an example evolutionary algorithm using the EvoCraft Python client, with population initialization, repeated generations, and mutation.The snippets include reading blocks, sorting evaluated individuals, and conditionally mutating offspring.Source: §A.2 · pp. 16–17
Loading 2012.04751v1…