当前位置: 首页 > 知识库问答 >
问题:

MMO游戏算法发送其他玩家信息?

苍宜修
2023-03-14

我正在制作一个本地比赛的MMORPG游戏,我已经开始在服务器上工作,我遇到的问题是,我想要一种方法来检测每个玩家看到的其他玩家,这样我就可以将他们周围玩家的信息发送给特定的玩家。

首先,我想到了将一个2d圆形对象附加到玩家对象上,并对数据结构中的每个玩家进行碰撞检查,但这将非常耗费性能,有合适的算法吗?请帮帮我!

共有1个答案

宇文迪
2023-03-14

您可以使用矩形进行手动检查,而不是使用圆形和碰撞检测库,这很好,因为您的屏幕和播放区域可能是矩形的:

int dist = 100;
if (Math.abs(a.x - b.x) < distX && Math.abs(a.y - b.y) < distY) {
    // send player b to player a

您还可以手动检查两点之间的距离,这就像使用圆圈一样,但会消除碰撞检测库的开销。

如果您的玩家移动速度不是非常快,您可以每 10 次即时报价执行一次此检查,而不是每次逐笔报价。

 类似资料:
  • 问题内容: 我正在开发游戏,正在考虑进入网络。我从事编程工作已有大约5年的时间,最近2年从事游戏开发。我只在自己的时间里真正地在线学习和学习书籍。我正计划为Amazon AWS EC2创建一个Java服务器,但是我只是想知道MMO如何在每个刻度上处理多个玩家。 仅仅是服务器的强大功能吗?我不是在寻找代码或任何东西,只是在一般情况下服务器是如何工作的。 服务器是否只是对所有播放器以及成千上万个对象进

  • 我正在开发一个MMO射击游戏,类似于Python 2.7中的疯狂之神游戏。 游戏的玩家数据将包括每个玩家佩戴的装备、玩家姓名等。因此,当他们注销角色时,他们的玩家数据将被永久保存和保存,当他们再次登录时,他们的玩家数据将被加载到游戏中。为了安全起见,我估计唯一玩家数据条目的数量将为100万个条目。 将所有球员数据存储在一个巨大的txt文件中,或者26个文件,或者26*26个文件中,效率会更高吗?排

  • 我在创造一个骰子游戏。我被卡住了,我希望游戏比较每个玩家的滚动输出,这样得分最高的玩家就赢了。但是,我真的不知道该怎么做。

  • 本文向大家介绍请你列举出大型MMO游戏玩家交互系统中的其中四种。(如:组队)相关面试题,主要包含被问及请你列举出大型MMO游戏玩家交互系统中的其中四种。(如:组队)时的应答技巧和注意事项,需要的朋友参考一下 题目说的组队,更像一种交互方式而非系统,我就按照这个回答了: 1.个人秀互踩 玩家可以对自己的家园/***进行装扮 会有一个互踩的设计 2.师徒中的传功系统 师徒2个人 同时在一起 可以传功

  • 问题内容: 我正在开发多人游戏,无法找出如何将其他客户端连接到所创建的游戏。我的意思是客户端A创建与服务器的套接字连接,其他客户端(A,B …)如何连接到客户端A?有人可以帮我吗? PS我是网络编程的新手,因此,如果您可以举一些例子,我将不胜感激。 问题答案: 另一个客户端由于其防火墙而无法连接到客户端A。 您可以创建两种主要的网络: 服务器客户端 点对点 但是客户端可以将一些数据保存到服务器,服

  • 我们都知道MMO游戏的流行趋势。玩家面对面直播。 我关心的领域是玩家移动和游戏结果的存储。 通过NPGSQL适配器使用Csharp和PostgreSql v9.0 游戏客户端是基于浏览器的ASP.NET并调用所有与数据库相关的处理 为了理解我的查询,请考虑以下场景 我们将游戏进度存储在postgres表中。 例如,锦标赛从四名玩家开始,并遵循以下活动 < li >每个玩家从100点生命值开始 <