书籍:俄文版《游戏系统设计入门》已由《吉他英雄6》和《破碎滤镜5》的设计师发布
俄罗斯的零售市场上出现了《游戏系统设计入门:创建平衡游戏的逐步指南》,——出版商博姆博拉报告说。这是一本面向初学者的开发书籍(书中阐述了工作的最基本原理)。我们分享一段摘录。
顺便提一下,作者是达克斯·盖扎维(Dax Gazaway)。自2013年以来,他在佛罗里达州的满帆大学教授游戏设计。在此之前,他从事游戏设计工作超过十年。在这段时间里,他曾在3DO、卢卡斯艺术、索尼互动娱乐和Vicarious Visions等公司工作。他的作品包括《星球大战:欧比旺》、 《漫威终极联盟2》、 《漏斗过滤器5》和《吉他英雄6》等标题设计。
第4章
系统设计工具
在游戏行业中,显然使用了各种各样的计算机软件工具。每个团队、每个部门、每个项目和每款游戏都有自己的需求,而满足这些需求的工具种类繁多。一些工具的使用频率高于其他工具。本章将描述一些在游戏行业中最常用的工具类别,但首先,我们将探讨“数据”这一术语的确切含义。
什么是数据?
在本节及后续部分中,常常会提到与数据相关的工具和概念。那么,数据是什么呢?在本书中,“数据”指用于描述某事的数字或文本。需注意的是,数据本身不进行任何操作,但可以用于操作。我们来看几个例子。
假设角色有一个“健康”属性,并与之相关的一些规则。战斗规则确定攻击时损失的健康值和在治疗时恢复的健康值。目前,角色的健康值为100。在这种情况下,100就是数据。这是与健康属性相关的数字,并可以根据规则进行操作。
表4.1列出了一些与各种属性和规则相关的其他数据示例。
请注意,表4.1中的一些数据是数字的,其他是二进制的,还有一些是文本的。不论其类型如何,表中所有数据都以某种方式根据游戏规则进行使用。但是,数据本身并不包含任何规则。
游戏行业工具
游戏行业工具涵盖了几种软件和应用程序类型,包括文档工具、图像编辑工具、3D建模工具、流程图生成工具、数据库、错误跟踪程序、游戏引擎和电子表格。在接下来的部分中,我们将详细讨论每种工具的类型。
文档工具
文字处理器是最古老和最常用的计算机工具之一;游戏开发者经常使用它们,主要用于创建和维护文档。通常,对于每一个特性、概念,每一关卡或游戏角色、每一个系统,都会有申请文档。在提出申请后,进行讨论、澄清并记录。这种讨论和设计草图可以在文字处理器中快速完成,而不必担心在游戏中引入错误。所有概念或大部分概念都在游戏设计文档(Game Design Document, GDD)中进行描述。这可能是一个简单的列出关键想法的文档,也可能是一个数百页的巨大文档。在一些大型团队中,甚至有专门的开发者,其唯一职责是制定和维护游戏的游戏设计文档。
流行的文档工具示例包括:Microsoft Word、Google Docs(插图4.1)和Apache OpenOffice Writer。
图像编辑工具
所有以前用铅笔画的或用颜料写的东西,现在都可以使用图像编辑工具进行创建或修改。这些工具可以从相机或扫描仪导入原始图像,或者用于创建完全新的图像。现代图像编辑工具功能强大,使艺术家能够快速创建和编辑2D图像。游戏开发者使用图像编辑工具处理许多任务,包括创建用户界面、为3D对象创建纹理、为角色模型创建皮肤、概念艺术等等。尽管图像编辑工具主要面向艺术家,但所有开发者(包括游戏设计师)都学习其基础知识是有益的。
常用的图像编辑工具示例:Adobe Photoshop(插图4.2)和GIMP。
3D建模工具
在三维视频游戏中,用户可以看到三维对象并与之互动。为了创建这些对象,艺术家和设计师使用3D建模工具。其界面允许在模拟的3D空间中创建和操纵3D对象。通常,工具有多种相机视角,使得可以同时从多个角度查看对象。这些工具也提供了编辑3D对象的控制:拉伸、切割、扭曲、调整大小、分割和连接3D形状。大多数功能在3D建模工具中有非常特定的名称,因此游戏设计师了解这些工具的行话是有益的。
在大多数工具中创建3D对象后,可以在这些对象上应用纹理。在游戏中,纹理的意义并不完全与现实世界相同。在现实世界中,可以直接感受到纹理。在游戏世界中,纹理是通过图像来模拟的。在3D建模工具中,可以导入图像,这些图像是使用图像编辑工具创建的,并将其应用于三维对象的表面,创建出纹理表面的假象。
许多3D建模工具还可以对3D对象进行动画。游戏开发者使用动画创建预渲染的电影场景(过场动画)或将动画导出为实时游戏引擎的指令。
3D建模工具的最后任务是将对象导出为游戏引擎可以识别的文件格式。
流行的3D建模工具示例:3D Studio Max(插图4.3)、Maya和Blender。
流程图生成工具
流程图(工作图)如插图4.4所示,用于组织思想并展示系统中的操作步骤。与书面文本或线性列表不同,流程图可以直观地展示分支、循环、决策点和终止条件。关卡设计师经常使用流程图在花费时间创建地图或3D关卡之前,草拟关卡概念。游戏设计师和工程师通常使用流程图展示系统的运行过程,并快速草拟概念,然后再投入时间在游戏引擎中进行创建。
流行的流程图生成工具示例:Google Drawings、Visio和OmniGraffle。
数据库
数据库用于存储大量的数据,这些数据可以提取并在后续使用。简单的游戏可能不需要数据库,但对于非常大的项目,存储的数据量可能是巨大的,难以在引擎或脚本中管理。游戏设计师需要能够使用数据库,因为他们通常负责管理游戏数据。数据库通常用于存储关于武器、盔甲、车辆、玩家使用的物品、AI角色和其他敌人的类型的数据。对象数据库充当游戏对象的中央存储库,并确保游戏中的一致性。想象一下,要从开发的MMO中查找单个物品和角色,将多么困难。数据库的一个很好的类比是抽屉柜。可以打开抽屉柜,找到所需的对象,然后引用它以在游戏中使用,或在“卡片”中进行更改,从而影响整个游戏。
管理系统提供了实际访问数据库中所有数据的工具。要理解数据库和数据库管理系统之间的区别,可以想象您的音乐收藏是如何存储的。您的硬盘上可能有数百或数千首来自不同乐队和流派的歌曲。在这种情况下,您的硬盘就像一个数据库,存储了所有的音乐信息,包括歌曲本身。要找到某些信息,您可以通过Windows文件夹浏览,但这将非常缓慢且低效,您很可能会错过一些重要的信息。相反,您可以使用应用程序播放音乐,这基本上是一个专门的数据库管理系统。在这样的应用程序中,可以按流派筛选音乐,可以找到特定乐队的每一首歌曲,找到某一专辑的内容,或以其他方式访问数据。在游戏开发的世界中,数据库管理系统的工作类似于您的音乐播放应用程序。在制作大型角色扮演游戏时,通常需要找到所有的剑、盾牌或仅22级的物品,这些物品被骑士使用。数据库存储所有类型的武器、盔甲和角色职业的数据,而数据库管理系统则仅允许访问所需的信息。
但是,电子表格不能完成与数据库管理系统相同的任务吗?是的,它们可以,在许多小型游戏中确实是这样。但电子表格在每次使用时都会加载所有存储的信息。如果涉及到很大的数据量,则电子表格的处理速度将会变慢。此外,如果只加载需要编辑的项目,错误的可能性会减少。
流行的数据库示例为Microsoft Access,数据管理系统示例为MySQL和Microsoft SQL Server。
错误跟踪软件
错误跟踪软件是一种特殊类型的数据库管理系统。该数据库存储有关游戏中错误的信息。该管理系统专门设置用于处理在错误跟踪中需要解决的信息和任务。与通用数据库管理系统不同,错误跟踪软件不需要手动设置。可以使用它来记录新错误的信息、查找类似或重复的错误、将错误分配给其他负责人、跟踪修复进度以及过滤已经修复的错误。
流行的错误跟踪工具包括Jira、Bugzilla、Plutora和Backlog。
游戏引擎
游戏引擎是构成游戏的基础。在创建任何游戏时,常常会遇到许多相同的问题,不论具体项目是什么。例如,都需要在屏幕上渲染图形、确定对象之间的碰撞和从内存中提取艺术资产(对象)。对于这些任务,每次都从零开始编程没有意义。因此,开发团队、工作室和专门公司将所有创建大部分游戏所需的通用功能集合在一个程序包中,形成一个称为“游戏引擎”的程序。
除了管理游戏的基本功能外,游戏引擎还为开发提供了界面。例如,许多引擎具有三维视图,开发者可以在三维空间中移动,看到游戏中关卡对象的位置,进行调整或添加。游戏引擎通常还具有内置的文件管理系统,以便艺术家、游戏设计师和程序员能够共同工作,在游戏中使对象栩栩如生。
目前,一些公司发布“中间”引擎,不专门针对某个特定游戏或团队,而是为所有需要简单游戏开发解决方案的人而设计。中间软件的优势在于,它是为大量开发团队设计的,因此具有灵活性。然而,它的缺点在于常常缺少使每个游戏独特的关键组件。
流行的游戏引擎示例包括Unity 3D、Unreal Engine、CryEngine和Cocos。
下一步
完成本章后,建议花一些时间在真实示例上练习,尝试使用这里讨论的概念。为了更清楚地了解游戏设计中使用的工具,尝试进行以下练习。
- 在互联网搜索栏中输入“初学者游戏引擎”。这样您就能找到关于许多现代游戏引擎的文章和关于大多数流行游戏的介绍视频。花些时间观看视频并比较不同游戏引擎的功能,以更好地理解游戏行业的发展方向。
- 练习使用文档工具,这些工具的功能 far 超过您的想象。游戏设计师应该熟练使用这些工具,不仅用于输入文字,还用于正确格式化和组织文档。两个最流行的文档处理工具是Microsoft Word和Google Docs。
- 为游戏(无论是您想要创建的游戏,还是一个已有的简单游戏)制作一个流程图。使用流程图从游戏开始到玩家的各种选择进行展示。要了解流程图及其应包含的内容,可以在互联网上搜索“如何为游戏设计师制作流程图”;花些时间查看和阅读有关游戏开发过程的流程图指南。