The overall goal is to make an asynchronous multiplayer Conway's Game of Life.C

computer science

Description

The overall goal is to make an asynchronous multiplayer Conway's Game of Life.

  • Follow all normal rules of Conway's Game of Life. (Note that updated time steps are always based on prior cells. Do not update the current cells based on current cells.)
  • The board size should be a minimum of 16 x 16 cells.
  • The game logic should be "played" and updated server side.
  • The client receives updates and displays them.  The client can click on a cell to make a cell alive or dead. 
  • Each client should be a unique color, (and give the user a choice of a few colors.)  If a user clicks on a cell to make the cell alive, the cell becomes that color.  If a cell were to become alive due to it being dead and having three living neighbors, the new alive cell must be an average of the colors of those three cells. 
  • The game should feel asynchronous in that the screen shouldn't reload to get new game state data.
  • Do not worry about picky synchronization issues or race condition issues. 
  • The game should work with one or more browsers watching the game and all able to participate.
  • I don't care if you have to manually start the game on the server or manually stop the game on the server. If that's easier for you, go ahead.
  • The server must be either Java or .NET Core.  It cannot be PHP, Node.js, or any other framework.
  • The database can be whatever you choose on whatever server you choose. If you can find a way to do this without a database, that is fine as well.  Most students in the past found a way to make it work through server side objects that share among multiple client sessions.
  • Programming this is probably easier to do asynchronous coding using WebSockets (server pushes data to client) instead of some AJAX approach (client pushes request and server responds).
  • The game must run on a publicly accessible server.   It cannot be a student's home server.


Related Questions in computer science category