感谢 @知乎游戏 邀请。
大家好,我是《鸿图之下》的引擎工程师,从《鸿图之下》立项到即将上线的三年的时间里,主要负责引擎架构及渲染模块,有过迷茫有过困惑但从未放弃,终于这款SLG手游要与大家见面了,在这里非常感谢大家对《鸿图之下》的关注及支持。
从刚刚接手任务,世界还一片混沌,除了登录界面什么都没有的状态,到现在我们拥有了一套自己的SLG地形系统、一套实时演算的战斗系统,内心里说实话还是十分高兴的。
最开始项目组给我们的引擎需求非常简单明了:“一个400万地格的大世界,能满足美术方便编辑和生成地形”。一般像这种越是简单的需求,做起来就越是复杂,可能策划心里面也没想好要做成什么样子。不过这也方便我们自由发挥,想怎么改就怎么改。美术同学只好在心里吐槽,地形好多参数,怎么改了一个值整个地形都不一样了?河流那么复杂,我只想调整一下河流的朝向都这么困难吗?
有意思的是,我们是先有了战斗系统,然后才有的沙盘大世界。负责战斗系统的客户端主程序对于最后游戏的效果其实并不百分百满意,按照系统一开始的设计,是可以满足玩家在战局内完全自由操作军团和武将的,然而由于玩家学习成本太大,且对手游玩家不够友好,出于完善用户体验的目的,这些功能最后被策划做了精简,这个遗憾可能只能等到后续新的项目弥补了。
回归正题,说到SLG手游,相信不少玩家脑海中第一时间构想出来的可能是2D画面、略显粗糙的人物头像和地图贴图?
的确,在现在的手游市场,SLG这个品类的整体画面品质确实不尽如人意:2D画面、穿模人物、贴图效果比比皆是,反观其他类型的游戏,像MMO、MOBA,在画面上一个赛一个精致、一个比一个更有沉浸感。对三国爱好者来说,一款高画面品质的三国策略游戏,可能是一个刚需,这也是我们团队历时3年坚持打造《鸿图之下》的初衷。
我们为何有自信说《鸿图之下》是一款高品质的SLG游戏?
因为,《鸿图之下》是腾讯首款以UE4(虚幻引擎4)打造的策略手游,得益于UE4的强大画面表现力和工具集,我们得以塑造出一个全3D的宏大三国世界。
先来看一个简短的小视频,纵观一下UE4加持下的《鸿图之下》到底长什么样子。
一.为什么选择虚幻引擎4(UE4)?
游戏引擎是任何一款游戏的立身之本,而游戏引擎也决定了游戏最终的呈现品质。
不清楚什么是UE4的话,可以看看百度百科的相关介绍,这里我就不赘述了:
其实当下UE4引擎更多的是被用于3A单机游戏的开发,比较典型的例子就是前段时间爆火的国产单机游戏《黑神话:悟空》。我们想要打造出一款最真实的三国游戏,让一刀一枪,一草一木皆肉眼可见,还原古三国战场的贴身肉搏,让玩家身临其境真正体会冷兵器时代的战争逻辑,无疑UE4是最好的选择。
从技术的层面,UE4开放源码的优势能让我们更加方便修改渲染管线,以及地形编辑的工具集。虽然在制作过程中也遇到了一些难以攻克的问题,也出现过相同功能的推倒重做,但就整体而言,开源的优势极大地提高了我们工作的效率,我们得以深挖引擎内部的实现,在效果和效率上都做到了移动端我们能做到的极致。
正因为UE4强大的画面表现能力以及工具集来开发《鸿图之下》,我们可以给热爱战略游戏的玩家提供一个充分利用天时、地利、人和的作战机会,实现“身临其境的真实三国战场”。
二.我们如何借助UE4去还原一个真实的三国战场?
任何一场战争的胜败,仅凭单一的因素是无法决定的,天时地利人和一个都不能少。
【正是因为有了东风,诸葛亮才能火烧赤壁】
【正是因为在寒冬季节,曹操才能夜建冰城抵马超】
在《鸿图之下》中,我们借助UE4,通过天时、地利、人和三个维度对真实三国战场进行了全方位的还原:
1)天时 —— 借助UE4实现了天气、昼夜、四季的变换
通过UE4提供的全局光照烘焙,我们打造了实时光影来实现昼夜的变化,借助自然风场、四季和天气模拟技术,打造了一个高度拟真的天气系统,给玩家超强的视觉展示。
这里的拟真不单单是指画面效果的高度还原,更是直接把“天时”和战术直接做了挂钩。昼夜、天气等都将影响玩家单局的作战策略,利用拟真的物理规则向战略家发出更高难度的策略挑战。
2)地利 —— 借助UE4构造了400万地格超大世界
UE4在构建大世界上其实是有独特优势的,我们在《鸿图之下》中构建了400万地格超大世界,换算成现实相当于400万平方公里,并且针对SLG类游戏的特点,我们还在UE4的基础上拓展了地形渲染引擎和编辑器,融合不受限制的地形贴图数量,在400万地格的基础上设计了达20多种地形,为玩家模拟还原三国真实地形地貌。
在地形的实现上,我们尝试过很多种方案,一开始尝试过用高度图制作山的方案,但是无法解决山地阴影过于粗糙的问题,呈现出来的效果会偏向卡通风格。直到最后我们才决定用山的模型和地表渲染的方式去处理,这样可以确保山的模型法线足够精致,也利于美术同学控制山的表现。
实际上在地形的制作过程中,美术同学持续的支持和沟通起到了很关键的作用,每当地形渲染迭代一个功能的时候,他们都需要重新学习一遍,有的时候隔几天就会迭代一个小功能,迭代的过程中他们还得充当QA的角色,测试编辑器的稳定性。更经常出现的情况是,新的地形编辑器编译好了,美术同学忘了更新,还是处理旧的地形数据,结果一旦更新svn就发现以前的数据用不了了,陷入了抓狂的状态……在这里要隆重地向我们美术同学致以崇高的敬意!
最终,通过UE4提供的PBR渲染,我们将不同地形的元素,像城池、木材、石块的纹理,以及水流等材质进行写实的呈现,并配合实际的声效,在完成了宏大的世界之后,用细节去填充这个三国世界。
在《鸿图之下》中,还拥有无极地图缩放,玩家可通过双指放大缩小地图,进入到不同的场景之中,这样的全新视角,不仅能帮助玩家纵观世界格局,更能探察城池方圆的风吹草动。为了实现顺畅的缩放操作,引擎端做了很多渲染的优化。确保从3D地图切换到2D地图的时候,不会有太大的帧率变化。
3)人和 —— 借助UE4真正展示出千人同屏征战的壮阔景象
在UE4的支持下,我们在移动端突破地实现了1000V1000的千人同屏大作战。
通过GPU骨骼蒙皮动画,确保了在手机上也能呈现出非常宏大且优质的团队士兵作战,剑雨、落石、火球等炫酷的战斗特效。
为了解决《鸿图之下》大量模型在战斗时可能会出现的模型穿插或者动作一致的问题,我们通过算法,利用移动端的硬件,多线程和多核的优势,并行高效的计算精准到了每个士兵的碰撞和动作,兵卒、甲胄、立盾、刺枪细节可察,为玩家呈现千万兵卒战场的真实物理碰撞、精细的士兵动作,让玩家不仅是个看战报的局外人,而是能够亲身参与到整场战役。
在优化性能的时候,美术同学一开始并不愿意把士兵的模型面数降的太低,认为那样会让效果显得太糙。但实际上,除了离摄像机特别近的模型,远一点的模型基本都处于“看个样子”的状态,加起来都可能不到100个像素。在我们的不断坚持下,原有的LOD模型都往对半砍甚至是四分之一的数量砍。HLOD的计算我们也进行了优化,避免大量模型的时候HLOD分组里包含距离过远的元素。最终,在保证低端机上也能跑到足够高的帧率的基础上,能够让高端机镜头拉近的时候也能看见非常清晰的武将和士兵细节。
为了把综合战斗表现力更好的带给大家,我们在战役模式中采用了即时战斗,不像传统SLG或者回合制卡牌类游戏那样的回合制战斗,而是操作都能得到即时的反馈,两军真实的在交锋,这样可以更好地还原策略玩家对于战场的理解和代入感。
同时,在战争中常见的两支部队对冲的形式,在这个战斗场景下就存在接触先后的问题,是两侧先接触还是中间先接触,技能的释放又是对着谁的?为了解决这个问题我们加入了一个阵形的设计,带有尖头的队伍阵形,那么就是尖的地方是先接触敌人的,并且有不同的接触面积,导致最终的算法和战斗结果都不同。这样整个游戏,就会呈现一种非常多样的战斗体验。
我们觉得做游戏,第一要义就是让玩家们觉得好玩、有意思,愿意花时间沉浸其中,换句话说就是让玩家得到更好的游戏体验,希望我们借助虚幻引擎4的运用打造出的全3D真实三国战场,在画面、战斗体验、策略性上,都能给各位热爱三国、热爱SLG的玩家带来更好的体验升级。希望大家能够下载体验并喜欢《鸿图之下》。
谢谢!
来源:知乎 www.zhihu.com
作者:米兰头号伪球迷
【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载
此问题还有 323 个回答,查看全部。
延伸阅读:
你玩率土之滨氪金多少?