我将如何跟踪赛车游戏中玩家和 AI 的位置?

问题描述

总结:

所以,正如问题所暗示的那样,我正在尝试开发一款赛车游戏。虽然,我需要创建一个系统来跟踪玩家和 AI 所处的位置。位置如第一、第二、第三等。

我尝试过的:

起初我打算使用由 Jimmy Vegas 在他的一个教程中制作的用于开发赛车游戏的系统,但该系统仅适用于两辆车和一个封闭的赛道/赛道。我的游戏是越野赛车游戏,这意味着赛道是开放的,玩家可以在那里创建自己的捷径,没有墙壁会限制玩家在地图上漫游的能力。这使得 Jimmy Vegas 的系统对我的赛车游戏类型毫无用处。我试图弄乱代码以找到仍然使用他的系统的方法,但我担心它不起作用。任何帮助将不胜感激!

解决方法

可能的解决方案

我不会为此编写代码,因为它过于特定于实现,但这里有一些清单伪代码。

使用以下方法计算两个玩家之间的相对位置:

  1. 首先按圈数进行比较。
  2. 如果圈数相同,则按检查点进行比较。
  3. 如果检查点相同,则使用距离函数与下一个检查点进行比较。这个函数可能和欧几里得距离一样简单,但我建议你使用任何用于 AI 寻路的函数。

如果你想要所有玩家的绝对位置,请创建一个数组,并按圈数排序,然后与检查点打破平局,最后以距离打破平局。

即使是每帧运行的百个实体比赛也不应该有任何问题。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...