首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在物理密集型多人游戏中防止作弊

如何在物理密集型多人游戏中防止作弊
EN

Stack Overflow用户
提问于 2013-01-02 13:50:35
回答 1查看 669关注 0票数 4

我正在计划一个基于物理的竞争性多人游戏,用Java编写。它将涉及大量的碰撞检测和流体模拟,出于服务器负载的原因,我想在客户端进行这些工作。每个玩家都可以控制一辆车,可以完全独立于其他车辆进行模拟。

Multiplayer billiards game physics simulation中接受的答案(模拟服务器端!)对我来说是完全不切实际的。仅仅模拟几辆车就会消耗一台中端个人电脑的大部分资源。

我正在考虑让客户端模拟他们自己的车辆,服务器将他们的结果广播给其他客户端并调解冲突。通过使用服务器的备用CPU进行不定期的物理审计,作弊将在一定程度上得到防止。客户端不会知道它们何时被审计,因为它们无论如何都会发送所需的状态。

你怎么做?这个项目将只是为了好玩,所以我不会失去任何东西,如果人们真的作弊。

EN

Stack Overflow用户

回答已采纳

发布于 2013-01-02 15:25:03

在您提到的条件下,为了减少服务器上的负载,您可以做的事情是让每个客户端模拟自己的车辆,外加一个或多个随机车辆,这些车辆每隔一段时间随机变化。

这可以减少审计所需的服务器资源的数量,从而使您的审计更加频繁。如果不同玩家报告的数字不一致,您的服务器可以检查谁在作弊(审计人员或审计人员)。如果你让每个玩家的变量由两个或更多的其他玩家计算,随机选择,并以足够频繁的间隔改变,你就减少了玩家联合作弊的可能性。

如果您是在Java (JVM)环境下对服务器进行编码,那么可以帮助您进行大量分布式计算的库是Akka

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14117439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档