Technologies and Technical Challenges - nirkraw/Haiclue GitHub Wiki
Technologies and Technical Challenges
Technologies utilized:
- MongoDB
- React
- Node.js
- Express
- Socket.io
- CSS
- HTML5
Haiclue uses web-sockets to allow multiple players to play the game in real time. We use MongoDB to store information about the word tiles and the users. We use Node.js for our game logic and Express as our framework and router. React will function as our frontend.
Backend: MongoDB will only be updated when a player joins or scores points but we will be accessing the word tiles table frequently. Using web-sockets with Node.js will allow us to broadcast requests to all current players when one player performs an action. This allows us to simulate the same game state across all the connections.
Frontend: We will be using react so that each player has a different view of the same game. Each player will not be able to see the others word tiles until they form and submit a clue. Using react and web-sockets we can make a dynamic real-time game. We also plan to use asynchronous requests to create a time limit on each action.
Challenges: There are many challenges such as grouping sets of players to a game. Making sure all players have finished the phase. Handling leavers or disconnects, and keeping the player inputs separate. We want to be displaying the correct players clue at the right time to the correct players.