Abstract for group Clue This project will aim at bringing the classic board game ``Clue'' to embedded systems. About CLUE[1] CLUE is a crime fiction board game that tests the analytical skills of the players. The game is set in a mansion, with the board divided into different rooms. The players each represent a character who is a guest staying at this house, whose owner has been found murdered. Players take on the role of suspects and attempt to solve the murder. The solution to the murder requires the three components of Suspect, Weapon, and Room. The game requires 3-6 players. At the beginning of play, three cards -- one Suspect, one Weapon, and one Room card -- are chosen at random and put into a special envelope, so that no one can see them. These cards represent the true facts of the case. The remaining cards are distributed among the players. The aim is to deduce the details of the murder -- that is, the cards in the envelope. This is done by announcing suggestions to other players. An example of a suggestion is, "I suggest it was Mrs. White, in the Library, with the Rope." All elements contained in the suggestion are moved into the room in the suggestion (so Mrs. White and the Rope would be moved to the Library). The other players must then disprove the suggestion, if they can. This is done in clockwise order around the board. A suggestion is disproved by showing a card containing one of the suggestion components to the player making the suggestion (for example, the Rope), as this proves that the card cannot be in the envelope. Showing the card to the suggesting player is done in secret so the other players may not see which card is being used to disprove the suggestion. Once a suggestion has been disproved, the player's turn ends and moves onto the next player. System design One of the interesting aspects of the project is that it will allow users to play from different terminals at the same time. To achieve this, we will be using the Ethernet controller on the DE2 board. Packets sent over the network will contain information on user actions which will allow synchronization across all terminals connected to the game. We will be using the above hardware capabilities and the NIOS processor to bring the game to life. ``Clue'' will be coded in C, and will allow a maximum of 6 players. The system design for Network Clue game can be broadly divided into 3 components: Networking, video controller and game logic. Networking Networking component will provide communication infrastructure among players currently on board over the ethernet. Ethernet packets will be broadcast to every player with information which is to be shared with every player on board for example rolling of the dice, movement of a character on the board, suggestion made by a player etc. Ethernet packets will be unicast to provide point to point communication between two players. Game logic The game logic involves setting up the initial board and controlling the play. It also involves interacting with the networking and VGA display components of the system. Some of the tasks in the initial setup are: * UI for players to assume character roles. * Randomly select Suspect, Weapon, and Room cards and set them aside. Distribute the remaining the cards to the players. During the play: * Rolling the dice * Enforcing rounds * Tracking movement of characters on the screen * UI for players to show a card for disproving a suggestion * Handling accusations Video controller Video will be handled by a hardware/software implementation of a VGA display logic. The hardware part will be built on the FPGA and will be using sprite graphics. While this project may not require fast video processing capabilities, some of the video functions will still be performed in hardware mode. This is usually done in order to allow fast processing and higher frames/second. In this project, we aim to learn about video hardware acceleration, and we intend to make the user experience sleek and efficient. Reference: 1. http://en.wikipedia.org/wiki/Cluedo