【发布时间】:2018-02-22 12:04:18
【问题描述】:
总的来说,我是网络游戏和多人游戏的新手,所以我尝试进入这个领域作为挑战并发现更多关于它的信息。所以我决定制作一个内置在 cocos2dx 多人游戏中的现成游戏。我使用 enet 创建了服务器端,基本上我所做的就是发送速度和位置。 我注意到同步不是很完美我在谷歌搜索了一些说我们应该在服务器端做物理逻辑所以我的问题是: 我怎样才能完美地同步客户端之间的动作? 如果通过在服务器端做物理的东西我怎么能做这个任何例子? 我使用的是(集成在 cocos2dx 中的)Box2D 物理引擎
感谢阅读抱歉拼写错误
【问题讨论】:
-
请提供一个小的可重复和可编译的问题示例。展示你到目前为止所做的事情。
-
您的问题有多大?毫秒?秒?在。。。之间的某处?客户端是否在世界各地的同一个网络、不同的网络上?请记住,除非所有客户端都在同一个网段上,否则由于网络延迟以及客户端和服务器之间的距离,它们之间的同步总是会相互“关闭”。
-
标点符号也不错。
-
当玩家加入服务器时并不是一件大事,服务器会向每个客户端发送有一个加入的客户端并使用玩家类创建一个玩家实例,然后每当玩家移动他的人时将速度发送给其他客户端并移动已经创建的实例
-
你有没有真正检查过你最喜欢的网络游戏是否完美同步?
标签: c++ cocos2d-x game-physics multiplayer enet