For our final project we have developed a Monopoly game. This README will outline the key functionality and usage.
The app is deployed here: https://monopolywebsockets.herokuapp.com/
When playing, everything that happens gets logged to the log / chat. Pay close attention to this!
The app is built using React and Express. Front-end <-> Back-end communication is done with WebSockets using socket.io as a framework. State changes are handled server-side, then pushed to all connected clients in order to facilitate real-time change and ensure that the view is the same for all clients.
There is a chat in the top right corner of the board! Use that!
Yes. Once the game has started, anyone who joins will join as a spectator.
You can trade with other players in two ways:
Private sale: If you want do submit an offer to buy a players property, you can click their property and submit an offer. The Player who owns the Tile then has 20 seconds to accept or decline. You will be notified of their decision.
The open market: If you own a property you want to sell, you can click the property, and click "sell". Input a price and put it out. The property is now available for any player in the game to buy. You also have the option to remove the property off the market.
Then you're out of the game. All your properties are put back on the open market. However, you can still spectate the game, as well as send messages in the chat.
By being the only remaining player who is not bankrupt.
- Spectators and broke players can buy properties and make offers.
- Add a "win" screen.
- Add ability to buy houses on properties.
- Create socket.io rooms to be able to serve multiple, isolated games at once.
- More notifications and alerts to make important events in the game more noticable to everyone.
- Add WebRTC video and audio functionality for the players to communicate during the game.