比方说,我有一款类似反恐精英的游戏,并且可以将玩家保留在服务器列表中,所以没关系。如果有玩家登录,我可以将其添加到列表中并将其发送给其他客户端。在其他客户端中,如果出现“ create_player”缓冲区,则它们将创建新的播放器。登录的客户端检查玩家列表并创建所有玩家。
到目前为止还可以。
但是我只是没有播放器对象,我有太多对象。子弹,怪物,盒子等
我不明白的问题:
0)我无法为所有对象创建列表。这在服务器端非常累人。而且我认为列表逻辑不正确。例如,如果没有盒子列表,那么游戏中其他客户会知道多少个盒子?
1)例如,如果我在客户端创建项目符号,那么如果该客户从游戏中摔落,该项目符号就会悬空。
2)如果玩家有滞后现象,如何检查子弹碰撞?
3)如果玩家按下一个盒子,我应该如何更新那个盒子的坐标?如果 我通过玩家推动盒子来发送盒子,这将是滞后的,因此物理引擎将在另一个客户端的其他位置。
4)因为服务器是socketio,所以我无法控制由服务器独立移动的怪物对象。我该如何检查?