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.
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
Team Members
- Samuel Olausson
- [email protected]
- (801)-797-4416
- Ethan Michaelis
- [email protected]
- (385)-321-0020
- Garrett Sapp
- [email protected]
- 757-334-4629
- Michael Perkins
- [email protected]
- (801)889.0304
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