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 和 YoYo Games 收購了 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 寫到，該軟體「簡化了遊戲的開發流程」，並且「對於初學者來書十分友好，但在開發過程中又足夠強大」，但同時他又指出「resource objects have to be gathered if unable to create」，並且「Steam 和 YoYo Games 網站之間的授權『錯綜複雜』」。

## 參考

## 外部連結

* YoYo Games（頁面存檔備份，存於網際網路檔案館） — 官方網站
* Game Maker Community （頁面存檔備份，存於網際網路檔案館） — 官方論壇
* YoYo Games Wiki — 官方維基
* GMking Network — GMking Network
* Game Maker Technology Magazine （頁面存檔備份，存於網際網路檔案館） — Game Maker Technology Magazine