Advanced options
The commands listed on the
getting started page shows you in a simple way how to run the code and should be enough to get you started on developing your own agents. However, as an alternative way of using software, the MainRun class can be invoked with a number of arguments to control various aspects of the game. A list of these commands can be found
here.
For example, to start a server, try the following:
java ch.idsia.scenarios.MainRun -server on -vaot on -vlx 1044 -vly 10
Starts a server.
java java ch.idsia.scenarios.MainRun -ag ScaredAgent -ld 5 -lt 1
Runs the ScaredAgent on a level of difficulty 5 and type 1.
java ch.idsia.scenarios.MainRun -an 42 -ld 5 -lt 2
Lets you play an underground level with difficulty 5.
The zoom levels feature of the environment observation is documented
here.
Client/server control via TCP
If you create your agent in another language than Java, you will need to interface to the Mario AI code package via TCP. (Except if you use another language that runs on the JVM, or use a custom solution such as JNI or Mathematica's JLink.) For your convenience, a sample Python client is provided. This is how you get the Python client running:
Start the server:
java ch.idsia.scenarios.MainRun -server
Start client:
python python/research/scripts/ipymario.py
If you have pybrain installed, otherwise:
python python/competition/ipymario.py
You will find some options used to run the agent and rewards obtained in ipymario.py. Almost all of the command lines options are available through TCP, and this way you can tweak the levels as conveniently and flexiblly as in Java. For more details have a look at file marioenvironment.py