I am creating a card game in C# for a school project. This card game is networked. The card game's game data is stored in a singleton object as gameData. gameData holds, the player names, which player the game is waiting on, player objects. Each player has 3 List objects. Where the cards are again custom objects. Originally I was going to create a ToByte() method for each card, player, and gameData object and serialize them to send over the network using TCPlistener. However running low on time I am looking for other ways.
These are the solutions I have heard of:
-SOAP (Have no clue how to implement this)
-Database (seems overkill for LAN, unless if a small database server can be made to run on the fly)
-Client Activated Object (but this create different singleton for each client)
What I would like to do is make that each client use their own gameData but using the get, set it would talk to a server that host this singleton object data. What do you recommend?