java - 策略游戏帮助 : fog of war

标签 java algorithm

我正在尝试制作一款即时战略游戏,例如《星际争霸》或《帝国时代》。我的 map 必须支持最多约 1500 个实体。我的问题是如何在不滞后游戏的情况下实现 war 迷雾。我最初尝试的方法是在每次移动时简单地计算一个单元到所有周围区域的距离,但正如我所料,这会滞后,因为许多单元会不断移动。如果有人知道 war 迷雾的更快算法,请帮忙。 map 将基于图 block 并存储在数组中。

最佳答案

一个非常基本的实现如下:

  • 可见性由每个图 block (i,j) 的值 v[i,j] 给出。低于特定阈值的任何值都在迷雾中。

  • 使用以下两个步骤以规则的时间步长更新值(注意:对于这种情况,除了非常特殊的情况外,不需要高精度或高频):

    1. 模糊当前 map v[i,j]
    2. 对于每个 unit,将 v[unit_i, unit_j] 的值增加一个常数。 如果一个单元在一个正方形上(无论那里有多少个单元),您也可以添加一个常量。

关于java - 策略游戏帮助 : fog of war,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6477968/

相关文章:

java - Mule单机无法读取架构文档 'http://www.mulesoft.org/schema/mule/ee/dw/current/dw.xsd'

java - 将 Java 类结构转换为 Python 类

java - 如何从服务器端的客户端计算到给定点的最近坐标

algorithm - 平面度测试算法实现

python - 用python递归实现冰雹序列或Collat​​z猜想的数学难题?

algorithm - 在现实世界的寻路中,A* 真的比 Dijkstra 好吗?

Java设计模式: Enforce calling methods of all supertypes

java - Gradle 项目同步失败。基本功能 - 在 Android Studio 2.2 上失败

java - Glassfish 3.1 默认主体到角色映射

objective-c - 将十进制数转换为二进制 Objective-C