Skip to content

AlbinEsko/MultiAgentFilter_AE_JF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-agent based settlement generator for minecraft

This repository holds the code created for my and Johan's batchelors thesis at Malmö University and is also an entry to the GDMC competition for 2021. This generator was creted for the McEdit Unified framework. To use it the repo should be exctracted to a directory then that directory is placed in the stock-filter directory. Afterwards the filter is available for use in the McEdit client. The current implementation by 2021-07-13 can at most handle a 256x256 area and takes aproximately 10 minutes to execute on that sized area.

Install Instructions

  1. Follow the GDMC Instructions for getting started
  2. In your python 2.7 environment, esnure you have pygame 1.9.4 installed (use the "pip install pygame==1.9.4" command in the commandconsole)
  3. Extract this repo to the McEdit stock-filters directory (..\mcedit\stock-filters\MultiAgentFilter_AE_JF)
  4. Run McEdit and check in the filter list. This should be visible as "[MultiAgentFilter_AE_JF]main.py"

Generator Overview

The generator utilizes agents to accomplish its task. These are deffined as a thing which exist in the world, can take in information about its vicinity and act to make changes in the world.

To generate a settlement the generator uses a sequence of 4 steps.

  1. Scanning and Data processing
  2. Finding settlement start position
  3. Generating Roads
  4. Generating Buildings

The Scanning step reads in the selected area in the minecraft world and uses the data to build the required datastructures. For example the heightmap and graph. Then the start position is selected as a position in the largest flat area in the selection. The road generation uses two different agents to create a well connected road network the minecraft player character can travese. Finally the buildings are generated by finding available plots adjacent to roads and constructed on.

To get the full explanation of the generator see chapter 4 in our thesis paper published on diva-portal.

About

The collected code for the thesis artefact

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published