如何高效设计游戏——塔防游戏设计方案

前言

         目前国内市场的游戏广泛为一些带有“快餐特点的RPG”游戏居多,而且这一类型的游戏的设计思路已经发展成为游戏开发者们“月经”同样的存在,有不少人“取经”,也有不少人“传道”,设置有些人对于这一设计模式滚瓜烂熟。可是一旦公司里提出制做一些其余类型游戏的项目时,就会让许多设计者苦恼。算法

         所以,在这里咱们一块儿来探讨一下,某些类型游戏的设计思路。设计模式

         例如,咱们将要设计一款“塔防”游戏。网络

         恐怕有些已有过“塔防”设计经验的人或许会经历过这样的体验:若一款塔防游戏总共有20关,平均每关有100波敌人,那总不可能要对这2000波敌人一点一点进行手动配置其属性以及难度吧,何况还要和另外一边的“塔”的数据以及经济体系相结合。若是是单机游戏,这一工程或许还有人能够接受,可是考虑到近期某些“SNS上的社交塔防”,那么其波数是恐怖的指数级增加,最后恐怕不止20000波。再者,对比国外一些优秀的塔防游戏,咱们会发现,国内的做品会有一个通病,就是若是下一波敌人的类型是“速度型”的,结果这一波的难度会大增。造成这一问题的缘由是,多数设计者仅仅单纯的把“HP”做为难度递增的一个衡量。因此如何想一套既便利又可行的方案(或者这里咱们称之为“算法”)就是我这篇文章接下来要分析的事情。框架

 

一些充足的准备

         在作一款游戏的设计以前,咱们要清楚地知道,这类游戏将会出现哪些属性元素,针对这些属性元素之间的关系从而制定方案。oop

         在这里咱们假定将要设计的游戏为:spa

         类型:塔防游戏     环境:SNS社交网络        针对人群:学生、白领设计

         游戏目的:休闲娱乐、社交为主。orm

         (设定环境为SNS社交网络仅仅是一个参考,接下来要讲的思路也适合作单机、作手游的状况。)游戏

         接下来,咱们还须要知道咱们要针对哪些内容进行设计。按照通常的塔防游戏的设计思路有:事件

    系统设计

         一些塔的种类设计,种类相克,种类结合出不一样的效果等。因为这些设计是要凭借诸位设计者的创意以及游戏需求而定,而且本着“丰富咱们的游戏创意”的原则,在这里就不干扰各位设计者了,而且这也不是本文要讲的重点。

    数值设计

这个环节咱们也是考虑最基本的状况,而且设计者们也能够根据本身想要的效果合理添加内容,思路一致。

         基本的数值属性有:

        

攻击力ATK

决定单位建筑对敌人所能形成的伤害程度

攻击频率FRQ

决定单位建筑在单位时间内的攻击次数

攻击范围RGE

决定单位建筑的攻击有效距离

 

敌人

生命HP

决定敌人单位所可以承受的最大伤害

速度SPD

决定敌人单位在单位时间能可以移动的距离。

 

         清楚了咱们将要设计的元素有哪些以后,咱们就须要创建一个模型,来统一这些元素。为了使咱们设计的方案更有效,咱们先来一块儿肯定一下咱们的设计方向,或者称之为目的。

         设计意图:

    可以设计一套有效的算法模型,能够减小没必要要的工程浩大的手动填写。

    为往后调整数据提供通道。(注)

    为开发部门提供清晰地逻辑框架,而且方便计算机执行敌人数据的生成。

注:上面所提到的数值调整通道,按照本人的理念有两种类型。

    参数调整。既是在数值框架中创建各模块的映射关系,而后留有调整参数,后期能够调整这一参数来达到想要的效果。

优势:高效率,有逻辑性,应变性强,便于管理。

缺点:准确率不是很高,但不糟糕。

    局部可调。既是在数值设计上,关联性不是很强。

优势:准确性强,可变空间大,设计灵活。

缺点:效率低,不易于管理,应变性不高。

         下面咱们来设计这一模型。

模型的创建

         许多设计者或者制做人一据说到“模型”一词,就会联想到“数学模型”,顿然感到无比的高技术性,从而被“模型”所吓倒。其实本人对此的理解很简单,只要抓住本身的设计意图,有了方向天然会出方法,见神杀神。

         在这里还需再一次强调咱们的设计意图,咱们是要设计出一套方案来供开发部门或者是计算机来执行咱们讨厌的“填表”的,因此如何可以找到这样一个能够准确或者说大概描述出敌人以及塔的实力的变量,是咱们接下来要作的工做。

         拟定一个理想的环境,在这个理想的环境咱们先不用考虑一些因素对于咱们模型的影响程度。

对于多个塔攻击一个敌人,咱们有

         HP=FRQ1*ATK1*ELP1/SPD+FRQ2*ATK2*ELP2/SPD+FRQ3*ATK3*(ELP3/SPD)+ ……

整理得

        HP*SPD=FRQ1*ATK1*ELP1+FRQ2*ATK2*ELP2+FRQ3*ATK3*ELP3+……

(其中ELP= Effective Length of Path 有效路径长度,既是塔的攻击范围与路径的交集)

因为防护建筑老是“攻击一个目标致死以后紧接着攻击下一个目标”这一特性,在多个塔攻击多个敌人的状况下,咱们能够假设每一个敌人的间隔足够小以至塔的攻击能够连续进行。这样,咱们就能够把多个敌人(不管是同种敌人仍是混合的敌人)均可以看作是一个大的敌人来处理。公式同上。

         至此,咱们就能够引进一个变量SETthe Strength of Enemy Troop)来描述敌人的强度,有

SET=HP*SPD

一样咱们也能够用SET来形容塔的强度

SET=FRQ*ATK*ELP

在理想环境下,ELP基本能够近似看作塔攻击范围的半径

SET=FRQ*ATK*RGE

偏差分析

         至此模型已经基本创建完毕。但文中常常会出现“近似”“理想环境”“可看做”等词,这会让许多读者抱有怀疑的态度,至少它看起来不是那么“看似精确”。这里我要说明几点:

         首先,这里的“不精确”与模型的适用程度联系不大。这就比如我要去超市买一个冰激凌,我本觉得是5元一个,但结帐的时候才发现原来是6元,那我再补一元钱就行了。相对于此,通过初步计算本应该是5个塔才能打过这波敌人,但实事须要6个,那就再造一个就行了,咱们彻底能够在经济体系上为玩家放宽松点来补偿。(这种状况适用于SNS类型的塔防)

         其次,偏差仅仅就是一个偏移量,因为敌人的间距以及ELP形成的,咱们彻底能够在创建等式的时候把这个偏移量补上,从而使得式子“看上去严谨、精确”,这个偏移量能够进一步分析求解,也能够根据实测来求解。(这种状况适用于单机塔防,严格控制难度和经济体系)

         最后,关于“看上去严谨”这事儿,我想说点题外话。

         我有一个朋友,也是作游戏设计的,但他是管理层的。在设计游戏的时候他老是过度强调“数据”、强调“计算”、强调“严谨”,他的每一步设计都要处处去找数据支持,觉得这样就能设计出好的游戏,结果却老是与意愿相悖。这是由于他没有注意到一点“在出了一些原则性设计是基于数据的计算以外,大多数的设计都是基于体验的”。咱们要明确的是,咱们设计的游戏是给人玩的,而不是给机器玩的,你的数据计算的再准确,若是玩家不领情,一切都是白搭。有些时候越是严谨的游戏越没有玩点,由于严谨会让一切看上去都是情理之中的必然事件,就缺乏了游戏的娱乐性。

 

模型的使用

         有了以前咱们一块儿创建的模型,咱们如今还需考虑如何去使用它。

         首先咱们能够拉这样的一张表,来决定游戏的总轴寿命:

地图编号

定位

难度

波数

备述

1

新手

简单

120

帮助玩家熟悉

游戏以及道具

2

180

3

240

4

成长阶段

中等

300

帮助玩家熟悉

高阶的系统玩

法,任务道具

奖励丰富,使

玩家对收费道

具产生依赖,

养成良好的消

费习惯。

5

360

6

420

7

480

8

540

9

600

10

660

11

720

12

780

13

高手阶段

840

此阶段玩家已

对游戏有所了

解,也正是玩

家消费的关键

点,须要给予

充分的“产出

”奖励。

14

900

15

960

16

1020

17

1080

18

1140

19

1200

20

1260

21

1320

22

1380

23

专业

艰难

1440

一个充满挑战

的阶段。

24

1500

25

1560

汇总

   

21000

 

以后咱们再分别制定防护单位的能力数值和敌人的能力数值,单位为SET,为了方便起见,咱们就设定有一个塔,3个等级。

A

等级

攻击力

范围

频率

SET

1

10

100

0.8

800

2

25

100

0.8

2000

3

40

100

0.8

3200

而后,敌人的设定,咱们能够先设定一个基础值,而后每10波实力上升一个档次,如

波数

SET

数量

1

1000

10

2

1200

10

3

1400

10

4

1600

8

5

1800

15

6

2000

15

7

2200

10

这种状况是假设每一波敌人的种类同样,咱们能够根据数量平均分配一个敌人占有多少SET,而后用分配到的SET除以SPD(固然这是以前在设计敌人的时候已经填好的属性)就能够获得这个敌人的HP了。而且能够看出第一波敌人是须要建造两个LV1的塔A的(有偏差,参考前文,进行偏移量的补偿)。

         那么对于某一波种类混杂的敌人,咱们就须要进行一些其余额外的设置,并且这些设置都是以前应该准备的工做,包括前面提到的SPD属性。

项目名称

SPD

SET比值

敌人A

40

1

敌人B

15

2.5

敌人C

20

1.5

读者们能够根据属性的设置看出敌人的个性,好比“敌人A”属于高速移动可是比较脆弱的类型。“敌人B”属于速度较慢,可是皮厚的类型。“敌人C”属于各项均衡的类型。这样,咱们就能够根据“SET比值”这一属性,按比例分配SET值了。

    在拉表格的时候,各位还须要注意一点。拉表格也要横向与纵向的比较的。通常的方法是:纵向看时间,横向看难度分层。好比对于本例来讲,纵向就是这一关的总寿命(时间),横向就是每一波须要多少个塔才能打过。

结束语

         这种模型的创建,解决了许多塔防常见的问题,而且在效率上大大提升。但读者们须要把握好其利用价值以及尺寸。本文所提供的是一个“方案”,是一个“方法”,是一个“框架”。具体须要设计者们结合自身产品适当变通,量身定作。固然,这里提供的方法必然是有变通调节的空间的。

本着“丰富游戏设计的创意性以及多样性”的精神,在这篇文章中笔者不易过多讲解细节,读者们能够参考,领会要点,而后设计出本身的风格。

最后,我仍是想强调,游戏设计,仍是应当多注重体验,而不是抱着“数据”走火入魔。

 

 

 

 

 

版权全部

转载须注明

做者:Einsphoton     任江枫

Emailrjflx@hotmail.com