【发布时间】:2014-01-06 14:25:28
【问题描述】:
所以我的项目是一个在线 RTS(实时策略)游戏 (VB.NET),其中 - 在匹配服务器匹配 2 名玩家后 - 一名玩家被分配为主机,另一名玩家作为套接字通信 (TPC) 中的客户端。
我的设计是服务器和客户端只记录和发送有关输入的信息,游戏根据输入的信息处理所有的动画/动作。
这很有效,除非服务器和客户端的游戏以相同的速度运行。似乎游戏中的操作以不同的速度处理,无论我是否在同一台计算机上同时拥有客户端和服务器,或者我是否使用不同的计算机作为服务器/客户端。这显然对游戏的运行至关重要。
由于游戏有时有 300-500 个单位,我认为从服务器/客户端每秒发送 10 次整个游戏状态会太多。
所以我的问题是:
如何在仅发送输入的同时同步游戏? (如果可能)
在这种情况下还有哪些其他设计可行,它们是如何工作的?
(在 VB.NET 中,我使用计时器进行操作,例如每 100 毫秒(计时器间隔)一个角色移动并更改动画,诸如此类)
在此先感谢您对此问题的任何帮助,我的项目真的依赖它!
【问题讨论】:
标签: vb.net sockets time synchronization