This is an old revision of the document!
You have three options to start the Ms. Pac-Man competition.
Option 1) JAVA code + WebPacMan.com
- For the original version, you need to configure the color of objects and the position of the game screen.
Option 2) C# code + Microsoft Revenge of Arcade
- It supports automatic detection of game screen. However, you need to get the Microsoft Revenge of Aracade (from store). We bought the SW from Amazon.com
Option 3) You can simply download ICE Pambush 3 source code (JAVA + WebPacMan)and start from it. It is composed of about ten rules with A* search algorithm. It supports automatic detection of gme screen.
| |
| ICE Pambush 5 |
Option 1
It is a toolkit provided by the competition organizer.
Download : Click
You need to configure the RGB code for the ghosts and the X-Y position of game screen in the MsPacInterface.Java code. You can start the sample controller.
java pacman.MsPacInterface
In the toolkit, there is an example controller code. It simply moves to the closest pill.
public int move(GameState gs) {
// let's say we move towards the
// simple controller that tries to move towards the nearest power pill
// set up a rogue value for the move, and a large value for the closest pill
move = -1;
double best = 100000;
for (int i = 0; i < dirs.length; i++) {
if (d[i] > 12) {
tmp.set(cur);
tmp.add(vDirs[i]);
// System.out.println(i + "\t " + eval(tmp, gs));
if (eval(tmp, gs) < best) {
move = i;
best = eval(tmp, gs);
}
}
}
if (move < 0) {
System.out.println("Move error: " + move);
}
// the +1 is to map the move into a range of joystick actions
// where '0' is centre position
move += 1;
return move;
}
public double eval(Vector2d pos, GameState gs) {
if (gs.closestPill != null) {
return pos.dist(gs.closestPill);
} else {
return 0;
}
}
Option 2
Download : Click
It automatically detects the position of the game screen. You don't need to reconfigure the color of the ghosts.
You can open the project from the package using Visual Studio 2008. It also supports the simulator for the Ms. Pac-Man controller.
You can control the program from the user interface.



