我正在学习游戏开发,并正在考虑为 android 创建一个实时 2 人游戏。它需要在两个安卓设备上同时玩两个玩家,一个像这样:Gurrilla bob
现在我想知道是否有一些关于应该在两台设备之间实时共享什么的教程,以便在每台设备上运行的游戏保持同步?我不想知道网络实现。
是那个吗
游戏在一台主设备上运行,屏幕在另一台设备上共享,它只是向主游戏报告输入事件。
这两个设备共享物理世界的细节(物体的位置、作用在它们上的力、它们的位置)或类似的东西(我只是在猜测)?
还是完全不同的东西?
我正在学习游戏开发,并正在考虑为 android 创建一个实时 2 人游戏。它需要在两个安卓设备上同时玩两个玩家,一个像这样:Gurrilla bob
现在我想知道是否有一些关于应该在两台设备之间实时共享什么的教程,以便在每台设备上运行的游戏保持同步?我不想知道网络实现。
是那个吗
游戏在一台主设备上运行,屏幕在另一台设备上共享,它只是向主游戏报告输入事件。
这两个设备共享物理世界的细节(物体的位置、作用在它们上的力、它们的位置)或类似的东西(我只是在猜测)?
还是完全不同的东西?
“我们共享的数据”的范围实际上取决于您想要的安全级别。在大型多人在线游戏中(这有点不同,因为它在玩家之间有一个服务器),共享的数据可能介于以下之间,从最安全的:
给最不安全的人
现在,因为您既不是在谈论 MMO,也不是在谈论安全性很重要的游戏(毕竟,它在 Android 上运行,很少有人知道如何破解应用程序,而且您也不打算发布它) ,我觉得在没有必要的时候写这么多有点愚蠢,但我希望你能从中得到一些。
回到你的问题 - 在谈论 2 人游戏时,尤其是在手机上,实时性和网络效率是最重要的因素。因此,我们可以取消“共享屏幕”选项,因为流媒体视频不是那么快或网络效率不高。
我认为最好的解决方案是两个设备都响应输入并将结果发送给对方。这样,用户将不会遇到延迟,或者只是很少。您必须处理延迟可能导致的特殊情况(例如,在谈论射击游戏时 - 如果玩家 A 射杀了玩家 B,但玩家 B 滞后并花了 5 秒才收到结果,同时在他死之前他枪杀了玩家 A,玩家 A 不应该死。)