说明:本文仅讨论王国纪元、乱世王者这类的SLG手游战斗。
战争策略游戏的核心追求点
1、 玩家通过进行兵种选择和分配,能够战胜对方
2、 玩家通过进行兵种选择和分配,在战胜对方的基础上,以自身最小的损失换取对方最大的损失
战斗的基本元素
不同兵种
战争类SLG的战斗一定都会有一定数量士兵的参与,所以士兵是战斗的基本元素。如果大家都只有一种兵,那么战斗时只需比谁的兵多,体现不出策略性,所以需要有不同种类的兵,因此更确切的说,不同兵种是战斗的基本元素。
克制系数
那么如何通过不同的兵种来体现SLG的一个基本策略性?
一个简单且容易让玩家接受的方法就是克制关系(步克弓、弓克骑、骑克步或者其他元素互克等)。有了克制关系,就能很清晰的知道当别人出战某种兵种的时候,自己选择哪种兵种对自己最有利,同时由于克制关系简单直接,玩家在任何时候都能够做到快速反应(时间在战争游戏中至关重要,试想一下,敌军正在行军,准备侵犯你的领地时,因为克制关系而需要思考太久,最后导致在做完抵抗的策略前,敌军已经攻打完领地,这样的感受是有多糟糕)。
不同的站位(阵型)
不同的站位本质上是不同的兵种攻击目标。想象一下,我们有了不同的兵种以及克制关系,每次战斗都是按照既定的目标选定规则(比如最近寻敌规则)进行攻击,那么当对方的战斗部队所有兵种都出战的时候,就没有办法让克制系数得到充分的利用,或者没有将战斗的策略性完全的体现出来。
所以,需要一个功能,可以在双方对抗前,改变原定的目标选定规则,以充分发挥出克制系数带来的策略性。
方法有很多种,比如直接修改原有的目标选定规则,即不按最近寻敌规则,而是对不同兵种附上不同的寻敌规则(包装为兵种特性或者寻敌逻辑)。举个例子,骑兵在前面没有敌方部队的情况下,能够绕后攻击邻排最后面的部队。这种方法的使用,能够将克制关系策略性充分体现出来,但可能会导致玩家不容易理解寻敌规则(因为有可能出现与玩家的想象相违背的情况,),需要一定的学习成本。
还有一种方法就是不改变原有的目标选定规则,在战斗开始前加入部队的站位。需要明确的一点是,部队的战斗不应该是在一条线上进行,而应该是在一个面上进行。站位的设计,结合就近攻击原则,同样能让克制关系的策略性充分体现出来。然而,在站位的设计上,存在一个难点,就是希望玩家因为该设计体验到战斗的策略,但又不希望玩家在兵种站位调整上过于自由(过于自由导致在此方面调整的时长过长,而时间在战争游戏中又极其重要)。所以需要把握站位设计的度,因此,就引入了部队阵型设计。在设计者提供的有限的阵型下,双方能够通过较少时间上的思考,改变自身的阵型来达到克制对方部队的目的。
阵型的引入,还带来了另外一个好处,那就是双方均在线时的对抗博弈,这里不细说,内容可能过多。
战斗的抽象
按照数学思想,一系列的输入数据,经过战斗的函数,得到一系列的输出数据。玩家在战斗过程中的情感体现,通过目标函数的值来呈现。
战斗的输入
这里只给出基本的输入数据,就是上面的战斗基本元素。当然,设计者还可设计其他的元素来丰富战斗的策略性,但不可脱离战斗基本元素
- 双方的参战部队
- 各兵种数量
- 兵种属性(基础属性,属性加成百分比)
- 克制系数
- 双方的阵型
战斗函数
战斗函数,体现为战斗规则,比如战斗如何开始攻击,战斗的过程有什么规则,又是因为什么样的规则而结束战斗。
战斗的输出
- 双方剩余的参战部队:战争带来的是伤亡和掠夺
- 掠夺的资源
玩家的目标函数
目标函数,体现为核心追求点,即战后敌方损失与我方损失的对比。敌方损失越大,我方损失越小,玩家的情绪越积极;反之,则越消极。
战斗抽象
下面,以数学公式来抽象出SLG的战斗。
其中,
f()为战斗函数,g()为玩家目标函数进攻方玩家通过改变f()中的攻方部队、攻方阵型变量,来使得g(进攻方玩家)值最大化或趋于最大化;防守方玩家通过改变f()中的守方部队、守方阵型变量,来使得g(进攻方玩家)值最小化或趋于最小化。
公式中,克制关系和双方阵型提供战斗的策略性,双方阵型还提供战斗的博弈性(假设双方阵型战前不可知)。这两者用于保证同等状态下双方策略和博弈的公平性,然而游戏很难做到两个玩家在战斗过程中出于同等状态,须知剪刀石头布虽互相克制,但小的布包不住大的石头。公式中,攻方部队、守方部队两变量就会让玩家与玩家之间不在平等状态,这就让战斗充满了随机性,整个国家的战争形态变得更加的多样化。奇观战双方势均力敌,集结手公平对抗;高战单撞陷阱号,士兵一去不复返;高战单撞低战,以实力碾压;高战集结下线陷阱号,多波集结清零陷阱号士兵……这,就是SLG战斗的魅力之处!