AI Domination Game Tutorial

By Xiong Xiong

eclipse project download link


Visual impression

žColors

dom game

Setup & Run

  1. Use “File-->Import…-->General-->Existing Projects into Workspace” to load the project into Eclipse
  2. Use the main() method in the java file: /DominationGame/src/edu/lu/DominationGame/execute.java as entry point
  3. Setup the “Run configuration” of execute.java
    • Add program arguments as follows:
      • rungame maps/map1D.txt maps/map1nav.txt (number of bots you want on a team) (total number of points you want the round to be) (team1's full name) (team2's full name)
      • Example:rungame maps/map1D.txt maps/map1nav.txt 3 50000 BasicTeam BasicTeam
    • Add “-Xmx512m” to VM arguments.

Score

HP & Fight

Respawn

Create your own team

  1. Create your own java class which extends DominationBotTeam into package "edu.lu.DominationGame.Teams" .
  2. Go to execute.java and add your team’s class name into following two methods:
    • execute.createTeam(String, int, Navigator)
    • execute.createBotType(String)

Move your bots

Tips for debugging

Change game speed

Change the parameter of “Thread.sleep(*)” in the method DominationGame.runGame(). So you can observe your team’s behavior more easily.

Check log file tempResults.txt in the root dir
Game framework will log the status of the game every 100 game turns using the following format
Team1_score Team2_score gameCounter

Evaluation

I will use 3 bots and the same maps you currently have to test your teams, because this promotes the most interesting strategies as opposed to simply sending each bot to a domination point. I would set the total number of points to be to around 50,000 when I test your teams. So it's very important that your teams can learn from previews mistakes. If you want to get a quick result, you probably want to comment out the “Thread.sleep(*)” statement in the method DominationGame.runGame().

Submission

Please email your source code and all depending libs to me one day before the tournament. I will create a script to test your team against any other team and generate a rank automatically.