Steam热销排行榜的VR游戏:Bullet Sorrow VR 子弹之殇---开发日志

大家好,国产VR游戏 Bullet Sorrow VR,中文名子弹之殇,登陆Steam后,一直占据Top Seller各榜,以下是我们的开发日志,供大家交流:

不知道大家怎么想,我反正是觉得小时候混街机厅的那段时光特别值得回味。因此很自然地,当我刚接触VR游戏开发的时候,想都没想就开始把研发的路数往街机游戏上带。Bullet Sorrow 是我们精心研制的第二款VR游戏,虚幻4引擎和现有的VR技术让我们得以把小时候街机厅的激情和幻想补充得那么接近真实。

游戏原型及大部分效果已经完成。

场景
我们对场景的挑剔促使我们测试了几百种灯光效果,来营造一种全新的虚拟现实氛围。作为仍是一款闯关射击类游戏,我们想要呈现出与众不同的特别体验,而不是千篇一律的在科学实验室里打机器人或僵尸。 接近真实的近未来场景是我们首要考虑的要素,好消息是我们几乎达成了预想的场景搭建目标。

关于武器方面,我们精化了各类金属碰撞和声音,甚至射击和装弹的节奏,都让游戏玩起来更加硬核带感。

物理破碎
物理击退

敌人设定

秘密部队,两种精英兵种的设定完成

重型坦克兵:公司的精英保卫-----精挑细选的强壮异乎常人的半机械化人类,主要为男性。装备有金属重型装甲,因此移动缓慢,造价昂贵。武器为超级机关枪,能够在一分钟内打出多于3000发的子弹。

无标题.jpg
女忍者:公司内部神秘组织-----研究机构的隐秘部队,配备特殊材料的纳米服,价格昂贵,人员的筛选非常的苛刻。纳米服是贴身设计的,耐击打能力非常弱,受到攻击向内挤压,对身体造成很大的伤害,所以忍者部队以各种训练来避免自己被击中。纳米服可以依靠每个纳米之间的接收和变化实现光学迷彩功能,可以从某种角度实现隐形。武器装配高能粒子太刀。

故事

2030年,神秘武器公司S崛起,公司的产品和客户一直是个谜。主角,从S公司的某处基地醒来,发现自己记忆全失并获得一种时间控制能力。幸好在身边一位名叫Nova的谜之少女的相助下,主角突破了敌人的包围。现在主角的任务很简单,就是彻底突入S公司深处并找回自己的身份和记忆。S公司的最大秘密也随之缓缓展开。

在Nova的帮助下,主角终于掌握了自己的新天赋,随着不断战胜敌人和信息的手机,突然意识到事情进展得有点过于顺利了,而自己也似乎被卷入了另一个陷阱之中。

人物设定:
主角:S公司前雇员,无意间发现了S公司的秘密,被秘密部队攻击,而后奇迹般生还并得到时间控制的能力。
Nova:谜之少女,一直通过语音设备指引主角前进,但真人从来没有出现过。

特点:
超炫的子弹时间效果----我们提炼了VR游戏中最流畅酷炫的时间停滞效果,你可以在快节奏的游戏过程中体验绝对的“安静”,这种反差的感觉几乎有点像冥想的瞬间。

快节奏的躲闪和射击----这部分灵感来源于老牌街机光枪射击游戏《化解危机》系列。不过相比起来,我们现在的敌人AI和动作都做了大幅度的优化,发现这将使玩家不得不在同一场战斗中采取完全不同的攻击和躲闪策略。玩家还可以充分利用场景中的所有掩体,在其中切换作战。

子弹时间:子弹时间的设计一共有两个原型,基于时间刻度变化的控制,基于力场的模拟。

前一种实现通过对时间缩放进而达到类似于黑客帝国的效果,不过如果所有Actor对象的时间缩放比例一致会导致一些意想不到的表现,比如如果敌人的AI也进行同样的时间缩放就会导致在子弹时间敌人一发子弹也射不出来,对主角的Pawn进行时间缩放也会导致我们不想看到的一些效果。最终的方案是通过BulletTimeController对各个物体分别进行控制不同比例的时间缩放,并给出接口让策划来细调迭代,最终达到我们想要的效果。

后一种方案是基于力场的控制,在玩家的周围构建一个力场,子弹进入力场之后,我们会主动控制子弹的时间。这种方案下,子弹的效果其实是更优于上一种方案的,并且这种方案下,更容易实现联网的效果。不过这种方案提出的时间和原型的实现更晚,一些缺陷,比如敌人动作的时间缩放没有实现,所以整体效果还没有达到第一种方案的效果。

物理骨骼:我们用到了虚幻的物理骨骼系统,女忍者的胸部和背后的辫子我们都用使用了物理骨骼绑定,使得其表现能够更真实。怪物在受到到攻击的时候,我们都在预制动画表现的前提下进行真实力学解算,使得每次射击时,受击的表现都独一无二,这样玩家在进行游戏的时候才能获得更多的快乐。
1.png

性能优化:为了使得整个游戏更加的真实好看,我们用到了大量的复杂渲染技术,我们在游戏中用到了大量的高精度贴图,2048甚至4096的贴图,我们用到了一系列复杂的材质,比如皮肤材质,比如透明的镜面。我们场景的细节非常多,植被,小物件,各种细节的灯光。

我们用到了许多复杂的后处理效果,比如SSR,受击的全屏变红后处理表现,子弹时间里也加入屏幕扭曲的后处理表现。不过如此之多的技术,效果,和复杂的场景也带来的效能上的问题。

我们在第一个完整的内部版本上发现我们在VRReady入门的机器,只有10-20FPS,于是我们对整个游戏进行了一系列的优化。
1.png

首先是贴图和材质,我们对贴图的使用制定了一系列的标准,我们对场景中的物件进行了概念上重要度区分,对于重要的物件和材质我们使用分辨率更高的贴图;

我们对一系列的材质进行了优化,使得其使用的GPU指令更少;我们对场景中各种小物件和组件进行了合并,从DrawCall的指标来说,我们在第二个关卡的温室节点最初有7000左右的DRAWCALL,最终我们将其减少到了3500左右。

后处理效果是比较重要的一环,最初我们消耗在后处理上的渲染资源极其巨大,在gtx 970的机器上,两个屏幕的渲染加起来大概有10MS以上。

我们的方案是参考了EPIC的VR配置模版,并且根据关卡的节点逐个进行配置和优化,打个比方,我们的节点优化方案里有SSR和REFLECTION CAPTURE的开关,在没有镜面材质的地方,我们会把SSR关闭,在整个场景的ROUGHNESS都比较高的地方,我们甚至会把Reflection Capture也一起关掉,最后POSTPROCESS在GTX 970显卡的耗时大概是在4MS以内的。

1 Like

多谢分享,希望可以多来一些关于开发方面的经验分享。

刚更新了些技术上的经验,后续慢慢更新哈。

大大你好,请问把Steam SDK导入UE4项目都有哪些步骤呢?

原画也是你自己操刀么?3d建模和角色设计是我的弱项啊 有什么快速进阶的办法么~

感觉看不懂,并没有什么实质性的内容

贵游戏是用pbr流程吗?我感觉游戏截图的效果还有不少提升空间。另:后处理的特效(屏幕裂变,速度特效)等都是满占用资源的,除了提升机器配置外,你们在引擎中是怎么解决的呢