Multithreaded Pacman Game – (single-node)

Implement a multithreaded version of the arcade video game Pacman. This version will be a Computer vs Human game. Each enemy will be independent and the number of enemies is configurable. Below you can see the general requirements for the enemies and human player (pacman) interation.

Pacman

Technical Requirements

  • The game’s maze layout can be static.
  • The pacman gamer must be controlled by the user.
  • Enemies are autonomous entities that will move a random way.
  • Enemies and pacman should respect the layout limits and walls.
  • Enemies number can be configured on game’s start.
  • Each enemy’s behaviour will be implemented as a separated thread.
  • Enemies and pacman threads must use the same map or game layout data structure resource.
  • Display obtained pacman’s scores.
  • Pacman loses when an enemy touches it.
  • Pacman wins the game when it has taken all coins in the map.

General Requirements

  • Make sure that you complete the below defined deliverables.
  • Source code dependencies must be clearly documented.

Deliverables

  • Source code can be in a single student’s account and the other team members can contribute to the same repository.
  • Architecture Document – ARCHITECTURE.md
    • Details on how you designed and implemented your solution
    • Project architecture description, diagrams, charts and everything related to the way you think/design/build your program
  • Build/Run automation (Makefile and documentation – PACMAN.md)
    • Instructions on how to build and run your program
  • Project’s presentation (5-10 minutes)
    • A video presentation that will be delivered to the professor, in youtube preferable

Permitted programming languages

  • Multithreaded core backend
    • C
    • Go
  • User Interface (optional)
    • Any
    • If it’s terminal, output must be human-readable

Grading Policy

Concept Grade
Architecture Document 20%
Multithreaded implementation 30%
Build Automation 20%
Coding best practices 10%
Presentation 20%
TOTAL 100%
  • Free Lab Bonus

    You get cat an extra bonus if you implement an Artificial Intelligence algorithm in enemies behaviour for finding the pacman location, trace the route and follow it. This AI must be documented in the ARCHITECTURE.md file.

GitHub

View Github