Quoridor - cs428TAs/w2024 GitHub Wiki

Project Overview

Git repo:

https://github.com/ethanmchls/cs428-quoridor

The Project

The idea is to make a video game version of Quoridor so you can play with others online. This would require a server client architecture. The game logic for this should be strait forward and easy to implement. The style can be as simple or detailed as needed.

image

How To Play

Quoridor is a board game played with two or four players. The point of the game is to be the first to get your pawn to the opposite end of the board. On your turn you can either move your piece or place a barrier. When placing a barrier, you must leave at least one path from each pawn to their destination. With two players, each gets 10 barriers that they can place.

Rulebook

Rulebook

Amazon link

Team Members

Front End

  • React
  • Tailwind

Back End

  • Node
  • Express
  • Socket.io

Milestones

  • Server administration and getting initial setup
  • 2 Player, working on a local machine
  • Asset creation
  • Multiplayer and game lobby
  • Store user data
  • Game logic and rules

Org Chart

Roles

Project Manager

  • Oversee project and milestones to keep the project on track
  • Manage communication between frontend, backend, and systems engineers

Chief Architect

  • Design the interaction between all parts of the system
  • Communicate with engineers and project manager

Systems Manager

  • Maintain server and database if applicable
  • Manage dependencies and configure project environment and version control

Front-end Developer

  • Design and develop front-end in React
  • Coordinate with full-stack developer to create a smooth user experience
  • Create assets for game objects

Back-end Developer

  • Program game logic and validate game state
  • Create endpoints for interaction between the back-end and front-end
  • Work with full-stack developer to create websockets

Full-stack Developer

  • Oversee the interaction between the front-end and back-end
  • Work with both front-end and back-end developers on websockets and express services

Requirements

  • Demo 1:
    • Websockets set up
    • 2 player lobby
    • Lobby view that shows current online players, shows how many you are waiting for to start game
    • When a user connects, they are sent to a lobby selection screen
  • Demo 2:
    • Game logic for 2 player
    • Game view and assets
    • Highlight available moves: for pawns and wall placement
    • Have images showing how many walls each player has left
  • Final Demo:
    • Game logic for 4 players
    • Lobby for 4 players
    • If someone disconnects, send everyone back to the lobby and display message
  • What we're leaving out
    • User authentication and stats

PERT and Gantt Charts

Architecture and Design Documents

Architecture diagram

Documents

Testing Plan

Testing plan

Status Reports

Week 1

Week 2

Week 3

Week 4

Week 5

Week 6

Week 7

Week 8

Week 9

Week 10