GameMaker

GameMaker（最初为Animo，2011年之前为Game Maker）是一个系列跨平台游戏引擎，由Mark Overmars于1999年创建，2007年后由YoYo Games开发。最新的版本是2017年发布的GameMaker Studio 2。

GameMaker支持使用自定义拖放式视觉化编程语言或称为Game Maker Language的脚本语言创建跨平台和多类型的电子游戏。该语言可用于开发拖放功能无法创建的更加高级的游戏。GameMaker最初的设计目的是让新手程序员能够在没有太多编程知识的情况下制作游戏。最新版本的软件也开始注重吸引高级开发人员。

## 概述

GameMaker主要用于制作拥有2D图形的游戏，允许开箱即用的位图、矢量图形（SWF）和2D骨骼动画（Esoteric Software的Spine）以及用于绘制图形的大型标准库。

尽管软件允许用户有限地使用3D图形，但其形式为顶点缓冲区和矩阵函数，因此并不适合新手用户。

该引擎在Windows、UWP和Xbox One上使用Direct3D；在macOS和Linux上使用OpenGL；在Android和iOS上使用OpenGL ES；在HTML5上使用WebGL或2D Canvas，在游戏主机上使用专有API。

该引擎的主要元素之一是带有光栅图形、关卡设计、脚本、路径和着色器（GLSL或HLSL）编辑器的IDE。其他功能可以通过软件的脚本语言或特定平台的本地拓展来实现。在GameMaker Studio 2中，你可以选择将游戏导出为NSIS安装包，或导出为包含游戏data.win文件和编辑器“包含的文件”选项卡中的所有文件的.zip文件。

### 支持的平台

GameMaker支持为Microsoft Windows、MacOS、Ubuntu、HTML5、Android、IOS、Amazon Fire TV、Android TV、Raspberry Pi、Windows UWP、PlayStation 4、Nintendo Switch和Xbox One构建软件；PlayStation 5和Xbox Series X/S也在2021年2月宣布支持。

在过去，GameMaker也支持为Windows Phone（被UWP替代）、Tizen、PlayStation Vita（GMS2中称“主要因为业务问题”）。

PlayStation Portable的支持在2010年5月演示，但从未对外公开（仅有少数游戏使用）。

2007年至2001年间，YoYo Games曾为GameMaker游戏维护了一个定制的web播放器插件，在2011年年中以开源的形式发布，并最终放弃了HTML5导出。

在2021年8月之前，用户必须获得五个不同平台中的任意一个许可（不包括主机平台），这取决于用户想要发布的目标平台（例如桌面端或移动端）。发布主机版需要年度许可证，该许可证也包含在涵盖所有受支持平台的全面年度最终许可证中。YoYo Games在2021年8月更改了许可方式，允许用户免费用于学习用途，同时取消了单一购买选项。同时，许可方案被简化为两种，一种支持在所有非主机平台上发布，另一种添加了主机平台发布支持。这些改变得益于Opera对YoYo Games的财务投资，已帮助降低游戏作者的制作成本。

### 拖拽放置

拖拽放置（Drag and Drop，DnD）是GameMaker的可视化脚本工具。

DnD允许执行常见的开发人员命令（例如实例化对象、调用函数、处理文件和数据结构）而无需编写代码，拖拽放置主要针对新手用户。

虽然从历史上看，DnD能在轻松完成的事情上的使用相当有限，但GameMaker Studio 2对该系统进行了彻底的改进，能够使用DnD完成更多的任务，并将其直接转换为代码（为有兴趣迁移到代码的用户提供IDE内预览）。

## GameMaker语言

GameMaker语言是GameMaker的脚本语言。这是一种指令式、动态类型的，类似JavaScript和C语言的语言。

该语言在本机平台上的默认操作模式通过堆栈机实现；它也可以通过LLVM编译为C++源码以提高性能。在HTML5上，GML是源到源编译成JavaScript的，在非调试版本中实现了优化和压缩。

## 历史

GameMaker最初由Mark Overmars开发。该软件于1999年11月15日以Animo的名义首次发布（当时，它只是一个具有有限视觉脚本功能的图形工具）。该软件的第一个版本是在Delphi上开发的。

在随后的版本中，该软件更名为Game Maker，同时也朝着更通用的2D游戏开发方向发展。

5.0版及以下版本为免费软件；5.1版本引入了可选注册费用；5.3版为注册用户引入了许多新功能，包括粒子系统、网络以及使用DLL扩展游戏内容的可能性。

6.4版（2004年10月）引入了有限的3D图形使用功能，并同时将运行时的绘图通道从可视组件库迁移至DirectX。

公众越来越大的专注度促使Overmars寻求帮助来扩大项目，并于2007年与YoYo Games建立了合作关系。从那时起，开发工作由YoYo Games负责，而Overmars则继续担任公司董事之一。7.0版是在此合作关系下发布的第一个版本。

第一个兼容macOS的版本于2009年发行，只需要稍作改动即可在两个操作系统上制作游戏。

8.1版（2011年4月）将软件名称改为GameMaker（无空格）以避免与1991年的软件Game-Maker混淆。该版本还用C++重写了运行时，以解决之前版本的性能问题。

2011年9月“GameMaker: HTML5”首次发布——这是一个全新的软件，能够将桌面游戏和浏览器游戏一并导出。

GameMaker: Studio于2012年3月进入公测阶段，并与2012年5月全面发布。最初支持的平台包括Windows、Mac、HTML5、Android和iOS。在接下来的几年里引入了其他平台和功能；2012年末，一些正版用户遇到了反盗版措施失灵的事故。

2015年2月，Playtech和收购了GameMaker，该公告再次声明，GameMaker将会进一步改进，这些计划吸引了更多的用户，其中包括更多的高级开发者。

2016年11月，GameMaker Studio 2的Beta版首次发布，完整版于2017年3月发布。这个版本展示了一个完全重新设计的IDE（使用C#编写），以及一些新的编辑工具和运行时功能。

2020年8月，主要更新2.3版本发布，为IDE、运行时和脚本语言带来了大量的新功能。

2021年1月，YoYo Games以1000万美元的价格出售给Opera软件。GameMaker的开发团队保持不变，没有对GameMaker Studio进行过任何重大的开发更改。

2021年8月，YoYo Games声称他们正在改变许可证策略，并会提供一个免费版本的GameMaker引擎。

## 反响

根据223条用户评论，该项目目前在Mod DB上的评分为8.5/10；许多人认为它的灵活性和易用性是积极因素，而程序不稳定、易崩溃、项目年久失修及功能过时等问题则受到诟病。《独立游戏杂志》（Indie Game Magazine）的Douglas Clements评价该软件"简化了游戏的开发流程"，认为其"对初学者十分友好，但在开发过程中又足够强大"，但同时也指出若无法自主创建所需资源，则需从外部获取现成素材，并批评"Steam平台与YoYo Games网站之间的授权机制'错综复杂'"。

## 外部链接

- YoYo Games — 官方网站
- Game Maker Community — 官方论坛
- YoYo Games Wiki — 官方维基
- GMking Network — GMking Network
- Game Maker Technology Magazine — Game Maker Technology Magazine

## 基本资料

- 作者：Mark Overmars
- 开发者：YoYo Games
- 编程语言：C++ (运行时)、C# (IDE)
- 操作系统：Microsoft Windows、macOS
- 平台：Microsoft Windows、macOS、Ubuntu、HTML5、Android、iOS、Amazon Fire TV、Android TV、通用Windows平台、PlayStation 4、Xbox One
- 语言：英语、法语、西班牙语、德语、中文
- 许可协议：专有软件