<center><table width=80%><tr><td><font color=000080 face="Verdana" size=2><font size="1">quote:
<img src="/images/blue1.gif" width=100% height=1>
</font>
But if I understood civ2 multiplayer model good, it is structured so that clients communicate with the host, so host has num_players-1 connections and each player only one. If the player with the slowest connection is host, he needs to send data to all clients, which is slower then if he has to send it only to host.
<img src="/images/blue1.gif" width=100% height=1></font></td></tr></table></center>
I see that you are in charge of developing multiplayer part of Openciv.
On the start of the game the Host sends all the clients the map. From that point on any changes that you make are sent to the server, and the server then relays all those changes to the other clients. (Changing city production during anyones turn sends the new status to the server). The problem with this is that if someone moves right before the host, and another player changes city production this information is discarded if the player who goes before the host presses next turn.
There is also a lot of problems with cheating. The host would need to have a class deadicated to saving "previous" values. For instance science and cash of every civ and the associated tax rates, Combat units & non combat units. This could then be used to generate graphs, for the demo graphic sections. Another good thing would be to put real passwords on civ. 128 bit RSA encyption of the map data shouldn't be that hard to do. Not sure if its still outlawed in the states. (its like 15 lines of code!)
<img src="/images/blue1.gif" width=100% height=1>
</font>
But if I understood civ2 multiplayer model good, it is structured so that clients communicate with the host, so host has num_players-1 connections and each player only one. If the player with the slowest connection is host, he needs to send data to all clients, which is slower then if he has to send it only to host.
<img src="/images/blue1.gif" width=100% height=1></font></td></tr></table></center>
I see that you are in charge of developing multiplayer part of Openciv.
On the start of the game the Host sends all the clients the map. From that point on any changes that you make are sent to the server, and the server then relays all those changes to the other clients. (Changing city production during anyones turn sends the new status to the server). The problem with this is that if someone moves right before the host, and another player changes city production this information is discarded if the player who goes before the host presses next turn.
There is also a lot of problems with cheating. The host would need to have a class deadicated to saving "previous" values. For instance science and cash of every civ and the associated tax rates, Combat units & non combat units. This could then be used to generate graphs, for the demo graphic sections. Another good thing would be to put real passwords on civ. 128 bit RSA encyption of the map data shouldn't be that hard to do. Not sure if its still outlawed in the states. (its like 15 lines of code!)
Comment