关于网络游戏位置同步也是参考了不少资料的。目前一般都是将地图在服务器切割成等大的块,然后每块里面有个链表或者map,来记录这块的实体
玩家在进入地图的时候,同步模块根据玩家所在的位置同步玩家9块所有的实体。并将玩家进入的消息告知这9块的实体。玩家在移动的时候,就向服务器提交一个路径。服务器广播给周围9块的实体,所以其他玩家能看到这个玩家的移动。但在该玩家移动的过程中,并不需要向服务器提交当前位置信息,而是游戏服务器来广播他的位置。但如果玩家要是移动的距离较远的话,其他模块的玩家是只能看到玩家站在那,然后过会玩家就会离开。不过这样可以减少需要同步的信息。
其他的同步可以是直接链表或者双向链表,十字链表。十字链表效率较高对于小步移动的游戏来说。
http://blog.163.com/zqy216_2008/blog/static/411937182011725104735834/
http://www.cnblogs.com/sniperHW/archive/2012/09/29/2707953.html
http://www.cnblogs.com/sniperHW/archive/2012/09/29/2707953.html