Rules of Feudalism docs
Networking
General ideas are to make clent/server protocol. What this protocol should conatin:
- Simple way of turning network on/off - to provide possibility of better debugging (it's hard to debug client/server application)
- Algorithms should be hacking resistant. Because it's an open source project everyone can do what he want with client (not with server if in internet), so client should receive only informations what client needs to show (ie. there should be no possibility of braking fog of war by client)
- Of course it should be fast.
- All random operations should be placed on server
- AI should be same client as player (possibility of dividing ai into different comps).
I have some ideas about how it should be done. Here they are:
- Preffered level of client/server division: Client is only making decisions. Server will only receive actions performed by player.
- Server will send to each client: Changes in FoW, positions of VISIBLE units and changes in resources.
Within this it should be mainly hackers-resistant. Of course player can make some additional algorithms for helping, but it will not exceed possibility of pen+paper support.