- The YourNameYourSurnameControllerName Controller must be implemented using Agent interface.
- All information about the Environment is provided by Environment interface.
- Any use of java.reflection of similar methods to directly access or influence the workings or internal state of the environment during runtime is forbidden.
- The controllers need to run in real time. This means that each time step can not require more than 40 ms processing on a MacBook Pro from 2008 (with a 2 GHz Core 2 Duo processor and 4GB RAM). How fast your submission runs on your computer can be gauged using the Stats class; if you think you run a risk of your submission not running fast enough, you should talk to Sergey before submission.
- Scoring will be measured as the average distance travelled on a number of previously unseen levels featuring enemies. We will use the CompetitionScore class; you should provide your own competition score with seed 0 in your submission, but we will not release the seed used in final scoring before the scoring event (in order to prevent overfitting controllers to a specific seed)
- Multi Objective fitness. MAIBe has now the tunable multi objective fitness function parameterised by ch.idsia.scenarios.champ.MarioSystemOfValues. This approach makes unlikely the case of two different agents having the same fitness. However we still have tiebreakers for this weird case.
- Tiebreakers. If two controllers get the same score a number of tiebreakers would be applied in the prescribed order:
- Number of creatures killed
- Number of coins gained
- Time (marioseconds)
- Time (running time)