|

楼主 |
发表于 2018-5-21 17:25:51
|
显示全部楼层
帖子发布2周多了,下载文档和看帖的比例基本上只有十分之一,而且从论坛、知乎和QQ上探讨项目的基本也以辩论为主,说实话这种情况还是超乎了我之前的预料,所以打算正面回应一下质疑。
主要的负面反馈如下:
1. 怼同行+自吹自擂
2. 没目录,没提炼重点,不清晰
3. 夹叙夹议的文档格式不合格
4. 表格全数据,大量公式关联,不知所谓
5. 看不下去(目前250左右的人下载了文档,我不掌握大家都看到什么程度后放弃的,只知道一些个别的例子,有的人看到第2章就放弃了,但这个文档前4章就是打基础,第5章才真正开始深入的谈技术)
首先我要强调的是它是一套数值技术,而一套技术最重要的不是有什么花里胡哨的概念,而是靠谱。
我想从业者在项目后期,应该不难听到老板想加个新的需求,开发方说这是大改,咱们能不动就不动的抱怨。因为你之前做得工作在后面就会变成修改的负担,越是大型的项目这个负担就越重。且不说你想新加一些炫酷的点子,就是想完成基本功能都不容易。
比方说小游戏你做十几个装备就够了,这一点也不难,但是大型项目可能职业就好多个,等级段也很多,品质差别也很多,搞不好装备就要1千个。装备表的字段一般也不少,就按10个来算那也是1万个单元格。其中起名字写描述那是相当的枯燥,还有一些字段填错了还会造成人为的bug,但是这些反人类的工作总得有人去干,那干的那个人会好好干吗?就靠强调工匠精神他就可以好好干吗?遇到那些管理或者企业文化不好的公司恐怕就更难干好了。
所以我才要用代码代替机械性的人工操作。用了这个技术,我就可以保证杜绝马虎大意造成的填表错误,而且哪怕项目做完了,我有个想法,只要这个想法还符合工具支持的范围,那我在源头改一下,整个项目全部自动修改。
你只有把修改的成本降低到这个程度,进一步迭代改进才能成为可能,不具备这个技术,空喊什么把游戏做出来再慢慢调的极大概率会沦为空话。
当然干的时间长了,或多或少都会积累一些快速填表的技巧,但是仅仅会填表是不够的,就像仅仅文档写得好看是不够的一样,这些都不是做游戏的核心能力。我以前就是想不清楚该为了什么去填表,周围的人其实也都不懂,纠结于各种道听途说的方法细节之中,完全是在黑暗中摸索。
但我现在明确了一个原则,填表的目的就是要实现玩法。
你说你单独填一个升级表,或者单独填一个装备表,你能实现什么玩法?你可以实现一些基本功能,比方说升级后属性增加,穿上一件更好的装备属性增加,但是对于综合性的玩法,比方说我要让同等条件下各职业战斗平衡,或者我们先不讨论这么大的玩法,我们先讨论细节一点的玩法,比如说我想让战士加一个技能叫塔盾,发动技能后在同等装备条件下能抗住其他5个英雄10秒的输出而不死。
这不仅仅是一个技能设置的问题,你还要兼顾很多其他问题,比方说也许你其他职业里有一个是刺客,刺客的特点是一招可以打出多次攻击,但相应的每次攻击都不高,那如果你一开塔盾刺客输出变成0了那1v1的时候刺客就被克制的太厉害了,玩刺客的玩家恐怕会不满意,那无形中就多了一条要求,就是这一招确实可以大幅削弱高伤害职业的爆发,但也得让攻击值低的职业可以贡献输出。
所以你看,就这么一个技能的玩法实现,想细了就会对数据关系有很多要求,而且这些都建立在英雄属性技能装备各个表单的综合效果之上,而且必须经过战斗这一环的验证才行。在这种情况下其实单独细抠子表的意义不是很大。
你把每个子表都设置参数,然后说这个参数怎么调都可以,这就好比说我们中国的代工厂说我这里供应链非常发达,什么样的螺丝钉都有,但是真正有价值的技术不是说什么样的螺丝钉都能提供,而是我就知道在这个部件上就要这种螺丝钉。你准备了一个非常通用化的工具给上面,等于是把最重要的决策权推给了别人,但是就我的经历而言,别人也不懂啊,他还指望着你给出正确答案呢。
单独的一颗螺丝钉说的天花乱坠也不能证明其价值,但是把它组装成一部手机能打电话它就一定有价值,组装成一部汽车能开起来它就一定有价值,这就是我对我的技术路线的辩护。为什么我的excel文档里全是数据,因为我认为既然要实现玩法必须综合起来,那我就把所有数据都联通,而且这样也减小了人工填表和维护的工作量,提高了准确度。
在这个项目里,我是通过2个源头控制所有数据的,一个是总规划,一个是属性分配,在这些地方定好参数,然后一步到位的把这些定义英雄特点的参数转化为综合的战斗效果,确认没问题后再把这些数据分解执行成各个配置表上。因为都是自动或半自动的,所以你要想检查这些数据正确与否,只能去看生成这些数据的逻辑是否正确,所以我在文档里是按照生成数据的过程进行介绍的,简单的就是一句话概括代码逻辑,复杂的我会把单元格里的公式考出来然后解释这段代码是以什么逻辑写的。
因为我只看源头和最终结果,中间过程我只要保证逻辑正确就行了,可能这确实让很多策划看不懂,但是也没有很出格。程序员读代码就是一个变量跟踪到另一段程序里的这个变量,理解这个逻辑过程,确认没有bug后能把程序跑通就OK了。
当然要想展示这套技术的强大,最好是用这套技术去实现一个职业差别大的,技能丰富的英雄PK的平衡。事实上我一开始就是这么想的,我平时做的项目可不是什么弹幕射击游戏,而是MMO,但是这个项目我离职后还做了半年,以当时兼职的效率简直是遥遥无期,所以我才改了东方为核心玩法。
关于目录的问题,其实也提过,读者把Word导航开开就行了。我还是读大学写毕业论文的时候才会插入目录,因为论文是打印出来给人看的,后来再没干过这种事情。事实上电子文档插入目录是很蛋疼的,难道你想看哪还要把滚轮滚到第一页再点目录跳过去?
关于怼同行和文档格式不标准,我想先讲一个我经历过的事情。
我之前一个项目上线后有个问题,就是开服没几天个别玩家等级快速和其他玩家拉开差距,然后老板就很着急说你怎么搞的,但是游戏里确实有着额外获得经验的收费点,这个当时做的时候都是认可的,事实证明也没有别的bug,就是人家花钱把等级快速升上去了。
但是为什么非得游戏上线从后台数据里看到这种对游戏生态不利的负面效果的时候才着急呢?为什么在一开始做的时候想不到呢?因为人家也是这么做的,所以他就不觉得这么做有什么问题。
很多情况下我们就是在按照惯性在做事,这个惯性不一定是我们自己的惯性——事实上大家都干得很辛苦——我们依照的是行业的惯性。我自认为是一个务实的人,我也承认它们存在必然有其理由,但是我不觉得全盘接受就一定好。
要想探索新的做法,就得提出问题,分析问题,提出新的解决方案,从实践中比较并进行选择,事实上我已经把前3个环节都做了。也正因为此,我不能像一个普通的项目文档一样只写说明文。
我认为就因为我用这种夹叙夹议的文体写项目文档就说我能力不行,或者我提出一些问题就说我怼同行,这是不公正的。我提出的问题都是我经历过或者了解到的,不是我瞎编出来的,每个人当然有权利改变或者不改变,但是不应该指责那些尝试改变的人。
一件事情的评价可以正着说也可以反着说,但事情本身做到和没做到则很难混淆。虽然在核心玩法上我没选一个特别难的,但是为了检验这套技术的成色,我还是实现了很多并不容易做到——或者说听起来是个亮点但市场上很少能出现的功能。
当然我这些功能仅限于策划部分,什么整合资源啊执行力证明之类的我不管。总不能说没有管理属性的加成,策划的专业价值就不存在吧。
1、常规功能
1.1、我实现了一个既有规模又有变化性的装备系统(每个英雄装备不同,部位的功能不同,每个装备格都有多种选择)
1.2、我实现了每次穿戴替换装备的效果不同,合理的选择可以获得更强的属性(装备效果1和3)
1.3、我实现了一个没有固定配比的强化玩法,为市场交易提供一种高价值商品(进化配方)
1.4、我实现了一个投资型的经济系统(神树),投入资源让神树等级越高,相关资源收益越高,以此为基础实现一个投资型的生态系统
1.5、我改革了付费模式,并为新加的生态系统和艺术付费设计与之搭配的内容。
2、基础功能
2.1、我实现了属性的整体规划,战斗模拟并将这些属性转化为各个系统配置表格式的数据,以代码自动配置的方式填写完毕。
2.2、我实现了4种资源、金币、经验、声望等游戏里各种资源的汇总核算,对各个系统进度进行了控制。
实际上这个项目里我加入了大量自己的想法,但是这里我列出来的这几条我觉得还算比较客观,不是资深策划的话想做出来大概还是有点费劲的。
最后我解释一下什么叫做我实现了。
我觉得有些策划对程序有一种莫名的恐惧,明明可以理解的东西一进机器里跑一遍就被打上策划不可能的标签,这是不对的。
我举个例子,我操纵一个30级的战士去砍一个同样30级的刺客,程序会从这两个英雄的属性、装备、技能等等配置表里取到对应的数据(少部分数据比如血量不是从配置表取而是从数据库取),汇总起来得到战斗真实的数据,然后根据战斗公式这边的攻扣掉那边的防,得出伤害值再把血量扣掉。
这个过程你用C++实现,还是用C#实现,还是用excel实现,都是一点问题没有的。程序开发确实要考虑的多一点,后台要做通信,前台要做显示,但单纯看数据功能都是一样的,而且这些功能全是策划给程序的,程序做得不对那叫出bug。
在这种情况下为什么还要坚持程序做完才能策划做?根本不存在这种前提因果关系。
确实有些游戏是一步一个脚印摸索出来的,比如说DOTA,但是DOTA出现之后你再做一个LOL或者王者荣耀或者一个别的MOBA游戏,难道也得一步一个脚印摸索?人家巴不得你有相关经验,能直接一步到位的把活儿干出来。
所以在程序之前把玩法在数据上实现出来是一个对开发有好处,技术上也可行的做法。就算从开发便利性上也是很值得的,测试其实很麻烦的,建号,用GM工具调等级装备和钱,该穿的穿该点的点,到打的那一步也很主观。
我以前跟一个同事测职业平衡,我的想法是多打几次,统计胜负看一下概率,所以要求他跟我尽量输出,打死了就填表记录一下再开下一局,结果他不干,他说玩家又不会像你说的这么玩,然后他砍两刀就绕圈跑,CD到了再回来跟我打,他玩得很高兴,搞我也得猥琐着玩,结果搞到下班也没测几次。但是用excel模拟就不一样了,全等级的战斗模拟结果一次性就拉出来了。
当然如何把玩家操作变成量化数据确实是个问题,我在文档里也花篇幅讨论了这个问题,目前我的主要思路是借鉴工业制定工业标准的做法,工业标准的制定首先是在已经稳定运行的工业基础上制定通用标准,但允许某个项目根据自己需要使用非标准的特种零件。
我先把数据联通,相当于有一个可以运行的工业基础,然后会在所构思的玩法中选一个高效的认可度高的操作策略去作为标准,其他数据以在该标准下可以实现我构思的玩法为准。
比方说我对经济的控制是建立在玩家每天50次通关(大概是2个多小时)的基础之上的,但是玩家一天玩5、6个小时,或者一天只玩半个小时,都是很有可能的。玩家不按这个标准来玩也是允许的,时间上提前了或者落后了都是他们自己玩出来的结果,有些玩家属于没掌握技巧,比如我们这里神树是投资型的,所以规划的时候默认玩家会把这些资源用来升级神树,但玩家就是不升,这确实会让玩家效率上不如别人,那他自己发现了这个情况自己调整过来就行了。
我把2个多小时作为一个认可度高的标准,什么时候升到多少级,其他系统产出多少资源,可供英雄培养到什么程度,把所有这些数据连接成一个有机的整体,确保玩家以这个标准来玩的体验,这套数值就相当于工业里给出的合格品。
难一点的是战斗系统,弹幕游戏操作的影响非常大,有的人躲不掉几颗子弹,有的人能全躲开。我虽然去掉了挨子弹就死的设定,改成了损血扣分的设定,但是也得保证一定的难度,否则玩家就不会投入。
于是我给操作难度量化了一个指标,叫损血倍数。就是说玩家和boss站桩对射的情况下,玩家把boss打死的时候boss能打掉玩家几管血。反过来也可以理解为玩家需要几分之一的的时间必须躲开boss的弹幕否则就不可能打赢。
这里有个问题是boss技能现在还没做出来,我并不知道boss弹幕的具体效果。也许有的很难,有的也许没那么难。但是数值上有了这个量化指标,我就可以用一套成体系的数值去应对测试,如果某个boss的弹幕做得偏离了平均,我也可以对调整多少心里有底。
我把英雄和怪物所有数据汇总起来,根据战斗公式算出所有等级所有难度的这个指标,并将其控制在我认为合理的范围内,就相当于证明之前所有数据是有合理性的,我把它们生成配置表,这就是我所说的我实现了。
这些功能还是比较复杂的,但我把最复杂的部分都用数值做完了,给程序的只是一个个配置表字段,是分解到最基础的逻辑功能,如果游戏做出来,这些配置表载入就可以测这些玩法实现的怎么样,因为构思的玩法已经按照逻辑生成了对应的数据,就算你不按这套方法来做,游戏先做出来你再调,最后给出去的也是这套数据。
我把程序开发中关于数据的功能抽取出来,用excel重新实现,这也是我说策划可以先行的前提。但是这些功能虽然是用excel实现的,本质上也更像代码,而不能仅仅把它当成表格,你要想理解,就得一个单元格一个单元格的查看其数据生成逻辑,这确实是一个艰苦的工作。如果卡在这里看不下去,恐怕确实很难信任我给出的结果。
但相比程序语言,这套语言已经极其简单了。80%用的就是一个检索用的vlookup,一个判断用的if,我在第4章还专门通过商城这个玩法比较简单的系统讲解excel工具的应用。即便你不打算用这个技术去做一个你心目中的游戏,起码它也是一个提高工作效率的好工具。希望能看的下去的人多一些。
|
|