6

我想创建一个棒球模拟游戏。

这些体育管理游戏是靠运气吗?完全靠运气的管理游戏是不公平的,但也不能太可预测。这些游戏背后的逻辑是如何运作的?

4

8 回答 8

14

这都是关于概率和统计的。您根据分配的某些属性设置发生某事的机会,然后在游戏过程中加入随机因素,使事情变得更不可预测且更有趣。通常,您从一些外部来源获得大量统计数据,将它们编码到游戏的数据库中,然后编写一个系统,将随机数与这些统计数据进行比较,以生成近似于统计数据所基于的真实观察结果的结果。

过于简单的例子:假设你的游戏中有 8.5% 的时间击中本垒打的贝比鲁斯,以及 4% 的时间击中一个的小家伙。这些是您测试的属性。因此,对于您模拟的每个音高,选择一个介于 0 到 100% 之间的随机数。如果它小于或等于该属性,则击球手获得本垒打,如果它大于该属性,则他们没有。几次投球后,您将开始看到贝比·鲁斯(Babe Ruth)相对于其他人的质量表现,因为他往往会击出两倍以上的本垒打。

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

PS。对棒球方面的任何错误表示歉意:我是英国人,所以不能指望理解这些事情。;)

于 2009-07-28T10:57:17.327 回答
12

正如您已经知道的那样,此类游戏的核心组件是比赛模拟引擎。正如Spence 所说,您希望该模拟“看起来正确”而不是“正确”。

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

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

随机当然是游戏的一部分,因为正如您所说,您不希望游戏过于可预测。一个非常简单的做法是在球员和球队执行特定动作(例如扔球)时对他们进行虚拟掷骰子统计。

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

于 2009-07-28T06:39:41.370 回答
4

通常是时间加上随机性以使游戏可重玩编辑为了澄清我的意思是当你投球时,如果它是准确的,你可以学会完美地玩它,你需要在你挥杆的确切时间周围有一个小的随机性让游戏有一些机会)。如果你做曲线球之类的事情,人工智能在这方面发挥了重要作用,增加了偷垒的能力等。

让游戏“正确”不是设计或数学的一个因素,而是一种感觉。你会尝试一些东西,玩它,看看它是否有趣。如果在你做对之前不尝试不同的算法或游戏玩法。

于 2009-07-28T06:13:16.587 回答
3

模拟在很大程度上与想象的世界有关,因为您创建的类代表了想象世界的所有方面。您需要为玩家建模、指定游戏规则和游戏动态。

http://cplus.about.com/b/2008/05/31/nathans-zombie-simulator-in-c.htm

在此处查找基于代理的模型:http ://www.montemagno.com/projects.html

于 2009-07-28T06:13:50.813 回答
1

创建自己的游戏的一大好处是可以决定游戏逻辑将如何工作。如果你想让游戏有很高的运气,你可以把它设计进去。如果你不希望游戏有很高的运气,可以把它设计出来。

这是你的游戏,可以制定规则。

于 2009-07-28T15:29:15.947 回答
1

您是在谈论您玩的棒球比赛还是游戏模拟器?棒球比赛可以是街机式或奇幻运动,也可以是混合运动。

制作 Front Page Sports Baseball 时,我在 Dynamix。它是基于统计数据的,这意味着您可以使用各种玩家的统计数据来玩游戏和赛季。这意味着许可美国职业棒球大联盟的数据。它使用统计数据来影响结果。

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

于 2009-07-28T15:39:42.280 回答
1

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

例如:命中率取决于击球率、投手的 ERA 等。对方球队的投球率决定了出局成为错误的机会。

您在选择阵容时向“经理”显示的每个统计数据都应该对游戏玩法产生一些影响 - 否则经理会根据误导性信息做出决定。

于 2009-07-28T20:59:24.720 回答
1

你应该看看特许经营球。有一个可浏览的演示。

http://promo.franchiseball.com

于 2012-10-16T04:28:40.010 回答