2009-07-28 60 views
6

我想创建一个棒球模拟游戏。运动模拟游戏的动态如何工作?

这些运动管理游戏是基于运气吗?一个完全基于运气的管理游戏是不公平的,但它也不可能是太可预测的。这些游戏背后的逻辑是如何工作的?

回答

11

正如你已经想通了,这种游戏的核心部件是比赛模拟引擎。由于Spence said so,你希望模拟“看起来正确”而不是“正确”。

我前段时间从事橄榄球游戏模拟,有一种方法效果很好。你的匹配是一个有限状态机。每个游戏阶段都是一个状态,有一个结果转化为相变或游戏状态的变化(分数,替换......)。 添加一个事件/监听器系统来处理与您正在模拟的游戏结构并不严格相关的事物,并且您有一个好的结构(每次在模拟中发生某种事情时,例如犯规,发生事件;听众可以是评论生成系统或负责团队策略的人工智能)。

您可以从一个粗略的模拟引擎开始,使用平均玩家的统计数据在团队级别处理事情,然后转到更详细的模拟玩家等级的事情。我认为这种迭代方法非常适合游戏模拟,因为您希望它看起来是正确的,只要一个元素看起来正确,您就可以停止迭代并在系统的另一部分上工作。

随机当然是游戏的一部分,因为如你所说,你不希望游戏过于可预测。一个非常简单的事情就是让虚拟骰子在执行特定动作(例如抛球)时对阵玩家和团队统计。

编辑:我假定我们正在讨论像Hattrick这样的管理游戏,在这里管理名册并模拟游戏结果而不是2D/3D图形模拟。

+1

是的,它应该是管理游戏。 – Victor 2009-07-28 20:06:00

4

通常计时加上随机性使游戏重复编辑澄清我的意思是当球场到达你的时候,如果确切的话你可以学会完美地玩,你需要一个小的随机性你挥舞的时间让游戏有机会)。 AI在这方面有很大的作用,如果你做曲线球之类的事情,增加偷垒等的能力。

让游戏“对”不是设计或数学的一个因素,而是一种感觉。你会尝试一些,玩它,看看它是否有趣。如果它没有尝试不同的算法或游戏玩法,直到你做对了。

+0

你可能想澄清的是用一个例子一点,像“假设你正在建模的面糊的作用;为了确定你有什么样的打击,你会计算基于一个随机结果在球场的时间上;时机越好,击球越好的机会越多“。 – RCIX 2009-07-28 06:45:34

+0

经常发布,提前发布,就像那样。 – Victor 2009-07-28 20:11:21

13

这是关于概率和统计。你根据你分配的某些属性设定发生事件的机会,然后在游戏过程中出现随机因素,使事情变得更难以预测和更有趣。一般来说,您会从某些外部来源获取统计资料,将它们编码到您游戏的数据库中,然后编写一个系统,将随机数与这些统计数据进行比较,以生成与统计数据基于的实际观察值近似的结果。过于简单的例子:假设你的比赛有Babe Ruth,他在8.5%的时间内打本垒打,还有一些小个子打了4%的时间。这些是您测试的属性。所以对于你模拟的每个音调,选择一个0到100%之间的随机数。如果它小于或等于该属性,则击球手获得本垒打,如果它大于该属性,则不会。经过几场比赛之后,你会开始看到Babe Ruth的质量表现相对于其他人,因为他倾向于打两次本垒打。

实际上,你会有超过1个属性,这取决于投球的种类。另一名球员可能会选择使用哪种救援投手来尝试并利用击球手的能力弱点。所以游戏玩法来自于这些不同属性之间的相互作用,你试图最大化属性测试对你有利的机会。

PS。对于任何关于棒球的错误抱歉:我是英国人,所以不能期望理解这些东西。 ;)

+2

其实你对棒球有很好的理解。好贴。 – Victor 2009-07-28 20:03:40

+2

+1 @Kylotan:我认为你已经确定了运动模拟器的游戏机制,而不是OP的回答。这是一群统计数据+球员决定了哪些数据可以相互对抗。做出更好决策的球员,比如谁在比赛中出场,会比不出场的球员赢得更多的胜利。事实上,如果职业运动队不使用某种形式的模拟器驱动输入来决定谁在现实生活中投篮,我会感到惊讶。 – bguiz 2010-04-26 14:16:52

1

创建自己的游戏的一个伟大的事情是,得到决定游戏逻辑如何工作。如果你想让游戏有高度的运气你可以在中进行设计。如果你不想让游戏有高度的运气,那么可以设计出来。

这是你的游戏,得到弥补的规则。

+0

不错,只是收集一些想法。 – Victor 2009-07-28 20:04:23

1

你说的是你玩的棒球游戏还是游戏模拟器?棒球比赛可以是街机般的或幻想般的体育运动或混合体。

当Front Page体育棒球制成时,我在Dynamix。这是基于统计的,这意味着你可以使用各种球员的统计数据来进行比赛和赛季。这意味着许可大联盟的数据。它使用统计数据来影响结果。

有一个常规模式和一个“快速模拟”模式,可以更快速地通过游戏。

1

我认为Kylotan有正确的策略。棒球有一切的统计资料。将游戏模拟为您可以管理的最详细级别。结合球员统计数据来确定每个结果的百分比机会。使用随机性来决定结果。

例如:击球的几率基于击球平均数,投手的ERA等。对手球队的投篮命中率决定出局成为错误的几率。

在选择阵容时,您显示给'经理'的每个属性应该对游戏性有所影响 - 否则经理会根据误导性信息做出决定。