游戏性系统

游戏的本质,并非在于其使用的技术,乃是其游戏性(gameplay)。所谓游戏性,可以定义为玩游戏的整体体验。游戏机制(game mechanics)一词,把游戏性这个概念变得更为具体。

  • 游戏机制定义为一些规则,这些规则主宰了游戏中多个实体之间的互动。
  • 游戏机制定义玩家们的目标,成败的准则,玩家的各种能力,游戏虚拟世界中非玩家实体的数量和类型。
  • 游戏机制定义游戏的整体流程(overall flow)

游戏世界

大多数游戏都有几个基本的结构模式。

世界元素

多数游戏都会在二维或三维的虚拟游戏世界(game world)中进行。这些世界通常由多个离散的元素构成,一般可以分为静态元素和动态元素两类。游戏状态(game state)是指所有动态游戏世界元素的当前整体状态。

静态几何体

静态世界元素通常在 Maya 之类的工具中制作。这些元素可能是一个巨大的三角形网络,或者分拆为多个细块。场景中的静态部分有时候会采用实例化几何体(instanced geometry)制作。

世界组块

当游戏在非常巨大的虚拟世界中进行,这些世界通常会被拆分为独立可玩的区域,我们称之为世界组块(world chunk)。有时候组块也称为关卡(level)地图(map)舞台(stage)地区(area)

高级游戏流程

游戏的高级流程(high-level flow)是指由玩家目标(objective)所组成的序列,树或图。目标有时候也称为任务(task)舞台(stage)或关卡(level)

游戏目标通常设置为序列,树和图,每个目标映射至一个或多个游戏组块

游戏目标通常设置为序列,树和图,每个目标映射至一个或多个游戏组块

游戏对象

游戏的动态元素通常会以面向对象的方式设计。此方式不但直观自然,而且能很好地对应至游戏设计师构建世界的概念。游戏世界中的动态元素,称为游戏对象(game object),或实体(entity)演员(actor)代理人(agent)等。

数据驱动游戏引擎

当游戏的行为可以全部或部分由美术设计师及游戏设计师所提供的数据所控制,而不是由程序员所编写的软件完全控制,该引擎就称为是数据驱动(data-driven)的。

每个游戏引擎都应该有些数据驱动的部件,但是游戏团队必须非常谨慎地选择把哪些引擎部分设为数据驱动的。需要衡量制作数据驱动或迅速迭代功能的成本,对比该功能预期可以节省团队在整个项目过程的时间。

游戏世界编辑器

对游戏性来说,产生游戏性的工具便是游戏世界编辑器(game world editor),这些编辑器用于定义世界组块,并填入静态及动态元素。

游戏世界编辑器的典型功能

  • 世界组块创建及管理:游戏世界编辑器通常可以创建多个新的组块,以及把现有的组块更名,分割,合并及删除。每个组块可以链接至一个或多个静态网格,以及其他静态数据元素。有些世界编辑器提供专门的工具制作地形,水体,以及其他专门的静态元素。
  • 可视化游戏世界:世界编辑器把游戏世界的内容可视化。
  • 导航:用户可以在世界编辑器的世界中到处移动。
  • 选取:可以在世界编辑器中选取静态及动态元素进行编辑。
  • 图层:在一些编辑器中,可以把对象用预设或用户自定义的图层来分组。
  • 属性网格:填充游戏世界组块的静态和动态元素,通常会有多个能让用户编辑的属性。
  • 安放对象及对齐辅助工具:多数编辑器除了提供基本的平移,旋转,缩放工具外,还会提供一篮子的对象安放及对齐辅助工具。
  • 特殊对象编辑:比如光源,粒子发射器,区域,样条等。
  • 读写世界组块
  • 快速迭代

集成的资产管理工具

有些引擎中,游戏世界编辑器会整合游戏资产数据库的其他方面功能,例如设定网格 / 材质的属性,设定动画 / 混合树 / 动画状态机,设置对象的碰撞 / 物理属性,管理材质资源等。