第(2/3)页 但冯总头顶显然还有人。 有些设计文档的批注用的是另一种完全不同的笔触,字不多,但每一句都直指问题核心。 奇怪的是,那些批注只覆盖了大框架。 棋盘是几乘几、经济循环怎么转、升星合成的规则、装备合成表、选秀的轮次安排,这些东西给得格外清晰。 可一旦涉及到具体的数值,比如每个棋子的攻击力成长曲线、不同羁绊的数值加成到底取多少合理、AI在什么情况下该切换攻击目标,批注就变得模糊了。 有的地方只写了半句话:“触发阈值需要大量实测。”有的地方更干脆:“参考主流MOBA的属性增长,你们自己调。” 这意味着策划组填不了的空白全得自己啃。 而空白的部分,恰恰是最吃命的部分。 上周,全组被自动战斗AI折腾到快集体辞职。 问题出在索敌逻辑上。 策划案写了一句“单位自动选择最近敌方目标攻击”。 就这一句。 测试录像一放,冯总的眉头拧成了麻花。 “你们看,两个近战卡在一个格子口抢位置,原地转圈。远程站后排不动,明明对面一个脆皮只剩一点血了,它偏要打面前那个满血的肉盾。” “整场战斗看起来跟两坨面团互相搓一样。” 然后策划和程序吵了整整两天。 赵海最后拍板,带着林城重写了整套行为树。 索敌优先级拆成四个维度:距离、剩余血量百分比、威胁值、仇恨锁定。 近战一套权重,远程一套,特殊棋子单独配参数表。光调参就调了三天。 现在总算像点样了。 坦克会挡在前排,远程自动走位找最优输出角度,残血单位会被集火。 但林城心里清楚,等五十多个棋子全做出来、每个都带独立技能的时候,AI复杂度会再翻两倍不止。 他修完边界判定的BUG,提交代码。 赵海挂了电话转过头: “服务端下午要联调。八人房间管理和回合制状态同步的第一版跑通了,拉客户端灰盒一起测。” 林城点头。 “灰盒”就是客户端目前的样子。棋子全是彩色方块,棋盘是灰色六边形网格,商店界面是几行白底黑字。丑得辣眼睛。但功能基本能转。 中午他去便利店买了份关东煮和白米饭,回来路过茶水间,听到两个美术在聊天。 “首发五十个棋子,低模加绑定加动画,一个半月。你算算,平均每人每周得交一个半。” “面数要求倒不高,三千到五千面,2014年PC端标准绰绰有余。但量大了风格统一是个坑,上批外包返回来的模型色调全对不上。” 林城端着东西走过去,没插话。 他不懂美术。 但他懂“量大”两个字意味着什么。 更多的资源等于更多的加载优化、更多的内存坑、更多的BUG。 下午三点,全组拉进会议室。 冯骥站在白板前面,手里攥着马克笔。 三十出头,但眼角已经刻上了纹路,头发比林城刚来时又稀了一圈。 他当初从企鹅出来带了七个人,现在分散在星云六条自研管线里,每个人一当三用。 “今天目标就一件事。” 冯骥在白板上画了个圈,里面写了“8”。 “八个客户端连进同一个房间。 能看商店,能买棋子,能拖上棋盘。 回合结束后自动对打。胜负结算,血量扣减。 有人归零,踢出房间。 方块人打方块人,能跑就行。跑通了,里程碑就算拿下。” 联调从下午三点搞到深夜十一点。 中间崩了七次。 第一次,一个玩家买了棋子,另一个玩家的棋盘上也冒出来了。状态同步出了岔子。 第三次,回合计时器在不同客户端上快慢不一。 第五次最离谱,服务端判定A赢了,客户端放的却是B赢的动画。 第(2/3)页