zoukankan      html  css  js  c++  java
  • 类Kingdom Rush塔防游戏的数值设计(二)——基本节奏的确定和标准战斗推演

    上一篇中,我们得到了如下的防御塔vs怪物数值平衡的基础公式

    公式中总共有7个变量。这7个变量中,“半径”和“路宽”的具体值会影响到游戏地图尺寸的设定,因而需要首先确定下来。

    先头脑风暴一下:

    1、基本模型中,防御塔是紧贴道路的,半径也就是防御塔的半径,感觉上防御塔的半径似乎应该和道路宽度的一半差不多

    现在先记着这一个头脑风暴,我们在后天用实际的数据来验证。

    下面,我们将从Kindom Rush的一些基本数据着手,完成基本节奏的确定

    在任何一个游戏中,地图的大小,包括物理尺寸(即我们人眼看到的大小)和分辨率,前者影响玩家的视觉舒适度,后者则会直接影响玩家看到的区域大小(这里还会涉及到分辨率适配等问题)。

    在Kingdom Rush这样的塔防游戏中,通常我们都会希望关卡能在一屏内完整呈现。

    在开始后续的具体数值推演前,先定下我们这套数值的地图分辨率尺寸(在不同的地图分辨率中,可以根据地图分辨率进行等效换算)

    长:宽=4 : 3

    屏幕分辨率=1200 : 900

    回到上述的头脑风暴问题,在Kingdom Rush中,其采用的数值是多少呢?

    路宽=70 px

    防御塔半径=30 px

    可以看到,这种设计和我们的头脑风暴的感觉是很接近的,这也验证了 数值和实际体验的一致性

    数值,就是体验的量化。在展开任一项数值的设定前,不妨多从“如果我是玩家,这个系统什么样的体验是最好的”出发,将相关的体验标准一条条的罗列,然后再逐一进行量化。

    这里,我们之前参考Kingdom Rush的一些基础数值设定(即上述的路宽、防御塔半径),为何取这个具体值的原因我们在文章末尾进行分析。

    确定了路宽和防御塔半径后,我们重新回顾下在上篇中脑海中模拟的战斗过程——

    “当我们布好防御塔,点下刷怪,怪物总是一波一波的出现,然后当一波怪物中最前方的怪物进入防御塔射程,防御塔开始攻击,通常的时候,防御塔的攻击结束的时刻是该波中最后一个怪物离开其射程。而前后两波的怪物之间通常相隔足够长的时间,以至于两波怪物之间有足够的时间让防御塔来消化(或消灭、或进入防守点)。”

    要设计出这样的一场战斗,我们总共需要哪些数值参考呢?

    *布置防御塔——防御塔花费,防御塔建造时间,防御塔的有效DPS射程

    *一波怪物——单个怪物的有效生命,掉落金钱,移动速度,体积大小,一波怪物的怪物数量前后两个怪物的间距一波怪物的总长度

    *两波怪物——Kingdom Rush中有个触发倒计时的设定,那么就需要知道 触发倒计时开始触发的时刻,触发倒计时的最大时长,提前触发的奖励

    *基地生命——每个怪物对基地的伤害力,基地的生命

    上述中加粗的为对于一波怪物而言,我们目前需要确定的数值内容。

    对于这些值,我们又会得出如下的一些体验标准

    *正常的一波怪物大概5~7个怪物比较合适

    *一波怪物被防御塔攻击的话,战斗所需时长不超过30秒

    *标准的怪物从刷出到跑到基地,整个过程耗时不超过1分钟,但是也不能比消灭其所需要的时间短

    *一波怪物的定义本身有——一波怪物中前后两个怪物的间距能保证前一个怪物被消灭时,后一个怪物也处于防御塔射程中。

    下面,我们来看下Kingdom Rush中这些数值的设定:

    标准一波怪物的数量:5

    一波怪物的总长:220 px

    标准怪物的移动速度:43 px/s

    防御塔射程:330 px

    下面我们逐一进行分析:

    *怪物数量为5,符合预期

    *将上述数值代入公式计算得到为 一波怪物被防御塔攻击所需时长=20.76秒,符合预期

    *地图长=1200,通常单个怪物的路程不低于长,但是也不会超过3倍长。对应的时间分别为1200/43=27.9秒和1200*3/43=83.72秒。27.9秒>一波怪物被防御塔攻击所需时长20.76秒,因而也符合预期

    *怪物长度为220,两个怪物之间的间距即为220/(5-1)=55px,一个怪物走完这个间距需要55/43=1.28秒。一个怪物被防御塔集火攻击消灭所需时间为 一波怪物被防御塔攻击所需时长/怪物数量=20.76/5=4.152秒,4.152秒>1.28秒,符合预期。

    可以看到,这些值也是符合我们的基本预期的。在我们的预期范围内,我们可以调整这些值,从而来将基本体验调整我们心中的感觉

    比如有的同学觉得防御塔为何射程是330px,改成150px不可以吗?答:当然可以,330px保证1200px的长中通过2~3个防御塔可以勉强覆盖,5个防御塔左右可以比较良好的覆盖,改成150px,则单个防御塔的覆盖范围就会减少,覆盖就需要更多的防御塔,或者单个防御塔的有效DPS需要提升。每一个数值无非就是一系列体验背后的量化,从自己的体验需求出发,去规划、调整自己需要的数值。

    在这里我们依旧沿用Kingdom Rush的这些数值,从而以便于在最后的时候我们可以全盘地来吸收这一整套数值。

    此时我们已经得到

    clip_image002[13]

    我们已经有了,标准一波怪物的数量=5

    那么,因而防御塔的有效DPS或者单个怪物的有效生命,我们已知一个就可以得到另一个。

    在Kingdom Rush中

    单个怪物的有效生命=50

    实际上,这个值可以随意设定,只是这个值改变后,所有强度相关的值都会随之变化。

    确定下单个怪物的有效生命后,就得到

    clip_image002[20]

    也就是说,对于这样的一波怪物,我们总的防御塔有效DPS达到12点/s,就可以刚好吃掉这波怪。而如果我方的总防御塔有效DPS低于这个值,很可能就会漏怪(这里加可能是因为,实际游戏中还会有一定的随机性,如护甲类型、AOE伤害等)

     

    由上,我们就完成了基本节奏的确定和标准战斗的推演。实际上,测试我们还没有得到一个具体的防御塔战斗数值,这些将放在下期来展开。

     

    本期总结:

    本期以Kingdom Rush基本体验的基础数值为参考,提出了一种从体验出发、量化体验、数值与体验一致的数值设计角度,并完成了一部分基础数值的确定。

    下一期,将围绕战斗数值,并引出塔防游戏核心的战斗内成长(经济系统),从而完成Kingdom Rush-Like的塔防游戏完整一个关卡的数值设定准则。

  • 相关阅读:
    记一次省赛总结
    护网杯一道密码学的感想
    配置phpstudy+phpstorm+xdebug环境
    python 模板注入
    hash扩展攻击本地实验
    kali rolling更新源之gpg和dirmngr问题
    web信息泄露注意事项
    ctf常见php弱类型分析
    文件上传小结
    ctf变量覆盖漏洞
  • 原文地址:https://www.cnblogs.com/madtime-inside/p/5080106.html
Copyright © 2011-2022 走看看