I'm trying to create a multiplayer game using Slick2D and Kryonet and need a few tips to get started. I've already done a bit of networking in Kryonet to test it out, so I know how it all works, but it would be helpful to have some sense for the architecture of the whole thing. What would be the best way to set up a client and server game system?
Some more specific questions that I have:
- Should I be running Slick from the client, server, or both?
- Should I be sending the whole game state or just things like entity data, positions, etc?
- How often should I be sending the information to the client?
- How and how often would input be sent from the client to the server?
- What code should I have on both the client and the server?
Note that I want to keep the server and client together, so that it is possible to host a server and play on it from the same program.
Any help is appreciated!