Task: Pacman CTF
• Goal:
• Steal all enemy pellets and bring them back to your base!
• Teams:
• 2 agents. Both can do offense and defense.
How does the game work?
• Two teams per match
• Two agents per team
• Map is divided into two halves, each half corresponds to a team
• To score points, an agent from your team must: • Go into enemy territory and steal pellets
• Make it back alive to your side of the map
How does the game work?
• An agent’s location is important!
• If you are on your side of the map, you are a ghost: • You can eat enemy agents!
• If you an on the enemy’s side, you are a pacman: • You can steal pellets, but you are defenseless!
• Roles are not fixed!
How does the game work?
• An agent’s location is important!
• If you are on your side of the map, you are a ghost: • You can eat enemy agents!
• If you an on the enemy’s side, you are a pacman: • You can steal pellets, but you are defenseless!
• Roles are not fixed!
• What about power pellets?
• While activated, all enemies are turned into pacmans temporarily!
More on Rules…
• If a pacman is eaten while carrying pellets:
• Its team gains no points.
• The pacman dies and returns to its starting position. • Food pellets are returned to the map.
6
More on Rules…
• If a pacman is eaten while carrying pellets:
• Its team gains no points.
• The pacman dies and returns to its starting position. • Food pellets are returned to the map.
• A match ends when:
• A team steals all but two of the enemy team’s food pellets.
• Each agent does 150 moves
• Whoever has the most points at the end wins!
6
What you need to do
• Get a team! (2 people maximum)
• Design a team of agents that can beat your peers!
• You may use any techniques at your disposal, both from class and from anywhere else!
• You may not use third party libraries in your submitted code
• Make sure that your agents can return an action in at most 1 second! If your agents take too long, the game
will be forfeit!
7
Set Up
• Python 2 codebase
• Basic APIs to query game information.
• Note: You have to spend some time looking at the code to understand how to use it.
• Note: You can also access time
8
Set Up
• Python 2 codebase
• Basic APIs to query game information.
• Note: You have to spend some time looking at the code to understand how to use it.
• Note: You can also access time
• Simple baseline team: baselineTeam.pyy • myTeam.py file
• You can run games locally
8
Evaluation
• All submitted teams will play against each other multiple times in randomized maps.
• A ranking will be generated based on overall performance.
• Your grade will be directly proportional to your rank!
9
What to submit?
• Your agents, in a single .py file:
• (Optional) Friendly Tournament: 2% extra
points.
• Preliminary Evaluation – 3.5% of course
grade
• Final Evaluation – 7% of course grade
• Final report – 1.5% of course grade
Multiple evaluations so you know where your implementation stands against other teams!
10
Important Dates
• March 31: Initial release
• April 23: Optional Friendly Tournament (Extra points!) • April 30: Preliminary Evaluations
• May 12: Final Evaluations
• May 13: Final Report Submission
Important: No late submissions!
Important!
Whenever you submit:
● If your code crashes, you get 0 points.
● If your code times out, you get 0 points (forfeit)
● No computation during the opponent’s turn
● No multi-threading (disqualified)
● 10% penalty if:
○ You submit a zip file