当设计一个网络多人游戏时,一个玩家托管,另一个玩家连接,我知道两种策略:
- 让主机玩家的游戏为权威,所有其他玩家为哑客户端,试图赶上当前的游戏状态。在代码中,将有很多特殊情况,具体取决于当前播放器是否是主机。
- 通过在另一个线程上运行隐藏的专用服务器,使主机像其他所有人一样成为哑客户端。专用服务器将成为授权者,而主机将像其他所有人一样(通过localhost)连接到它。
每种优点/缺点是什么?哪个是最常用的(或者它因游戏类型/大小而异)?
您所描述的第一种情况可能是P2P网络的一种形式(具有一个权威客户端),并且通常更为复杂,并且难以实现和维护。
—
akaltar