Skip to content

Submission Instructions

Michael Green edited this page Apr 6, 2018 · 14 revisions

Format

We will accept submission in two formats:

  • MCEdit filter: a ZIP file, which contains a python filter file, complete with a filter "perform function", and optionally, any other required files necessary for your code (data files, etc). This will be unzipped into the filters folder and run from within MCEdit. The perform function should contain the code that builds the settlement for the map and within the coordinates specified as parameters in the perform function. The coordinates give the corner of a bounding box, the settlement should be built within that bounding box.
  • Standalone submission: a ZIP file, containing an executable file and any required libraries (for any programming language). The ZIP file will be extracted to a folder together with the map file to be edited and an instructions.txt file. The file instructions.txt specifies the maps the settlements should be built on and the coordinates within which the settlement should be constructed. The file also provides filenames for saving the maps with the constructed settlements.

Testing

All python submissions will be evaluated within standard Anaconda environment, plus the following supported libraries:

  • PyTorch
  • Keras (and therefore Tensorflow)
  • Scipy
  • Scikit-learn

If you would like to use any other libraries, please notify us as soon as possible so we can decide whether to support it, in which case it will be added to the list. If we do support it, we will notify everyone on all available channels (Twitter, Discord, etc)

NON-MCEDIT FILTER SUBMISSIONS ONLY

For the standalone submission, your code is expected to read the instructions.csv file, which will consist of one or more rows, where each row is:

  • A string containing the name of the directory of the input map (map to be read and edited)
  • A string containing the name of the directory of the output map (which will be generated by your program)
  • Six integers x1, y1, z1, x2, y2, z2, which together define the bounding box of the map

Any part of the settlement that is generated outside this bounding box will not be considered. You can assume x1 < x2, y1 < y2 and z1 < z2

An example instructions.csv file looks like this:

TestMap1,GeneratedMap1,0,0,0,128,256,128 TestMap2,GeneratedMap2,-100,0,-57,28,256,95