无论一款游戏是什么类型、属于什么流派或将在什么设备上运行,任何游戏的创建都围绕四个基本方面:设计、内容创建/采购、编程和测试。
游戏越大、越复杂,每个领域需要的工作就越多。这种复杂性使得开发对于一个人来说具有挑战性。许多开发人员并不试图单独涵盖所有这些方面。相反,他们通常只关注一个领域。然而,即使在这种情况下,如果游戏的目标是在规模、范围和预算方面名列前茅,个人可能只负责处理整个项目中非常具体的一小部分。
每个游戏的开发周期都是从想法的集合开始的。它可能是总体故事,也可能是独特的游戏玩法。无论最初的概念是什么,都需要大量的设计步骤才能将整个愿景变为现实。
随着这项任务的进展,许多开发人员开始将他们的想法可视化,内容创建的早期阶段与设计阶段合并。从人物草图到复杂的概念艺术,一切都被用来充实想法并为其增添实质内容。
在某些时候,游戏机制、世界规则、目标、奖励和其他元素必须经过深思熟虑并记录下来。同样,菜单画面、游戏内信息显示等方面也需要规划和设计。
一旦所有这些都获得了足够的内容,游戏的基本设计通常会被编译成有时称为GDD(游戏设计文档)的文档。许多游戏开发公司利用 GDD 向发行商或投资者推销,寻求资金来继续创作过程。有些 GDD 本质上非常简单,而另一些则几乎具有咖啡桌书籍的质量。
Gamescrye和Gamedocs等网站托管着许多著名游戏的 GDD 库。然而,值得注意的是,有些 GDD 是由粉丝而不是开发者自己创建的。阅读这些文档并将它们与游戏的最终版本进行比较可能会很有启发,因为它揭示了设计阶段可以跨越整个开发过程。
游戏本身的创作需要开始,对于许多游戏来说,内容创作和编程是并行进行的。内容创作涉及视觉和听觉元素,尽管声音通常在周期的后期实现。
无论游戏使用 2D 像素图形还是现代 3D 渲染,都需要创建屏幕上出现的每个元素。在设计阶段尽可能多地完成可以使这个过程更加顺利。不断为游戏创建新资产是有问题的,因为关键决策没有提前完成。与某些人的想法相反,在开始编程之前没有必要确定所有的世界、角色和物体。事实上,许多各种规模的著名游戏都是使用库存资产或占位符实体开发的。
大部分编程涉及解决游戏中可能发生的数千个“假设”场景。程序员必须弄清楚如何指示运行游戏的设备解释每个输入命令并在屏幕上显示相应的结果。
其中一些可以通过使用第三方软件包来大大简化,例如Unreal Engine、Unity或Godot,许多大型发行商和开发团队都依赖这些软件包,而许多其他人多年来也创建了自己的专有工具。我们稍后会详细讨论这些。
一旦编程阶段正式开始,测试通常会随之开始,最初的重点是确保基本例程可以运行。当游戏达到更有凝聚力的状态时,就会开始更严格的测试——功能不完整,并且通常缺乏完整的资产,尤其是音频。所谓的 alpha 版本是一个重要的里程碑,尽管游戏在此阶段的状况因开发商而异。