Notifications
Article
《The Serpent Rogue》:使用Unity开发沙盒游戏
Updated 4 days ago
747
5
本文中,SengiGames团队将介绍沙盒游戏《The Serpent Rogue》的制作过程,包括:药剂制造系统,Unity中着色器的使用,以及实现交互式世界等内容。
原博链接:https://80.lv/articles/creating-a-sandbox-game-with-magic-potions-in-unity/
发布日期:2019年8月29日

简介

SengiGames创始人Alexander Ponomarev:
我叫Alexander Ponomarev,今年29岁。和SengiGames的大多数成员一样,我也来自乌克兰。我自从上学时期就在学习开发游戏,我的第一个游戏是使用Blitz3D制作的,这是过去独立开发者和小型团队经常使用的工具。我曾发布过一些游戏,这些游戏项目类型广泛,包括:城市赛车游戏,精神病院恐怖生存游戏,叙事类像素冒险游戏。
那时候我都是在全职工作之外开发自己的项目,有一次一位客户看到我在编写代码,便询问我在做什么。
我告诉了他自己的这份爱好,并了解到他是当地一家游戏工作室的所有者。不久后,我就在他的工作室,开始接触和学习与团队一起开发大型项目。
在积累了一些经验后,我加入了Pinokl Games,发布了一些社交媒体游戏和移动游戏。之后,就在我极端渴望制作一款游戏上架Steam平台没多久,我幸运地地得到了一个实现自己想法的机会,也就有了《Party Hard》的问世,和最近为该游戏发布的续作《Party Hard 2》。
现在,我在自己的SengiGames工作室开发新项目。与我一起的,还有很多在我开发《Party Hard》中碰到的的人,我们正在开发的新项目叫《The Serpent Rogue》。

关于《The Serpent Rogue》

关于游戏,我最欣赏的是沉浸式氛围和有趣机制的结合。对于《The Serpent Rogue》,我希望做出不同寻常的内容,尝试不熟悉的工作流程。我在开发《Party Hard》时积累了许多创意,但我当时没有时间实现这些创意。
《The Serpent Rogue》项目的重点在于:给玩家实现独特获胜方式的自由。为此,我需要新的测试平台进行实验,最后我找到了自己想要的平台。创意往往是在不经意间出现的。虽然该项目现在离成品还很远,但我对该项目充满信心,并且还在不断完善项目。
现在,该项目具有别的游戏里不常见的有趣机制。总而言之,我正在开发自己真心想玩的游戏。
《The Serpent Rogue》项目的设定基于我以前的项目《Plague Venue》,该项目是我在GameJam活动“Ludum Dare”上花了72小时制作的,但是二者的游戏玩法完全不同。
我不打算在目前的项目实现街机游戏,而是想要制作一个深度的游戏系统,让玩家可以在每次游戏时找到新的感觉。首先我构造出项目的基础,然后整个开发团队对此进行扩展。在游戏中,玩家可以成为真正的炼金术师,发明药剂并进行实验,从而获取自己想要的东西。

Unity中的游戏开发过程

《The Serpent Rogue》使用Unity进行开发。选择Unity的主要原因是我们有丰富的Unity使用经验,此外,Unity非常容易上手、学习和定制。
我们尽可能使用Unity的原生工具,我们会在需要时,通过自定义功能逐渐扩展这些工具,从而增加更多的便利性,简化关卡设计等交互式内容。

游戏世界

这款游戏的世界庞大而丰富,玩家可以游览不同的区域,看到不同的生物群落。在世界的一角,玩家会身处雪山之中,而地图的另一边则布满了沼泽湿地。

由于我们是一个小团队,无法制作出无缝连接的开放式世界,因此,我们决定让玩家可以游览特定的“手工制作”位置,而其它地图会根据生物群落自动生成。这样的世界导航系统曾经在《Fallout 2》中使用过。
我们关注游戏最重要的方面是:与NPC的交互,药剂制造,以及探索获胜的新方式。

药剂制造系统

游戏开发者Andrusenko Serhii和Alexander Shkoropad:
我们的游戏融合了沙盒游戏和Roguelike游戏类型。NPC的基本功能组成了他们的行为、喜好和优缺点,包括:非常简单的行走、睡眠、进食等能力,以及高级的职业技能。
大多数时候,玩家会通过使用药剂来和NPC进行交互。玩家可以制作出各种药剂,例如:回血药剂、让NPC去到特定位置或攻击某特定种族特定年龄群体的药剂。药剂也可以影响某些目标对象的机制。
举个例子,游戏中的母鸡可以下蛋。而特殊的药剂可以把鸡蛋换成金条或煤炭。这样一来,普普通通的母鸡变成了金矿或产煤机。玩家也可以对自己进行实验,喝下药剂变成老鼠或蛇,钻进正常情况下难以到达的位置,获取价值连城的宝藏。
药剂让玩家可以和动物产生自定义交互效果,例如:我们可以驯服动物,派遣它们执行任务,命令它们收集资源和战斗等。这种机制让我们的游戏世界变得不是线性的,而且也让世界更加丰富。玩家会有多种方式来实现同一个目标。
在设计制造系统时,我们希望让该系统易于理解。我们决定让玩家不必记住配方。每个配料都有一个关键词,而配方则是一个词组,例如:制作伤害性药剂时,我们需要三个带有特定标签的配料,这些标签是:Remove,Vitality,10,意思为“减少10点生命值”。

角色制作

游戏艺术家Dmitry Kaidash:
《The Serpent Rogue》世界对其中的住民产生了很大影响。这些住民的外表具有黑暗中世纪时期的阴郁风格。在游戏中,概念艺术的创意主要来自那个时期的神秘恐怖传说。
角色的主要特点在概念艺术阶段确定,从视觉上突显角色的地位和作用非常重要。即使在这个阶段,了解角色为达到优化要求而会受到的限制也很重要。
在概念艺术和其它细节通过后,我们要制作低多边形基础模型。我们主要使用Blender。由于场景中可能有许多对象,因此每个模型必须经过优化,只带有必要数量的多边形,骨骼和纹理等部分。
为了节省资源和简化纹理,我们经常合并对称元素的UV贴图。
动画在Blender中通过手工制作,我们主要使用真实的人和动物的视频作为参考。我们会仔细观察周围的世界,学习物理学和解剖学知识,了解事物的特点,这样有助于我们提高真实可信度。

给环境加入交互元素

概念艺术家Anna Karpova:
我们希望玩家可以通过多种方式和环境进行交互。然而,这不是普遍意义上的交互性,我们只强调有助于实现游戏氛围和感觉的细节。
我们的目标是给玩家呈现一个拥有生命力的有机世界。和动物一样,这个世界有时是沉静的,有时会打盹或动怒、生气,因此这个世界有无法预料的危险。
这个世界有风中摇曳的草,火光跳动的蜡烛,逐渐扩散的迷雾,纷飞的落叶,日出日落等,所有这些精妙的细节展现了和谐而令人愉悦的气氛。
然后,一场风暴突然袭来。无人知晓它揭开了什么秘密。自然之力很容易便可打破世界的平衡。狂风大作,雷云聚集,闪电在不断击向大地。没有人能预料这场风暴的后果。幽黑密林的神秘生物和沼泽环境营造了戏剧性的紧张气氛。
在游戏中,和谐平静与混乱未知互相融合,所有不可分离的部分形成了整个世界。游戏的反差会让玩家不知不觉地融入环境之中,设身处地感受主角的状态,成为这个诡异而疯狂的世界的一部分。

库存系统

SengiGames创始人Alexander Ponomarev:
库存也会影响游戏过程,例如:如果库存内有烂番茄,角色身边会出现苍蝇。Asset Store资源商店有很多优秀的库存功能插件,但我们从头制作出了自己的库存系统。对于这类重要的系统,我们都会使用自己的开发内容。
我们使用Screen Depth节点作为我们着色器的基础,给玩家展示可以放置或丢弃物品的区域。
然后,我们会获取鼠标或游戏手柄在3D环境的坐标,以玩家为起点计算射线投射。如果没有任何东西阻碍射线投射,那么就可以放置物品,否则,我们会告诉玩家无法在该位置放置物品。

着色器的使用

艺术家Dmitry Kaidash:
我们所有的着色器都使用Amplify Shader Editor制作。一方面,这些着色器用于实现视觉效果,另一方面,着色器帮助我们打造理想的氛围。着色器不仅用于实现卡通渲染效果,而且也会作为优化工具,解决许多视觉方面的任务。
举个例子,我们的低多边形马车由6个独立网格组成:主体,车门和4个车轮。它只有1个材质、1个纹理和2个遮罩。着色器丰富了马车的效果,因此车篷会在空中飘动,而且车帘具有透明的效果。
游戏世界有美杜莎角色。为了节省资源,我们决定使用着色器制作美杜莎头部的动态蛇群,而不是使用骨骼。
我们必须为着色器特别留意UV展开和纹理准备过程。使用Vertex Offset顶点偏移可能会破坏缝合部分,因此我们必须为蛇群使用无缝的UV。为了优化效果,所有UV贴图会合并为一个UV贴图。
如果顶点通过着色器调整,着色器的轮廓不会正确跟随蛇的运动。我们的解决方法是:创建一个额外网格,把它用作轮廓。我们使用了Blender的Solidify Modifier功能,并翻转了法线。
由于角色的所有部分都使用相同的材质和UV集,因此轮廓必须使用没有纹理的UV,这样才能重复蛇的运动。
这就是为什么顶点都使用红色来绘制。然后,我们会在着色器中把蛇纹理的颜色会替换为黑色。该角色其它部分的轮廓使用着色器和遮罩来制作。

未来的计划

SengiGames创始人Alexander Ponomarev:
目前我们打算专注于实现游戏内的连锁反应。我们开发的Perk系统可以制作出有趣的NPC非线性行为模式。由于我们在不久前才开始对游戏进行紧锣密鼓的开发,因此游戏仍需要加入游戏手柄支持和本地化等基本要素。
我们为原声音乐录制了民谣。下一步,我们要展开Pre-Alpha内测,向玩家收集反馈。在时机成熟时,我们会在社交媒体上宣布游戏,敬请关注。

《The Serpent Rogue》开发者,SengiGames团队

开发过程中遇到问题?在这里提问:connect.unity.com/g/discussion
Unity China
664
Comments
管右右
3 days ago
期待这款游戏
0
q
qiyu
4 days ago
这才是用心在做游戏,不管时游戏创意,环境,交互,人设,感觉都很用心
2
pipi
4 days ago
看起来很不错👳‍♂️
0
彭俊翰
4 days ago
这游戏我想要!
0
g
ggrmac
4 days ago
老外做游戏是认真的,不论是技术还是玩法体验都非常的用心!!
2