You’ve Been Hired To Develop A New Web-Based Board Game Called “Monster Mayhem”. This Game Is Played On A 10×10 Grid Of Squares:

Description of Assessment Task Congratulations! You’ve been hired to develop a new web-based board game called “Monster Mayhem”. This game is played on a 10×10 grid of squares, with each side of the grid belonging to one player.

Game Mechanics: Each round, the player with the fewest monsters on the grid gets a turn first. If there is a tie, then it is randomly decided from among those with the least monsters.

On a player’s turn, they may play either a vampire, a werewolf, or a ghost anywhere on their edge of the grid. They may not move that monster this turn. They may also move any other monsters that they have. A monster can move any number of squares horizontally or vertically, or up to two squares diagonally. They can move over their own player’s monsters but cannot move over other players` monsters. If two monsters finish on the same square, they are dealt with as follows:

  • If there’s a vampire and a werewolf, the werewolf is removed.
  • If there’s a werewolf and a ghost, the ghost is removed.
  • If there’s a ghost and a vampire, the vampire is removed.
  • If there are two of the same kind of monster, both are removed.

A player’s turn ends when they decide so or if they have no monsters left to move. A round ends once all players have had a turn. A player is eliminated once 10 of their monsters have been removed. A player wins if all other players have been eliminated.

Game Requirements:

  • Each player has their own client.
  • Multiple games can be played simultaneously.
  • Each client must display an up-to-date total of the number of games that have been played.
  • Each player`s win statistics are always displayed – that is, the number of games won and lost.
  • The use of Git and GitHub is required. It is important that you make regular, substantial commits of your ongoing project so that we can see how the project is evolving.

You are also required to make a video demonstration of the game and explain your design rationale with regard to concurrency issues.

You are allowed (but not required) to use generative AI to generate game code only. Any such code generated must be clearly labeled as such, and the generation process thoroughly documented (including exact prompts). You are not allowed to use generative AI to generate web server or concurrency code.

Learning Outcomes: This assessment addresses the following module learning outcomes for this module:

  • MLO 3 – Demonstrate an understanding of concurrency issues when designing and implementing concurrent solutions.
  • MLO 4 – Demonstrate an understanding of client-server architecture and its use to solve communication issues between distributed processes while designing a system.
  • MLO 5 – Design, document, and implement a concurrent system based on the analysis of given system/user requirements and communicate the rationale for decisions taken to peers and project stakeholders.

WhatsApp icon