【问题标题】:Basic game logic/ai design基本游戏逻辑/ai设计
【发布时间】:2012-03-01 12:10:23
【问题描述】:

我目前正在开发我的 2D 游戏项目 (Java),但到目前为止,任何类型的游戏逻辑或 AI 都已粗略实现。例如,假设我需要在屏幕顶部随机放置一堆精灵,我将使用 Random 类来执行此操作。我会简单地使用 Random.nextInt( 生成的 x 轴的大小);虽然这确实有效,但我很想知道我应该如何处理这种事情。

作为第二种情况(这就是我将 AI 放在标题中的原因,尽管它真的不是 AI),假设我想让我的角色以栩栩如生的方式随机闪烁。我在这里要做的是使用 Random 类来计算闪烁的百分比(比如 20% 的机会)并每秒调用一次。

任何关于我应该如何处理这件事的建议将不胜感激。

【问题讨论】:

  • 听起来不错。有什么问题?

标签: java artificial-intelligence logic


【解决方案1】:

Google 为 Craig Reynolds 撰写了一篇题为“转向行为”的论文。它解决了这个问题,你会发现一些很好的想法,特别是一些很好的想法,让精灵组具有“智能”运动的外观。对他来说,他的不同行为的关键,即植绒等,是使任何给定精灵的属性依赖于其他精灵的属性。你甚至可以说,任何给定的精灵只有在它的两个邻居刚刚眨眼时才会眨眼。沿着这些线的东西或其他东西。

希望这会有所帮助!

【讨论】:

  • Reynolds 的论文是用 C++ 编写的,但 Java 的实现却遍布整个网络
  • 这太好了(抱歉这么晚才回复),我会在接下来的几天里查看这篇论文。
  • 没问题——这里还有一些很酷的资源。 Keith Peters 在“高级 ActionScript 3 动画”中介绍了转向行为等内容,还有另一本介绍性书籍“让事物动起来:ActionScript 3 动画”。这些示例都在 actionscript 3 中,但文字非常清晰,您可以轻松翻译。充满对游戏开发非常重要的想法。
  • 酷,听起来很有用。我也去看看!
【解决方案2】:

您使用的是 OOP(面向对象的方法)吗?如果没有,你绝对应该调查一下。使用 java 非常简单,可以加快您的开发时间并整理您的代码。

我会创建一个精灵类,并给它们一个函数,比如 actionSpawn 或 actionMove(我喜欢用 action 一词开始我的“动作”函数,这样它们就很容易识别)。在此函数中,您将封装 Random.nextInt 函数,以设置精灵的 x 和/或 y 位置。

你可以用同样的方法让它们眨眼。

【讨论】:

  • 是的,这实际上是我已经在做的。我与其他程序员的合作不多(如果有的话),所以当我想出一些东西时,我经常会假设其他人做的事情不同。谢谢!
猜你喜欢
  • 1970-01-01
  • 2011-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多