-2

我有一个内置flash的单人小游戏,类似于蠕虫。您可以移动鼠标来计算角度,单击进行射击,并根据风向您的射击施加或多或少的力量。

对此的物理学完全是在动作脚本中编程的。我想知道如果我想构建一个实时多人 1 对 1 版本,最好的解决方案是什么。现在,我已经在后端设置了一个 flash 和 node 的小示例,它们与以 json 格式传递数据的套接字(node.js 中的网络模块)进行通信。到目前为止一切正常。我现在想到了一个具体的问题......

1) 子弹动画应该只由客户端处理,还是只由服务器处理,还是两者都处理?

如果客户端处理所有子弹动画,它会更容易作弊,但更容易开发它已经完成了。如果服务器处理它,我将不得不构建功能来平滑动画。但也许,因为它只是一个简单的 1 对 1 游戏,它是免费的,只是为了好玩,应该继续在 flash 中移动子弹,在 flash 中检测碰撞,并在我击中对手时通知服务器?或者还有什么我可以做的吗?

4

1 回答 1

1

可以被利用的逻辑应该在服务器上完成。可视化是不能被利用的逻辑,即使如此,它也不会影响其他玩家。它应该在客户端上完成。

此外,当您收到每次射击的数据时,您应该检查它是否有效(例如,力量是否太大或玩家是否已用完子弹)。这是可以利用的逻辑。

Flash也支持TCP 套接字, Node也是如此。与其创建请求/响应架构,不如使用套接字更有效。

还有一个建议,使用HTML5 CanvasWebSocketsProcessing.js等技术,您应该考虑使用HTMLJavaScript构建您的应用程序,因为这将使所有设备上的所有用户都可以播放它。

于 2013-02-25T10:57:27.550 回答