GoBigger 是什么

总览

GoBigger 是一个类 Agar 游戏,后者是一款风靡全球的游戏。在 GoBigger 中,玩家需要在一张平面图中操控他的分身球。在地图中,还会有食物球,荆棘球,孢子球,以及其他的玩家的分身球。在有限的时间内,玩家需要通过吃掉其他的球来吸收他们的质量,并转化为自己的质量。在比赛结束的时候,质量最大的玩家将会获得胜利。为了提高游戏的对抗性,玩家还可以吃掉其他比他小的玩家来快速发育。因此,在游戏中,玩家需要兼顾快速发育和躲避风险,从而一步步获取到最多的质量以获得游戏的胜利。

../_images/overview.gif

玩家正在游戏中操控分身球。

为了更方便的介绍游戏规则,我们首先介绍 GoBigger 中出现的各种球。

游戏中的球

  • 食物球

    食物球是游戏中的中立资源。他们不属于任何玩家。他们会在游戏中源源不断地被补充进来,并且不会改变位置直到被吃掉为止。如果某个玩家操控的分身球吃掉了一个食物球,那么食物球的质量将会被传递到了分身球中。地图中的食物球数量会存在上限。

    ../_images/eat_food.gif

    玩家操控的分身球吃掉了食物球。

  • 荆棘球

    荆棘球也是游戏中的中立资源。与食物球不同在于,荆棘球一般拥有更大的尺寸,同时地图中的荆棘球数量上限会比食物球少很多。如果一个玩家的分身球吃掉了荆棘球(前提是分身球比荆棘球大),荆棘球的质量会被传递到分身球内,同时分身球会被引爆并分裂成多个小的分身球。在游戏中,分裂产生的小分身球会呈放射状发射出去,并在短时间内速度衰减。因此,虽然吃掉荆棘球是一个很好的发育方式,但是带来的分裂效果会使得玩家的分身球处在一个危险的境地中(可能会被其他玩家吃掉)。

    荆棘球的另一个特点是可以被玩家通过吐孢子的方式移动。如果某个玩家的分身球对着荆棘球进行吐孢子,那么荆棘球将会吃掉这个孢子,获得质量,并朝着孢子的移动方向前进一小段距离。因此,玩家可以通过移动荆棘球来让更大的玩家的分身球引爆,从而寻找机会吃掉分裂出来的小球。

    ../_images/on_thorns.gif

    玩家操控的分身球吃掉了荆棘球并被引爆。

  • 孢子球

    孢子球是由玩家的分身球通过吐孢子的技能产生的。他们会获得一个初速度并移动一小段距离,然后静止在原地。孢子球可以被比他大的玩家和荆棘球吃掉。

    ../_images/eject.gif

    玩家操控的分身球正在吐孢子。

  • 玩家的分身球

    玩家的分身球就是玩家在游戏中操控的球。玩家可以对它的运动方向进行任意的改变,还可以吃掉比它小的其他球。在吃掉其他球的瞬间,玩家的分身球会获取到被吃球的质量,并且半径变大。为了增强游戏的可操作性,每个玩家的分身球都会有以下三种技能:

    ../_images/eat_player.gif

    一个玩家正在吃掉另一个玩家的分身球。

    • 吐孢子

      Ejecting a spore-ball can help a player-ball decrease its size and make it move faster. When a player-ball ejects, the new spore-ball must appear on the player-ball’s moving direction with a high speed and quickly slow down.

      吐孢子可以帮助玩家的分身球快速减少体积。体积越小,移动速度的上限将会越高。当某个分身球吐孢子时,孢子会沿着分身球的移动方向被发射出去,并在一定时间内速度衰减为零。

      ../_images/eject_to_thorns.gif

      玩家朝着荆棘球吐孢子。

    • 分裂

      分裂技能可以帮助玩家分裂成相同大小的两部分。分裂之后,由于单个分身球的体积变小,对应的移动速度将会提高。分裂也是有代价的。请注意,在分裂之后,玩家的分身球会进入冷却期。在冷却期期间,分身球无法被自身的其他分身球合并。

      ../_images/split.gif

      玩家正在进行分裂。

    • 停止

      停止技能可以使得玩家的所有分身球停止运动,并缓慢聚集在一起。如果玩家拥有多个分身球,该技能可以帮助玩家将分身球合并成为一个大的分身球。如果玩家只有一个分身球,那么该分身球会在原地静止不动。

      ../_images/split_merge.gif

      玩家使用停止技能来进行合并。

游戏规则

如下,有一些值得注意的规则:

  1. 玩家的分身球的质量会不断减少。GoBigger 设置了一个衰减系数,例如在默认设置中的 size_decay=0.00001。这意味着每一帧下玩家的总质量都会下降 0.001%。通常情况下,GoBigger 每秒有 20 个状态帧,因此每秒钟玩家的总质量都会下降 0.02%。这在玩家球质量非常大的时候体现地更为明显。

  2. 如果玩家的所有球都被吃掉了,那么他会立即随机在地图中重生。

  3. 玩家的视野大小是由玩家的分身球位置所决定的。我们计算玩家所有分身球的质心,并获取到它的最小外接矩形,并在此基础上进行放大来决定该玩家的视野范围。同时,我们也会指定玩家的最小视野范围。玩家的分身球的相对距离越远,所能看到的视野范围将会越大。

  4. 玩家的每个分身球都会根据其半径大小存在一个速度上限。在游戏中,半径越大,移动速度将会越慢。

高级操作

../_images/merge_quickly.gif

朝着中心吐孢子。

../_images/split_eat_all.gif

通过分裂快速吃掉其他玩家。

../_images/fast_eat.gif

快速吃掉食物球。

../_images/eject_merger.gif

聚集质量。