among-us-ste-edition

Among Us Save-The-Environment Edition

prior to running, on linux, install:

On Ubuntu

sudo apt-get install build-essential libglu1-mesa-dev libpng-dev libasound2-dev libboost1.71-all-dev

On Fedora

sudo dnf install mesa-libGL-devel libpng-devel alsa-lib-devel boost-devel

also include the asio library into this project.

  1. Database: live on the server, synced across all clients
  2. Any change to the database will be reflected on all clients
  3. Based on MessageType, MessageAll will send message to all client (to update a key/value pair in the database)
  4. Acknowledgement (MessageACK) from each client. If no ACK => retry ~N times. After N times, disconnect client

  5. Lobby: live only on the server

  6. Client can only access lobby ids

  7. Allow client to connect to sever and choose a lobby ids

  8. Spin up 1 game instance (1 database) for each lobby

  9. Each lobby will run on its own thread

  10. Loop check client-server connectivity:

  11. Ping client every n ms

  12. If no ACK, then disconnect client

  13. Client is the only one doing the rendering + game physics

  14. Server is doing all the game logic (i.e. winning & losing conditions,..)

Built With

Share this project:

Updates