GameMaker (первоначально Animo , Game Maker (до 2011 года) и GameMaker Studio ) — серия кроссплатформенных игровых движков, созданная Марком Овермарсом в 1999 году и разрабатываемая YoYo Games с 2007 года. Последняя версия GameMaker была выпущена в 2022 году.
GameMaker позволяет создавать кроссплатформенные и многожанровые видеоигры с использованием пользовательского визуального языка программирования с функцией перетаскивания или скриптового языка, известного как Game Maker Language (GML), который можно использовать для разработки более сложных игр, которые невозможно создать, используя только функции визуального программирования. GameMaker изначально был разработан, чтобы позволить начинающим программистам создавать компьютерные игры без особых знаний в области программирования, используя эти действия. Последние версии программного обеспечения также ориентированы на продвинутых разработчиков. [1]
GameMaker в первую очередь предназначен для создания игр с 2D- графикой, позволяя использовать растровую графику , векторную графику (через SWF ) [2] и 2D- скелетную анимацию (через Spine компании Esoteric Software) [3] [4] вместе с большой стандартной библиотекой для рисования графики и 2D- примитивов . [5] Хотя программное обеспечение позволяет ограниченно использовать 3D-графику , это осуществляется в форме буфера вершин [6] и матричных функций, и как таковое не предназначено для начинающих пользователей.
Движок использует Direct3D на Windows, UWP и Xbox One; OpenGL на macOS и Linux; OpenGL ES на Android и iOS, WebGL или 2D Canvas на HTML5 и фирменные API на консолях .
Основным элементом движка является IDE со встроенными редакторами для растровой графики, дизайна уровней , сценариев, путей и шейдеров ( GLSL или HLSL ). [7] Дополнительные функции могут быть реализованы на языке сценариев программного обеспечения или в собственных расширениях, специфичных для платформы. [8] В GameMaker Studio 2 пользователи могут выбрать, экспортировать ли игру как установщик NSIS или как файл .zip , содержащий игру, файл data.win и любые файлы, добавленные на вкладке «Включенные файлы» в редакторе. [9]
GameMaker поддерживает сборку для Microsoft Windows , macOS , Ubuntu , HTML5 , Android , iOS , Amazon Fire TV , Android TV , Raspberry Pi , [10] Microsoft UWP , PlayStation 4 , Nintendo Switch [11] и Xbox One ; [12] [13] [14] поддержка PlayStation 5 и Xbox Series X|S была объявлена в феврале 2021 года [15], хотя для сборки игр для этих консолей необходима лицензия «Enterprise». [16]
В прошлом GameMaker поддерживал сборку для Windows Phone (устарело в пользу UWP), Tizen , PlayStation 3 и PlayStation Vita (не поддерживается в GMS2 «в основном по деловым причинам»). [17]
Поддержка PlayStation Portable была продемонстрирована в мае 2010 года [18] , но никогда не была доступна широкой публике (её использовал лишь небольшой выбор игр). [19]
В период с 2007 по 2011 год YoYo Games поддерживала собственный плагин веб-плеера для игр GameMaker [20], прежде чем выпустить его с открытым исходным кодом в середине 2011 года [21] и, наконец, отказаться от него в пользу экспорта в HTML5.
До августа 2021 года пользователи должны были получить лицензию на однократную покупку для одной из пяти различных платформ, за исключением консолей, в зависимости от целевой платформы, на которой они хотели опубликовать игру (например, настольный компьютер или мобильный телефон). Для публикации на консолях требовалась годовая лицензия, которая также содержалась во всеобъемлющей годовой лицензии Ultimate, которая охватывала все поддерживаемые платформы. Yoyo Games объявила об изменении подхода к лицензированию в августе 2021 года, что позволило использовать GameMaker бесплатно для обучения и исключило варианты единовременной покупки. Вместо этого она упростила схему лицензирования до двух уровней: один поддерживал публикацию на всех неконсольных платформах, а более высокий уровень добавлял поддержку публикации на консольной платформе по более низкой ставке, чем предыдущая лицензия Ultimate. Эти изменения были осуществлены благодаря финансовым инвестициям Opera в YoYo Games, чтобы помочь снизить расходы для пользователей GameMaker. [22] 22 ноября 2023 года GameMaker объявил, что он будет «бесплатным для некоммерческого использования на всех платформах (кроме консолей)», а текущая система подписки будет заменена одноразовой лицензией. [23]
GameMaker Language (GML) — язык сценариев GameMaker. Это императивный , динамически типизированный язык, обычно сравниваемый с JavaScript и языками типа C. [24] [25] [26]
Режим работы языка по умолчанию на собственных платформах — через стековую машину ; он также может быть скомпилирован из исходного кода в C++ через LLVM для более высокой производительности. [27] В HTML5 GML компилируется из исходного кода в JavaScript с оптимизацией и минификацией, применяемой в неотладочных сборках. [28]
GML Visual (первоначально называвшийся «Drag and Drop» [29] ) — это визуальный инструмент для написания скриптов GameMaker.
GML Visual позволяет разработчикам выполнять общие задачи (например, создание экземпляров объектов, вызов функций или работа с файлами и структурами данных) без необходимости писать ни единой строки кода. Он по-прежнему в основном нацелен на начинающих пользователей. [30]
Хотя исторически GML Visual оставался довольно ограниченным в плане того, какие задачи можно было с ним удобно выполнять, [31] [32] GameMaker Studio 2 претерпела существенные изменения в системе, что позволило выполнять больше задач с помощью GML Visual и напрямую преобразовывать его в код [33] (с предварительным просмотром в IDE для пользователей, заинтересованных в переходе на код).
GameMaker изначально был разработан Марком Овермарсом . Программа была впервые выпущена 15 ноября 1999 года под названием Animo (в то время это был просто графический инструмент с ограниченными возможностями визуального скриптинга). [34] Первые версии программы разрабатывались на Delphi . [35]
В последующих выпусках название было изменено на Game Maker, а программное обеспечение перешло в русло разработки более универсальных 2D-игр.
Версии 5.0 и ниже были бесплатными ; версия 5.1 ввела необязательную плату за регистрацию; версия 5.3 (январь 2004 г.) ввела ряд новых функций для зарегистрированных пользователей, включая системы частиц , сетевое взаимодействие и возможность расширять игры с помощью DLL. [36]
Версия 6.0 (октябрь 2004 г.) представила ограниченную функциональность для использования 3D-графики, а также миграцию конвейера отрисовки среды выполнения с VCL на DirectX . [37]
Растущий общественный интерес побудил Овермарса обратиться за помощью в расширении программы, что привело к партнерству с YoYo Games в 2007 году. [38] С этого момента разработкой занималась YoYo Games, в то время как Овермарс сохранил должность одного из директоров компании. [39] Версия 7.0 стала первой, появившейся в рамках этого партнерства.
Первая версия программы, совместимая с macOS, была выпущена в 2009 году [40] , что позволило создавать игры для двух операционных систем с минимальными изменениями.
В версии 8.1 (апрель 2011 г.) название изменено на GameMaker (без пробела), чтобы избежать путаницы [41] с программным обеспечением Game-Maker 1991 года . В этой версии также была переписана среда выполнения на C++ для решения проблем производительности [42] [ неудачная проверка ] [ противоречиво ] с предыдущими версиями.
В сентябре 2011 года состоялся первый релиз «GameMaker: HTML5» — новой версии программного обеспечения с возможностью экспорта игр для веб-браузеров и настольных компьютеров. [43]
GameMaker: Studio вышла в публичную бета-версию в марте 2012 года [43] и получила полноценный релиз в мае 2012 года. [44] Первоначально поддерживаемые платформы включали Windows, Mac, HTML5, Android и iOS. Дополнительные платформы и функции были введены в последующие годы; [45] [46] [47] [48] В конце 2012 года произошел несчастный случай, когда меры по борьбе с пиратством не сработали для некоторых законных пользователей. [49]
В феврале 2015 года GameMaker был приобретен Playtech вместе с YoYo Games. Объявление заверило, что GameMaker будет и дальше совершенствоваться, и заявило о планах обратиться к более широкой демографической группе, включая более продвинутых разработчиков. [1] [50]
В ноябре 2016 года состоялся первый релиз бета-версии GameMaker Studio 2 [51] , а полный релиз состоялся в марте 2017 года [52]. В этой версии полностью переработанная IDE (переписанная на C# [53] ), а также ряд новых функций редактора и среды выполнения.
В августе 2020 года было выпущено крупное обновление 2.3, которое добавило множество новых функций в IDE, среду выполнения и язык сценариев. [54]
В январе 2021 года YoYo Games была продана Opera Software примерно за 10 миллионов долларов США . Команда разработчиков GameMaker осталась прежней и не внесла никаких серьезных изменений в разработку GameMaker Studio. [55] [56] [57]
В августе 2021 года YoYo Games объявили, что меняют свои лицензии и предложат бесплатную версию движка GameMaker. [58]
В январе 2022 года YoYo Games изменила схему нумерации GameMaker Studio 2, теперь версия соответствует году и месяцу ее выпуска (например, 2022.1 для января 2022 года) [59] .
В апреле 2022 года YoYo Games отказалась от названия GameMaker Studio 2 , чтобы соответствовать новой схеме нумерации версий, изменив его на просто GameMaker . [60]
В настоящее время программа имеет рейтинг 8,5/10 на Mod DB на основе 223 отзывов пользователей; многие называют ее гибкость и простоту использования положительными сторонами, а нестабильность, сбои, повреждение проекта и устаревшие функции — отрицательными. [61] Дуглас Клементс из Indie Game Magazine написал, что программа «упрощает и оптимизирует разработку игр» и «легка для новичков, но достаточно мощна, чтобы расти по мере разработки», хотя и отметил, что «ресурсные объекты необходимо собирать, если их невозможно создать», и что лицензирование между Steam и веб-сайтом YoYo Games «запутано». [62]