I wanted to know what is the correct way to go about structuring a client-server setup in the Handmade Hero source code.
Early on in the series, it was said that the only communication should be between the game itself feeding information to the platform layer (in this case Windows). And it was said the only other exception was if there was a network setup (which was outside of the scope of Handmade Hero).
I wanted to know how the code would have to be restructured to adhere to the correct client-server architecture.
Like, take the source code from Day 028 for example. Would the GAME_UPDATE_AND_RENDER code need to be moved to a new server file? Would the handmade.c file need to be changed in a significant way if client-side-prediction was to be implemented? What about lag compensation?
Also, does the server decide the initial starting location of all of the clients in the game? What about things besides movement, like clients interacting with items?