Hotfix release available: 2025-05-14b "Librarian". upgrade now! [56.2] (what's this?)
Hotfix release available: 2025-05-14a "Librarian". upgrade now! [56.1] (what's this?)
New release available: 2025-05-14 "Librarian". upgrade now! [56] (what's this?)
Hotfix release available: 2024-02-06b "Kaos". upgrade now! [55.2] (what's this?)
Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
Hotfix release available: 2023-04-04b "Jack Jackrum". upgrade now! [54.2] (what's this?)
Hotfix release available: 2023-04-04a "Jack Jackrum". upgrade now! [54.1] (what's this?)
New release available: 2023-04-04 "Jack Jackrum". upgrade now! [54] (what's this?)
Hotfix release available: 2022-07-31b "Igor". upgrade now! [53.1] (what's this?)
Hotfix release available: 2022-07-31a "Igor". upgrade now! [53] (what's this?)
New release available: 2022-07-31 "Igor". upgrade now! [52.2] (what's this?)
New release candidate 2 available: rc2022-06-26 "Igor". upgrade now! [52.1] (what's this?)
New release candidate available: 2022-06-26 "Igor". upgrade now! [52] (what's this?)
Hotfix release available: 2020-07-29a "Hogfather". upgrade now! [51.4] (what's this?)
New release available: 2020-07-29 "Hogfather". upgrade now! [51.3] (what's this?)
New release candidate 3 available: 2020-06-09 "Hogfather". upgrade now! [51.2] (what's this?)
New release candidate 2 available: 2020-06-01 "Hogfather". upgrade now! [51.1] (what's this?)
New release candidate available: 2020-06-01 "Hogfather". upgrade now! [51] (what's this?)
Hotfix release available: 2018-04-22c "Greebo". upgrade now! [50.3] (what's this?)
Hotfix release available: 2018-04-22b "Greebo". upgrade now! [50.2] (what's this?)
Hotfix release available: 2018-04-22a "Greebo". upgrade now! [50.1] (what's this?)
New release available: 2018-04-22 "Greebo". upgrade now! [50] (what's this?)
Hotfix release available: 2017-02-19g "Frusterick Manners". upgrade now! [49.7] (what's this?)
Hotfix release available: 2017-02-19f "Frusterick Manners". upgrade now! [49.6] (what's this?)
Hotfix release available: 2017-02-19e "Frusterick Manners". upgrade now! [49.5] (what's this?)
Hotfix release available fixing CVE-2017-12979 and CVE-2017-12980: 2017-02-19d "Frusterick Manners". upgrade now! [49.4] (what's this?)
Hotfix release available fixing CVE-2017-12583: 2017-02-19c "Frusterick Manners". upgrade now! [49.3] (what's this?)
Hotfix release available fixing security token and media manager: 2017-02-19b "Frusterick Manners". upgrade now! [49.2] (what's this?)
Hotfix release available fixing install and media manager issues: 2017-02-19a "Frusterick Manners". upgrade now! [49.1] (what's this?)
New release available: 2017-02-19 "Frusterick Manners". upgrade now! [49] (what's this?)
Hotfix release available: 2016-06-26e "Elenor of Tsort". upgrade now! [48.5] (what's this?)
Hotfix release available fixing CVE-2017-12979 and CVE-2017-12980: 2016-06-26d "Elenor of Tsort". upgrade now! [48.4] (what's this?)
Hotfix release available fixing CVE-2017-12583: 2016-06-26c "Elenor of Tsort". upgrade now! [48.3] (what's this?)
Hotfix release available fixing security token: 2016-06-26b "Elenor of Tsort". upgrade now! [48.2] (what's this?)

Game AI Competition Portal

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).

Option 3) ICE Pambush 3

  • It is based on the option 1) but supports the automatic detection of game screen.

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.

Option 3

ICE Pambush 3는 2009년 경진대회에서 우승을 차지한 팀이다. JAVA에 기반하여 프로그램을 작성하였으며, 기존에 CIG에서 제공하는 JAVA 툴 킷의 스크린 캡쳐 부분을 수정하여 자동으로 게임 윈도우를 감지하기 때문에 CIG에서 제공하는 툴과 다르게 윈도우의 위치를 지정해주거나 유령의 색 코드를 맞추어줄 필요가 없어 굉장히 간편하다.

2009년 ICE Pambush 3 의 Document : http://cswww.essex.ac.uk/staff/sml/pacman/cig2009/ICEPambush3/ICE%20Pambush%203.pdf

ICE Pambush 3의 핵심 전략을 간략하게 소개하자면, 만약 유령과 적당한 거리를 유지한 상태에서 현재 Power pill(큰 알약)이 미스팩맨의 근처에 있다면 “습격 모드” On 하는 방식을 사용한다. 즉, 큰 알약의 주변에서 유령이 가까이 오기를 기다리고 있다가 유령이 근접하면 큰 알약을 먹고 유령을 먹어치워버린다. 그 이외에도 A* 알고리즘에서 현재 상황에 따라 두가지 버전의 다른 DFS(Depth First Search)를 사용하는 등의 특징이 있으나 여기서는 자세히 다루지 않겠다.

C# 대신 JAVA를 사용해서 경진 대회에 참여를 하고 싶다면 이 ICE Pambush 3 팀의 코드를 시작점으로 잡는 것도 하나의 좋은 방법이 될 수 있겠다. 위에서 소개한 C# 툴 킷의 경우에는 게임을 따로 시작해두지 않아도 자동으로 프로그램이 게임을 시작하게 하지만, 이 ICE Pambush 3의 프로그램은 게임을 자동으로 시작하지 않기 때문에 직접 시작 해주어야 한다