Assignment 3 description

In Assignment 3, all problems are set in a Maze of the same type as Assignment 2, but this time you will be competing against the other teams in a version of the Pac Man Capture the Flag game.

The unity project can be found here:

pacman.png

The rules are as follows:

  • The maze will have two symmetric halves, the blue and red sides.
  • Each team spawns on their own side, as ghosts (that can kill pac man)
  • Once you travel into the side of the other team, your ghost transforms into a pac man.
  • On the other side, you can eat pills (as pac man)
  • If you come back to your side after having eaten some enemy pills, these pills will be dropped on your side close to where you crossed the border
  • The objective is to have more pills on your side
  • If you eat a super-pill on the opponent side, you can eat ghosts for a short amount of time (10s)
  • If you try to eat a super-pill on your side you die
  • All killed agents will
    • immediately drop all pills they are carrying
    • re-spawn on their own side
  • Sensing of enemy agent works as follows
    • if an enemy is within line-of-sight of one agent on your team, you get access to its position
    • if an enemy is not within line-of-sight, but moving above 0.3m/s you can "hear" him, in the sense of getting a distorted location (+/-5) the distortion will be re-sampled every (1) second
    • if one of your pills get eaten, an enemy was there...

 

In order for you to be able to compete agains the other teams, the code can be compiled and run in a Client/Server mode, so you can share your design with other teams without sharing your source code. More details on this can be found in the Readme.MD file in the same folder as the rest of the unity code.

Note that the Client/Server mode induces some small delays between your code, and the agents it controls. This is similar to a real robot being controlled by software. So be sure to design your software code so it runs well in the Client/Server mode, not only in the Host mode (having much smaller time delays). The final competition will run in the client/server mode.

Progress report

The same routine as last assignment. Use this Google Sheet. Links to an external site. 

Sources of inspiration

  • Rohlfshagen, Philipp, et al. "Pac-man conquers academia: Two decades of research using a classic arcade game." IEEE Transactions on Games 10.3 (2017).

  • Pepels, Tom, Mark HM Winands, and Marc Lanctot. "Real-time monte carlo tree search in ms pac-man." IEEE Transactions on Computational Intelligence and AI in games 6.3 (2014): 245-257.
  • Voronoi diagrams on a graph: Wang, Y.; Colledanchise, M.; Marzinotto, A.; Ögren, P. A Distributed Convergent Solution to the Ambulance Positioning Problem on a Streetmap Graph. IFAC Proceedings Volumes 2014.
  • Shortest loops around obstacles: Nilsson, U.; Ogren, P.; Thunberg, J. Optimal Positioning of Surveillance UGVs. In 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems; IEEE: Nice, 2008. Links to an external site.
  • Behavior Trees might be useful to address subtasks such as chasing, eating, defending pills...
  • ... and whatever sources you might find...