Visual Doom AI Competition 2016 - Submission guidelines

The submission deadline has passed but the page is left here for the future reference.

Submissions should be made using the submission form but read the following guidelines before filling the form.

Last update: Sun Sep 11 01:24:30 CEST 2016

Note that a requirement for about.pdf (short agent description) was added in the latest update!

The form requires you to give a link (or two in case of participation in both tracks) to your code bundle(s) and here is a couple of words about how to prepare the bundle(s):

The root directory should contain a README file listing dependencies and some additional (optional) information which could be helpful or even essential to run your code. The root directory should also contain some additional files (sh for Linux and bat for Windows):

Make sure to add any symlinks required in e.g. Python's import vizdoom in make script or preferably beforhand (e.g. ln -s bin/python/python.so). Note that symlinks can be created even if the linked file (vizdoom.so) does not exist. Please do not copy the binaries - especially on runtime.

A code bundle should be structured as follows:

TEAM_NAME.zip
\----TEAM_NAME(your root directory)
     \----README
     \----make.sh or make.bat
     \----run.sh or run.bat
     ....other files and dirs which are NOT wads or binaries

We prepared a minimalist, sample bundles in case you have any doubts:

How the code will be run

All paths and configs are set so that running the programs from the team directory is required so run the agent from their directory and do not change it during runtime.

We have also prepared bundles showing how (more or less) we are planning to run your code. The bundles contain already unzipped sample teams (the same as above).

Note that the binaries and cig.wad might slighlty change with time due to corrections of yet undettected bugs and issues. Original bundles were created for version 1.1.0pre-CIG2016-warm-up. Current versions use Windows 1.0.4 release and Linux build made at the time of this commit(Mon Aug 22 18:41:55 CEST 2016).

To test how it all goes run run.sh or run.bat as follows:

########## WINDOWS ONLY ##########
# Run your program as the host:
run.sh -host YOUR_TEAM_DIRECTORY
# The same on Windows:
run.bat -host YOUR_TEAM_DIRECTORY
##################################

########## LINUX ONLY ##########
./run.sh --help
Usage: run.sh TEAM [OPTIONS]
Using join xor host is mandatory.
Options:
    --help                       Show this help.
    -h, --host  PLAYERS_NUM      Run as a host.
    -j, --join  HOST_IP          Join a game on the given ip.
    -r, --record  RECORD_FILE    Recording file name (none by default).
    -m, --map  MAP_NUMBER        Map number in {1,2,3,4,5} (none by default).
    -d, --doom                   Use doom2.wad instead of freedoom2.wad

# Host a game with 8 players on map01 
./run.sh YOUR_TEAM_DIRECTORY --host 8 -map 1
# Join a game hosted locally
./run.sh YOUR_TEAM_DIRECTORY --join 127.0.0.1
##################################

The host version waits for 7 other players to join you so to run a quick check change -host 8 in _vizdoom_host.cfg to -host 1 or spawn 7 other instances with -join. Note that -host 1 runs actually in a single player mode so it would be the best idea to try to run a truly multiplayer game (e.g. with human) to check if everything works correctly.