# $Id: rules,v 1.1 2007/02/02 16:04:20 orts_mburo Exp $ Tournament Rules ---------------- - No fees. - Prizes! $750 total. - By submitting an entry, program authors warrant that their entries do not violate or infringe the rights, including, without limitation, copyright, patents, trademark rights or rights of publicity or privacy, of any third party. - Complete and comprehensible source code - with the exception of closed-source components (see below) - will be revealed to the public after the competition. This includes tools and training data for generating all data files being used by the competition entries. Authors are free to choose any OSI Certified Open Source Software license for their code (http://opensource.org/licenses/) with the condition that it can be freely used for research purposes and subsequent competitions. After the tournament, program authors are obliged to answer questions regarding algorithms and data structures they employed. It is at the tournament committee's discretion to remove programs from the competition retroactively if authors are not cooperative. - Using any form of open-source software components is allowed, subject to their individual licenses. - The only closed-source components permitted are Well-documented generic third-party components or compilers/interpreters that can be downloaded from web/ftp-sites and have not been altered by program authors in any way. When entering the competition, authors must specify the version of all closed-source components they use. This will enable the committee to create executables independently and to compare them to the actual programs that were run. - Only one submission per author/group and category. This is to limit swamping the tournament with virtually identical entries or rolling over to "friendly" players to boost the score. - Authors do not have to be present at AIIDE. - Persons who participated in the development of any closed-source component used by any tournament entry are excluded from the competition. - Programs have to be sufficiently distinct. It is at the committee's discretion to reject similar submissions. - Programs are not allowed to establish remote socket connections other than those used for communicating with the ORTS server. - Programs are not allowed to write data to disk. The working directory will be restored prior to each game. - Programs are not allowed to collude. - Cheating in any way can lead to authors being banned from future competitions. Executables will be generated on Linux machines prior to the competition. This process includes compiling all C/C++ source code with gcc/g++ 4.x.y and linking with closed-source components - if necessary. If other languages are being used, compilers/interpreters for them have to be available for Linux. Using C++ is not required because it is possible to implement the socket communication with the ORTS server in any suitable language. However, the message protocol isn't trivial because of incremental and compressed view updates. We therefore encourage program authors to either write their AI client software in C++ to have direct access to the provided client class (see orts3/apps/sampleai) or to use a class wrapper if possible. Tournament Preparation ---------------------- Game programs ("the players") will be installed under individual accounts on an on-site network of Linux computers. Once installed and tested, players can no longer be changed - even in case of blatant errors during the competition such as segmentation faults. This is to ensure that players are not adapted to opponents or maps. Running Games ------------- Games will be run in a semi-automated fashion. In each round and for each game to be played, a script will start an ORTS server and one or two players on different computers. When a game is finished, the ORTS server will report the outcome back to the tournament software. Players are run in UNIX sandboxes which are cleared after each game. Thus, players won't be able to memorize games. The initial game states will be randomized. To improve fairness, each participant is asked to provide a "secret" 32 bit number just before the tournament begins. These numbers will be xor'ed to form a single "magic" number to which constants will be added to create a sequence of N random number seeds for each game category. These values will be passed on to the ORTS server for generating the initial game position and running the simulation. The server will create log files which allows us to replay games later. In addition, spectators will be able to watch games in progress. In category 1, a series of N single player games will be played. In categories 2 and 3, for each player pair a series of 2*N games will be played - N initial positions played twice each with switched player positions - to mitigate the effect of possibly unbalanced starting conditions. The maximal game times, N, and the tournament mode (round-robin, Swiss system, and/or elimination rounds) will depend on the number of participants and the available hardware at the tournament site. Posters and Presentations ------------------------- On-site teams will get the opportunity to describe their entries in form of posters and/or workshop presentations. Details TBA. # revision history 28-Nov-2005: initial release 02-Dec-2005: no fees, allow closed-source third-party software components, all other code has to be revealed. 14-Apr-2006: prizes