游戏配置表是游戏策划每天都要接触的东西、可以说游戏策划的日常工作有大部分的时间都在操作各种配置表。

1.配置表的作用

配置表是一种配置文件,游戏开发过程中我们会用到大量的配置表,它们一般是以Excel办公表格的形式存在,配置表格的核心作用以及初衷是为了方便开发人员在不修改代码的情况下快速调整游戏数据例如,在游戏的开发过程中,我们需要经常的去对游戏进行调试,如果说没有配置表的话,我们就需要去声明或者修改游戏的某项配置数据,也就是去代码里或者编译器里操作,这样会很麻烦,而且也会对程序开发人员带来更多的任务量,不利于团队的协作合作。所以在工作中程序会跟策划约定到配置表的格式,程序在做功能时,直接在代码里去读取这个配置表里的数据,然后作为策划师的我们,就只要在相应的表格里去操作就可以了,并且不同的策划也可以去协作去修改相同系统的表格。这里举例说明一下:比如我们做了一个副本关卡表,那就可以让文案去填充关卡的剧情,然后数值去配置副本里的一些怪物的奖励和难度。然后游戏在上线时,我们要去修改和增加内容时,也可以在不改变游戏代码的情况下,对游戏内容快速的进行操作,降低我们的更新成本。当游戏有不同的版本时,方便版本内容的维护。第二种举例,比如说这款游戏它有不同的国家版本那我们就可以准备好不同的语言文本,然后让程序在不同的语言环境下去读取不同的文本表格,实现多语言的切换,然后还有一些游戏在不同的版本有不同的礼包和售价,用不同版本的表格来实现这些差异。第二个就是游戏里会有大量的静态数据比如说游戏的各种剧情文本怪物属性、各种玩法的奖励和难度,这些东西一般都是有比较大的量级,如果不是配置表整理,将静态数据丢在代码里就会出现非常冗余,也不方便策划去修改,所以一般都会跟程序约定好相应的读取格式,让代码去读取表格里的数据到游戏里,策划只需要去表格里改属性改奖励。最后就是管理游戏的一些资源,比如说游戏里会有大量的美术图标和外观这些美术资源,然后还有技能音效之类的这种音效资源,那这些资源我们不可能在代码里去一一指明它的关联关系,也是需要策划在配置表里去配置不同的道具对应的图标然后以及不同的技能对应的音效等。呃,然后这就是我认为游戏配置表的主要几个作用。

2.配置表的形式

最常见的就是我们所说的Excel的形式,因为Excel它是一种办公软件,方便策划在其中做各类批量化的修改操作,并且它本身也比较方便通过转表工具去转化成游戏读取的配置文件,所以Excel是最常见的配表形式。除了Excel,也有在编译器里直接去手填的一些配表,比如像地编参数,这种需要在编译器里配置的一些地形的美术资源编号、地形参数、战斗表现。需要在编译器手调它们的一些参数,再或者就是一些有用到脚本的开发结构,比如很多老端游传承下来的结构,会大量的使用Lua脚本,来配置一些副本和奖励之类的活动活动玩法,那这种情况下我们就要在Lua脚本里配置怪物数组、掉落数组一系列的配置数据。(个人还是不太推荐,因为始终策划操作最便利的还是Excel表格,毕竟Ctrl C 和Ctrl A是最简单的最有效率的哈哈哈。除非是一些必须要在编译器和脚本里去配置的参数,否则还是建议能在Excel里配置的就在Excel里配置,尽量要求程序从Excel表格里进行读取)

3.配置表的结构

这里我用具体的一张配置表描述。

这是一张怪物数据表,大部分游戏的配置表结构其实差不多,首先表里的编号也就是id,这就是一个程序字段,需要程序在代码里实际读取的字段,程序也是在这个字段去读取我们配置数据的。第二部分名字也就是String字符串,这一系列也就只能配置一些文本描述,字符串之类的数据第三,四个部分,也就是配置的数据类型,这个字段主要是规定这一列配置的数据类型,比如是int值1,代表的是普通级别的怪物,2对应的罕见,其他的大概也是类似的。然后分析一下行,其实就是用来备注这一类配置含义,方便其他策划能看懂。程序在代码不会读取这一类的配置,这一类的主要目的备注配置的含义,我们在开发工程中会跟程序约定好一些参数,比如说怪物类型,这里有1-2两种类型参数,配1就是普通小怪,配2就是罕见,配6789可能就会是BOSS,然后不同的配置它会影响怪物在游戏里的实际表现,出现概率,掉落的奖励啊,或者体型然后特殊的技能,技能特效等。

注:我们要及时的去记录和保存这些配置的含义,不然时间久了的话,那可能开发的程序他不去看代码,都不一定知道这些配置的具体的作用了。配置的备注就像程序开发写的注释一样。然后要明白我们修改完内容,不是直接改变游戏内部的内容,要把更新的内容交给程序,让程序来重新通过他们的操作实际进入游戏来修改。

4.配置表的使用

游戏配置表的完整的使用流程大概可以分为4个步骤,首先我们要修改,在表里修改我们要修改的数据,然后保存下来,保存在指定的路径下,这个路径也是我们与程序约定好的,不能随便修改替换,在接下来就是转表,因为游戏不可能直接去读取Excel文件,这样效率太低了,所以我们会先用转表工具,把我们的Excel文件转成游戏真正可以读取的配置文件如json,然后不同的项目会有不同的转表工具跟格式,大多数情况下,程序也会给我们策划去开发这些转表工具,我们去进行相应的操作就可以了。最后把表格转好之后,就需要把我们配置文件更新到游戏里去,这里一般会有两种环节,一是更新到客户端,如果是只有客户端用到的表格,我们只需要更新客户端就行了。二是服务器,就是要对服务器的更新,比如活动奖励这些。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐