制作一款游戏有多难?带你了解游戏开发的全过程
上一期文章中,我们大致的聊了一下游戏开发小组的构成。集齐了多个不同领域的专业制作人才之后,游戏的开发工作就应该开始了。不过游戏的制作并非如大家所想的那么简单,虽然制作组的工作人员各司其职,但是如果没有统筹规划和安排,那么游戏的制作是无法进行的。本期我们就以《生化危机》的制作流程为蓝本,看一看一个游戏的制作到底需要一个什么样的过程。
说到游戏的制作,玩家们头脑中出现的往往是监督端着架子坐在开发现场指手画脚,下属们彻夜苦劳不眠不休进行编程和除错的场景。实际上,游戏的制作过程并不是这么简单,只靠努力工作,游戏是做不出来的。
在游戏制作之初,导演要按照出品人的要求,开始设计游戏的基本概念。这就是游戏的企划制作阶段。这个时候会召开几次策划会,在已经草拟的企划基础上,向所有的制作人员征求意见。经过多次讨论,游戏制作组将对游戏的制作方向和基本概念有一个比较明确的目标。在大方向统一的前提下,游戏的企划书就完成了。但是企划书完成之后还不能直接拿去制作,必须送交上级部门审批,获得采用之后才能开始正式制作。如果一部游戏的企划没做好,或者审阅者(一般来说是出品人)认为有什么地方需要改进,那么企划书就会被打回重做,直到被采纳为止。实际上,在制作游戏的时候,许多点子被做成企划书,但是由于该作与会社制作方针相违背,或者考虑到制作出来是否流行,可能受到什么影响等客观原因,这些完全新作最后不能被采用,只好被封存起来,直到后来才重见天日。CAPCOM最早在FC时代就制作过\”Sweet Home\”这样类型的恐怖游戏,其中一些系统的设计(如开门)已经和《生化》很接近了,但是因为当时游戏机机能有限,而且FC上也不适合多出这样的游戏,所以就被搁置下来,这个游戏的制作概念直到96年的时候才被重新启用。
在决定制作之后,游戏的初级设计就开始了。首先是游戏内容的决定。就《生化危机》来说,首先考虑的是如何突出\”生存恐惧\”的特点,还要与PS主机的机能配合好。起初三上曾经考虑过把游戏做成完全3D,但是因为当时PS的机能不够,只好退而求其次,将人物角色和道具做成3D,背景基本上采用2D。另外每个房间的面积都不太大,比较大的空间有多个场景拼合而成,在进出这些地方的时候会有些许读盘时间,可以用开门的动画来掩盖,让玩家在玩游戏的时候感觉不到在读盘,而且能够增加恐怖气氛。由于游戏的视角经常转换,用普通的方式来控制3D的人物难免让玩家感觉手忙脚乱,所以人物移动采取以自身为中心,360度转动的方式,按↑为前进,↓为后退,←→为转动,等等。在这些游戏概念都设计完毕之后,就可以开始游戏的制作了。
游戏制作开始之后,首先制作人员要解决的是素材问题。一个恐怖游戏总不能是由一堆火柴棍一样的模型人组成的吧,除了角外,还要有各种道具,四周的背景,颜色、光线的调整等……因为是3D游戏,所以角色在设计之后还要进行3D建模、贴图、渲染处理。这个制作在2D时代是不存在的,2D游戏只需要点绘师把游戏中设计好的角色用点阵的方式做成各种活动块,之后套在游戏里就OK了。3D角色的制作节省了点绘的时间,但是也会消耗掉制作人员不少功夫。在游戏制作的时候,传统美工与电子美工的合作是最重要的。不管你设计的角色形象多好,如果到了电视屏幕上就走了样,那么也是白搭(俗称:作画崩坏)。为了避免这种情况发生,双方必须做好沟通工作。
有了初期策划,有了美术设计,有了程序的编写,游戏的制作就算是正式开始了。但是游戏的制作者们在这个阶段也面临着一个棘手的问题:大家是同时开工的,在程序编写已经完成一部分的时候,美工和建模还没有完成。游戏的测试就要开始,这该怎么办呢?还好人类的智慧是无穷的,在制定计划的时候,制作监督就拟定了统筹安排的方法,让美工人员先临时做个简单的模型,供编程者测试使用。这样的临时龙套在3D游戏中是必不可少的,其中一些角色还成为在游戏中可以使用的隐物,尤其是格斗游戏。像《铁拳》里的木头人;有些角色,甚至可以成为BOSS,最著名的就是《VR战士》中的水银人了。在《生化危机》中,这个测试用的角色名叫\”豆腐\”,只是一个白色的方块而已。在游戏开始制作的时候,我方角色和丧尸都是由豆腐构成的。到了后来,豆腐也成为隐藏角色,出现在《生化危机2》的迷你游戏里。豆腐出现的条件还很苛刻,要达成也并非易事,如果对生化系列不够有爱的话就不容易见到它的芳容,这大概是CAPCOM对这个测试用角色的报答吧。
豆腐的出现固然搞笑,但是游戏里的角色不能永远拿豆腐代替。在初期的编程和美工完成之后,制作者就开始用已经做好的人物模型来代替原先填在游戏里的豆腐块。而本来什么都没有的背景也由精心绘制的图画代替,外加少部分3D的背景物体。这是前三代《生化危机》的背景制作方法,从《维罗尼卡》这一代开始,背景也全部实现3D化,制作比以前更加复杂。将上述的各个部分结合之后,加上音乐、音效和人语,游戏开始呈现出最初的形态。
此时的游戏制作离完成还有很长一段距离。在所有的程序编写好之后,就是按照设计好的方案制作各个不同的场景和剧本,以及测试操作的手感。在游戏的最初版本做完之后,就要进行测试工作了。这就是游戏的内部测试版。这个版本中含 有大量的BUG和不合理的地方,包括游戏的平衡性,都需要进行调整。Alpha版的制作过程占了游戏制作的大部分,但是调整的时候需要投入的人力物力比制作Alpha版要多。举一个最简单的例子,街机版《街头霸王2》的Alpha版的编程都是由船水纪孝一个人完成的,但是后期测试的时候,投入的工作人员数量却有很多。而且经过调整之后,8人街霸的平衡性还不是很好,直到12人版的时候才得到了改善。
Alpha版的调整工作结束之后就是Beta版的测试。这个版本测试的主要任务是找出游戏中的BUG,包括各种导致游戏无法正常进行、画面受到影响、出现死机等情况的原因,并且将这些错误的程序修正。如果是一个已经有很多部作品的系列游戏,那么Beta测试的工作可能会请一些这个系列的fans前来参与,他们的名字会被写在游戏结尾Staff的\”SpecialThanks\”一栏中。街机游戏在制作家用机移植版的时候,原先参与街机版开发的人员也会加入Beta测试,在这个测试结束之后,游戏的正式版差不多就完成了。如果在Beta版测试之后还有恶性BUG没有查出来,那么当游戏上市的时候,造成的严重后果将很难收拾,所以各大电玩公司对于自己产品的不具合现象都十分重视,尽量避免在成品中出现BUG,但是漏网之鱼依旧存在,这才有了许多游戏中的秘技。
在上述工作完成之后,游戏就可以做成软件,打好包装,运到各地的游戏商店等待出售了。一般来说,游戏程序最终入厂制作软件实体到分包销售,需要1~2个月的时间,所以游戏的制作和最终调整工作在发售之前2个月基本上就完成了。一些有渠道的人能够在游戏发售前数天就拿到\”偷跑\”的版本,也是这个原因。
本期文章其实也只是简单地介绍了早期游戏的制作过程,如果按照现在的水准制作的话,其程度远比本文要复杂得多,随着科技的进步,制作小组需要掌握越来越多的技能,其中还包括对游戏引擎的运用熟练度等等。最新公布的虚幻5引擎就是最好的一个例子,在次世代到来之前,众多游戏大厂需要完全发挥这一引擎的实力还尚需一段时日。
总之,每一款游戏都是制作团队的心血,我们在游玩的过程中应该去感谢每一个制作团队,正是因为有了这些兢兢业业的游戏人,我们才能够看到百花齐放的游戏世界。
当然,那些披着\”大作\”外衣的骗钱作还是算了吧。
游戏开发入门,如何开发自己的游戏?
游戏开发是一项充满挑战和创造力的工作,如果您想要入门并开发自己的游戏,以下是一些步骤和建议:
1. 学习基础知识:
编程语言: 学习一种游戏开发常用的编程语言,如C#(Unity)、C++(Unreal Engine)、JavaScript(HTML5游戏开发)等。
游戏引擎: 了解并掌握一款游戏开发引擎,如Unity、Unreal Engine、Godot等。这些引擎提供了丰富的工具和资源,可以加速游戏开发过程。
2. 确定游戏概念:
创意和设计: 确定您游戏的类型、主题、玩法和故事情节。可以通过画草图、制作思维导图等方式来构思和设计。
3. 创建原型:
原型设计: 制作一个简单的原型,用来测试游戏的核心玩法和功能。可以使用工具如Unity、Sketch、Adobe XD等来制作原型。
4. 学习游戏开发工具和资源:
教程和文档: 利用网上的游戏开发教程和文档,学习如何使用游戏引擎、编程语言和其他开发工具。
社区和论坛: 参与游戏开发社区和论坛,与其他开发者交流经验和资源。
5. 开发游戏:
编码和脚本: 开始编写游戏代码和脚本,实现游戏的各种功能和交互。
美术设计: 创建游戏的美术资源,包括角色、场景、动画等。可以使用工具如Photoshop、Blender、Maya等。
音效和音乐: 制作游戏的音效和音乐,可以使用软件如Audacity、FL Studio、GarageBand等。
6. 测试和优化:
功能测试: 对游戏进行测试,发现和修复bug,确保游戏的稳定性和可玩性。
用户测试: 找一些朋友或志愿者来测试游戏,收集反馈意见并进行改进。
性能优化: 优化游戏的性能,确保在各种设备上运行流畅。
7. 完善和发布:
完善游戏: 根据测试和反馈意见继续改进和优化游戏。
发布平台: 选择适合的游戏发布平台,如Steam、App Store、Google Play等。
准备营销策略: 制定游戏的营销策略,包括宣传、广告、社交媒体推广等。
8. 学习和持续改进:
继续学习: 游戏开发是一个不断学习和成长的过程,持续关注新技术和工具。
参与社区: 继续参与游戏开发社区和论坛,分享经验和交流技术。
更新和维护: 定期发布更新内容,保持游戏的活跃度和长期吸引力。
9. 资源推荐:
游戏引擎: Unity、Unreal Engine、Godot等
编程语言: C#、C++、JavaScript等
美术设计: Photoshop、Blender、Maya等
音效和音乐: Audacity、FL Studio、GarageBand等
教程和文档: Unity官方教程、Unreal Engine官方文档、网上各类游戏开发教程和视频
以上是一个简单的游戏开发流程和建议。开发一款游戏需要耐心、创造力和持续学习。在这个过程中,遇到问题并解决它们是常态,也是学习和成长的机会。祝您开发游戏成功!
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。