对创来说是个很好的启发



我的任务是用AI做一个电子游戏。我和我的团队差点就成功了,但我们正试图找到一个好的启发。我们教过Voronoi,但它有点慢:

for yloop = 0 to height-1
for xloop = 0 to width-1
// Generate maximal value
closest_distance = width * height
for point = 0 to number_of_points-1
  // calls function to calc distance
  point_distance = distance(point, xloop, yloop)
  if point_distance < closest_distance
    closest_point = point
  end if
next
 // place result in array of point types
 points[xloop, yloop] = point
next
next

我们有5秒的时间采取行动,这个算法听起来不太好!我不需要代码……我们只是需要一个想法!谢谢!

后编辑:我们应该尝试Delaunay三角测量吗?

看一下谷歌AI挑战赛的事后分析。

我正在考虑重新设计我的旧Wurmeler游戏(包括AI),所以我在寻找新想法时遇到了你的问题,所以这里是我对旧AI的见解

  • Wurmeler与tron相似,但速度慢得多,蠕虫转动平稳
  • 游戏空间为2D位图
  • 每个AI都很简单…愚蠢的,……
  • 但导航比我好
  • 除非它们被其他玩家关闭
  • 或压入本地min/max
  • 但仍然很有趣

现在AI算法在每个决策中移动:

  1. 从Worm创建少量射线

    • 移动方向
    • 少数左转角度(5度步距即可)
    • 很少向右转
  2. 计算射线长度

    • 从蠕虫到边界
    • 或其他蠕虫路径曲线
  3. 使用max规则更改标题

这个旧的AI只维护导航,但我想实现更多(这还没有完成):

  1. 将地图划分为正方形

    • 每个区段将具有已填充空间的平均密度
    • 所以如果可能的话,AI将选择较少填充的区域
  2. 添加策略
    • 导航(已完成)
    • 逃离(如果太近或太落后,远离附近的玩家)
    • 攻击(如果在相对平行的航线上,太靠近前方)
  3. 可以从栅格转换为矢量

    • 应该加快光线追踪和碰撞检测
    • 但随着长度的增长可能会变慢…必须尝试一下,看看
    • 可能使用的字段算法

相关内容

最新更新