空港喵影 > 游戏制作:我要重振国产游戏 > 第196章 用技术重现古战场吧!

第196章 用技术重现古战场吧!

    所以什麽叫:「如果士兵不是最小单位,兵团才是?」

    这个问题萦绕在整个技术部员工的脑海中。

    人是无法理解自己没有见过的事物的。

    就如此时,就如当今,就如在场的诸位,哪怕渡边这样的技术男,也一时间无法转过弯来。

    为什麽?

    就以当下几部最具代表性的RTS为例子吧。

    西木工作室《命令与征服》《红色警戒》。

    玩家可操控的单位,可以是一辆坦克、一个肉人、一架飞机或者一只狗————

    而其中每个单位,都有自己的血量、坐标、目标、状态、移动逻辑和攻击逻辑————

    而这,就是最典型的对象式建模。

    暴雪的《星际争霸》和《魔兽争霸》?

    虽然比《红警》复杂得多,AI、兵种、博弈都更深。

    但底层思路一样是,兽人苦工是一个单位,飞龙和小狗也各是一个单位————

    其他的还有什麽《帝国时代》巴拉巴拉,不多赘述。

    反正对当下这个时代的人来说,他们对「战场」这件事的默认理解,就等於很多个体单位的集合。

    那滑鼠一点一划拉,看似框住的是一个整体,但其实是框住很多对象,而不是「一个兵团」。

    什麽意思呢?

    就好比你在红警里框了100个动员兵,让他们冲去打犀牛坦克。

    你眼睛里看见的,是100个人一起动。

    但在游戏後台呢,其实是给这100个100块的好兄弟,挨个单独算了一遍数据。

    ~每个兵的坐标在哪?往哪走?走多快?要不要躲障碍物?

    嚯~每个兵打谁?打了多少伤害?自己掉了多少血?死没死?

    那这个兵要播放跑步动画?还是开枪动画?还是死亡动画?

    所以懂了吧!

    如果用这样的思路,来做《三国》,来做一场真实的战争?

    闹呢?

    所以包括久多良木健在内的一众人才会觉得。

    苏砚承提出所谓的千人万人同屏,根本就是异想天开,是不可能做到的事情啊!

    就算现在,他又提出了最小单位不是士兵,而是兵团。

    对他们而言,这些想法既反逻辑又超越时代。

    很多人的第一反应,都是觉得:「可兵团明明是很多士兵构成的啊?」

    「你不还是得先有士兵,才能有兵团?」

    或者还有更激进一点的,是那些RTS的死忠粉。

    「社长!」

    「没有采矿、没有造兵、没有编队、也没有点哪走哪和点谁打谁,这还算RTS游戏吗?」

    「所以社长,你是想要挑战RTS游戏品类的边界吗?」

    对此,苏砚承直接拍桌怒斥。

    「没有矛盾的事物,只会陷入发展的停滞,难以革新的东西,最後只会死亡!」

    「而且,谁说做不到的!程式设计师的美妙就在这里,不是吗?」

    苏砚承激情四射地给他们教学讲解。

    「我们不是魔法师,不能凭空捏造奇蹟,但我们却是最顶级的魔术师,善用欺诈的手法来达成

    最终的目的!」

    「那麽有没有什麽办法能————」

    「哦!」

    渡边思索了很久,大概理解了苏砚承的想法。

    「所以你打算降低精度、假装人数多、用廉价方法骗玩家?」

    虽然很难听,而且还有些偏差。

    「但差不多摸到我的意思了!」

    「细说?」

    「意思就是,我们的游戏不必模拟战争本身,只需要模拟,战争被人看见的样子!」

    而以玩家的角度来看,万人战场的真实感,应该来自於哪些东西?

    阵列推进、密集冲撞、侧翼包抄、局部混乱、骑兵切入、溃败蔓延————

    还有旌旗、烟尘、呐喊、屍体、和一眼望去的人潮————

    渡边思索几秒,了然的舒展起眉头,「噝,有点意思了~」

    「哦,我有点懂了!」

    有点懂就好往下讲了。

    苏砚承没有停下解释,继续站到白板面前,开始讲解该怎麽做到。

    毕竟他可不是只有想法,然後让底下人去想办法实现的那种领导。

    於是上来,先在白板上画出一个大括号,还有几个序号。

    「所以该怎麽实现这个需求呢?」

    「我打算开发一个专门的代理系统,就叫她————军势代理系统吧!」

    他一边说,一边在白板上书写。

    「而这套系统的顶层逻辑,是让真正参与进计算的,不再是屏幕里的数万人。」

    「而是其中的10个军团,和每个军团下5到10个队列,再到每个队列下若干表现用的士兵。」

    说罢,苏砚承回头扫了眼部门会议室。

    发现底下好几个人都眼神迷茫的看着自己,还有几个管他听没听懂先记笔记的。

    「看我干嘛看板啊!」

    他猛敲了敲白板,「还有下边记笔记的别记了,一会儿又不给你们擦,都给我抬头听讲,听懂了比什麽都强!」

    噝!

    这个感觉,好熟悉!

    忽然一阵来自底层代码的恐惧,让众人一个哆嗦,坐正抬头听讲。

    苏砚承点点头,接着扭身在白板上写道。

    「所以接着之前的讲,我们参与计算的,也不再是单独的士兵,而是要给它分成三层!」

    「真正决策的是「队」,真正结算的是「阵」,真正表现出的是人」。

    ——」又是一阵听天书般的迷茫。

    好在苏砚承继续解释。

    「第一层参与计算的结构,是军团层,这一层需要计算的单位数量最少,一次战争里就几十个。」

    「我们让这一层,负责处理战斗中的战术目标、军令、士气、指挥半径和地形影响,还有计算是否推进、防守还是溃退————」

    「第二层结构,是队列层,这一层可能就有几百个队列代理负责处理阵型展开、局部接敌、朝向调整、冲锋状态及受击反应等等等等————」

    苏砚承说到一半口乾舌燥。

    泷川雅美在最好的timing,适时把水杯递过来。

    苏砚承随口道谢,一个战术喝水,然後接着说道:「然後第三层,就是士兵层,表现层。」

    「这一层,我们只需要让玩家们看见很多士兵们的表现,简单来说就是前端!」

    「所以这一层,根本不需要每个十兵都能完整思考,或者给他们单独计算逻辑和渲染。」

    「我们只需要让他们跟随所在队列、做局部避让、播放合适动画、和在必要时响应近处的战斗就行!」

    至此,三层架构完成!

    思路一下就通畅了!

    哦!!

    在座的程式设计师都不是傻子,随着苏砚承给他们一点点的拆开来讲。

    似乎脑袋一下子就被贯穿了。

    一个个心明眼亮,激动的左右对视。

    卧槽我听懂了!

    军团层是什麽意思,就是把原来上万个单位的宏观决策,收束到几十个军团代理。

    这样下来,算力消耗几乎可以忽略不计!

    而队列层呢?

    就是把微观的战斗结算,从单个士兵,上收到队列级!

    这样就避免了上万个单位的血量、伤害独立计算。

    算力消耗降低好几个数量级!

    然後就是————

    呃,难道就我没听懂吗?

    泷川雅美看着这群莫名开始激动的科技人,有些不好意思,戳了戳身边的渡边:「所以能给我做个比喻吗,我也想听懂。」

    渡边淡淡的解释,「简单来说,就是你去方阵表演,你不需要思考,旁边人做什麽你做什麽就行了。

    彻底剥离掉你的决策和结算逻辑,这样你就不会消耗算力了,至于思考和计算和决策这些更复杂的事情,交给你的上一层和上上一层。」

    「哦,这样嘛,好厉害啊!」

    泷川雅美双目灼灼,「所以总结下来,其实就前线的将士全身心投入到战场中,听命行事,奋力杀敌就可以,而後方人员要考虑的事情就很多了!」

    咦?

    「虽然你这句话有点怪,但差不多就这麽个意思。」

    渡边歪了歪头,随後举手,「但我又出现了新的问题,老师!」

    「好的,渡边同学你问!」

    「那麽在表现层,你打算怎麽表现呢?」

    渡边问,「如果还是要计算每个士兵的走位,是不是又徒费算力,又绕回去了呢?」

    「这个问题就很关键了啊,拉文克劳加十分!」

    苏砚承笑着点了点他,转身立马在白板上写下了一连串的字符。

    看着复杂的公式在白板上成型。

    底下一阵的窃窃私语,「学生们」互相交换眼神。

    「这是————」

    渡边逐渐眼前一亮:「原来如此,Boids算法,居然打算用在游戏上吗,真有你的啊,苏砚承!」

    Boids算法?

    啥啥啥,写的这又是啥!

    来自各大游戏公司的技术精英们,只有几个闪出恍然大悟的表情,而大多数居然都流露了惭愧的神色。

    Boids算法并不是新鲜东西,全称其实叫作:群体运动模型Boidss模型。

    是1986年,一个美国计算机图形学的顶尖专家,克雷格·雷诺兹,老哥根据观察鸟群和鱼群的运动方式,而创作出来的仿真模拟模型。

    这种模型通过分离、对齐、内聚三条极简的个体行为规则,就模拟出了鸟群、鱼群、兽群的自

    然集群运动。

    最新的几次运用是在好莱坞,《蝙蝠侠归来》的蝙蝠群,《狮子王》的角马群————都运用了这种模型。

    而在至今的游戏行业呢?

    暂无!

    「所以分离、对齐、内聚,只需要三条基本规则,」

    苏砚承振臂呼喊,「那麽我们便能基於大模型下,经过一点点微调,就能完美地重现出一个完整的军阵出来!」

    分离、对齐、内聚是什麽?

    简单来说就是别撞到边上的、跟上左右的、别脱离整个队————

    这复杂吗?

    「不,这甚至不需要复杂的AI逻辑,也不需要高开销的路径计算!」

    渡边也开始兴奋地分析和计算,手指开始在键盘上狂敲。

    「每个个体只需要参考周围3到5个士兵的状态,做几次简单的浮点运算————就能模拟出极其真实的战场人群行为!」

    「同时,Boids算法的每个个体计算,都是完全独立的,天生就适合并行化处理,所以————」苏砚承点头,话还没说完。

    渡边眼前一亮:「所以我们就可以直接调用PS2的vu单元,来做算法的硬体加速!」

    苏砚承和他对视,笑着点头:「就是这样!」

    三天後。

    索尼SCE,地下硬体测试实验室。

    中央的一台21寸特丽珑监视器,正连着台锁在防静电机柜里的PS2最终版工程样机。

    久多良木健站在监视器正前方,双臂抱着胸口,一只手捂住嘴巴,不停搓着揉着,紧张无比。

    他身後,索尼本部的核心硬体工程师团队围绕站立,一会儿注视跟前屏幕,一会儿扭头观察正在调试设备的苏砚承和渡边。

    「好了吗?」很久,久多良木健皱着眉问。

    「好了,请看吧!」苏砚承起身,和他并肩而站。

    话音落下,身後的渡边抬手敲下回车,监视器亮起。

    画面里,是光年引擎的演示区,没有精致贴图,也没有光影渲染,甚至连基础的材质都没有。

    只有灰白低模的空旷场景,和棱角分明的几何体低模士兵————

    但这士兵出现在屏幕上的————竟是成千上万,铺天盖地,宛若海潮!

    「纳尼!!」

    「这不可能!」

    技术员们惊呼出声。

    而再一次的,久多良木健被身边的少年所震惊到了!

    之前是在顶层,这次却在地下。

    随後,渡边敲击键盘,连续输入指令。

    却见上千几何士兵组成的八个方阵,开始缓慢地在纯灰的坡面上移动。

    「哒哒哒!」

    键盘再敲击,左右两军速度变缓,如巨大的雁张开双翼——————

    竟形成一个古代兵书里记载过的雁形阵!

    这在现代RTS游戏里,几乎是不可能做到的画面!

    此刻却复现在众人眼前,显得庞大、密集、有序————

    仿佛真窥见那古时的战场。

    於是久多良木健和一众工程师们,只透过这粗糙的原型,莫名其妙就脑补并赋予了他们材质和色彩。

    然後恍惚间,他们开始畅想,开始幻想起自己拿着手柄,就能指挥起千军万马————

    仿佛按下手柄的冲锋键,就能听见整个军阵的呐喊,那声音顺着音响震得手心发麻。

    仿佛能看见虎牢关下,十八路诸侯的联军铺天盖地,吕布单骑出阵,身後的并州铁骑列成锋矢,马蹄践踏,扬起烟尘。

    亦或者官渡之战,他们自己亲率轻骑,绕後奔袭乌巢,队列随心而动,火光顺风蔓延!

    还是那赤壁江上,玩家一声令下,上千艘蒙冲斗舰,顺着东风冲向曹营,火船相撞,江面船队溃散,士兵跳江、溃败————

    而他们,就和那周郎并肩,亲眼看着自己弹指间,将春水烧成火海。

    「羽扇纶巾,谈笑间,樯橹灰飞烟灭————」

    久多良木健忽然想起了这首词,忍不住轻声念着,无限遐想。

    「我也是,三国迷啊————」

    他本来一开始是不信的,可当自己的机器被真正榨出想像之外的东西时。

    反而比谁都兴奋了!

    过了很久,他忍不住翘着嘴角扭头,看向雄姿英发的苏砚承。

    「没想到你,居然真的重新定义了RTS游戏,也重现了最真实的战场!」

    「所以你是怎麽做到————」

    却见苏砚承笑而不语,久多良木健忽然止住了话,66

    沉默许久,久多良木健只自嘲一笑,摆摆手:「一会儿请麻烦你跟我上楼来,我们再重新谈谈条件吧。」

    顿了顿,他又觉得不行,摇头改口:「我的意思是,所有的条件,都要重谈!」

    >

    http://www.konggangmiaoying.com/yt123766/48669879.html

    请记住本书首发域名:www.konggangmiaoying.com。空港喵影手机版阅读网址:www.konggangmiaoying.com