GameMaker

GameMaker
Логотип программы GameMaker
Тип Игровой движок/Интегрированная среда разработки/Конструктор
Автор Овермарс, Маркус Хендрик[2]
Разработчики
  • YoYo Games (1990—2021)
  • Opera Gaming (с 2021)
Написана на
Операционные системы Windows и macOS
Языки интерфейса английский
Первый выпуск 15 ноября 1999 года
Аппаратные платформы Windows и macOS
Последняя версия
Лицензия проприетарная
Сайт gamemaker.io/ru
Логотип Викисклада Медиафайлы на Викискладе

GameMaker (изначально Animo, Game Maker (до 2011) и GameMaker: Studio) — один из самых популярных игровых движков, позволяющий разрабатывать приложения под множество платформ. GameMaker является серьёзным развитием его предшественника — Game Maker и главным отличием является добавление кроссплатформенности, благодаря которой, а также другим существенным доработкам, GameMaker стал мощным инструментом для профессиональной разработки. Создатель и главный разработчик первых шести версий оригинального конструктора Game Maker — Марк Овермарс, последующие версии, включая GameMaker, разрабатываются компанией YoYo Games.

Бесплатная версия (Free) позволяет создавать игры только под игровую платформу Opera GX.games. По сравнению с ней, Creator версия имеет множество преимуществ, включая управление ресурсами, компиляцию для настольных компьютеров. Также, в Creator версии можно покупать отдельные модули, расширяющие функциональность программы.

Особенности

[править | править код]

GameMaker позволяет писать расширения под множество платформ на соответствующих им языках. Поддерживаются следующие типы файлов расширений: gml везде, dll-библиотеки на Windows, Windows Phone, Xbox One, js-скрипты для HTML5, so-библиотеки на Linux и Tizen, dylib-библиотеки на macOS, prx на PS4, suprs на PSVita, а также специальные placeholder для iOS и Android. Есть возможность создать прокси-расширения для проектов на многих платформах, что позволяет использовать одинаковые названия функций в коде, но обращаться к библиотекам соответствующей платформы.

Имеются функции для работы с кодировками Base64, JSON, MD5, SHA-1, возможности распаковки ZIP-архивов, чтения и записи .ini, текстовых и двоичных файлов, управления каталогами. Есть возможность взаимодействовать с сетью: коллективная игра по UDP, TCP, Bluetooth, отправка http-запросов, загрузка любых файлов, взаимодействие со Steam API и Facebook.

С версии 1.1.1086 добавлена поддержка шейдеров — эффективного инструмента управления отрисовкой, добавления графических эффектов и преобразований. GameMaker поддерживает вершинные и фрагменты шейдеры на языках GLSL ES, HLSL9, HLSL11 и GLSL.

Из устройств, помимо мыши и клавиатуры, присутствуют функции для взаимодействия с джойстиками и геймпадами, для обработки касаний и наклона на смартфонах.

GameMaker содержит множество математических функций для работы со скалярными и векторными величинами, включая тригонометрические вычисления, нахождение степеней, логарифмов, интерполяций, нормалей векторов, скалярных произведений. Имеется встроенный физический движок Box2D, набор функций для работы с ним, демонстрационные проекты Angry Cats и Angry Cats Space.

В отличие от Game Maker, GameMaker использует компилятор, а не интерпретатор кода, что убрало возможность выполнения чистого кода "на лету", но существенно увеличило производительность игр. Также есть дополнительный модуль YoYoCompiler, транслирующий GML-код в C++ и оптимизирующий его. Проекты, собранные с использованием этого компонента, показывают хорошую производительность с сотнями игровых элементов на уровне. Однако этот модуль доступен не для всех платформ.

Присутствует поддержка многих сервисов монетизации (таких как AdMob, Google Analytics, Google Play Licensing) из кода. Также имеется поддержка систем управления версиями — есть примеры интеграции с SVN, GIT, Mercurial.

В последних версиях появилось множество опций отладки программ в новом окне The Debug Module, позволяющих ставить точки остановки, следить за выполнением кода, значениями любых переменных, конкретных объектов, содержимым буферов, количеством и временем выполнения разных скриптов.[3]

Достоинства и недостатки

[править | править код]
+ кроссплатформенность, поддерживаемые платформы: Windows, macOS, Linux, Opera GX, Android, iOS, Windows Phone, Tizen, Xbox, PlayStation;
+ поддержка библиотек и расширений, в том числе на разных языках;
+ гибкая ценовая категория, Free версия GameMaker абсолютно бесплатна;
+ интеграция с несколькими системами управления версиями;
+ интеграция со Steam, Google Play, App Store;
– собственный язык программирования Game Maker Language (GML), который часто критикуется профессионалами;
− несмотря на возможность работы с 3D, в Game Maker она крайне неудобна.

История GameMaker

[править | править код]

22 мая вышел GameMaker: Studio, позволяющий разрабатывать приложения для Windows, Mac OS X и HTML 5. В августе YoYo Games объявили о введении сервисов монетизации с поддержкой AdColony, AdMob, Google Analytics, Google Play Licensing, iAds, MoPub, SupersonicAds. 2 октября программа стала доступна в продаже на платформе Steam. В ноябре был добавлен новый модуль для экспорта: Windows Phone 8.

В марте вышел модуль экспорта в Ubuntu Software Center для GameMaker: Studio. 17 мая разработчики объявили о том, что нативный модуль Windows 8 выходит из стадии тестирования и будет доступен во всех версиях GameMaker: Studio. До этого приложения под Windows 8 создавались трансляцией в JavaScript. 25 июля появилась версия 1.1.1076, включающая в себя модуль компиляции под Android. 13 августа вышла версия 1.1.1086, добавляющая модуль компиляции iOS и поддержку шейдеров, Tizen v2.2. SDK. 17 числа состоялся выпуск версии 1.2.1113 с новым модулем YoYoCompiler[4].

6 июня GameMaker: Studio Standard стал совершенно бесплатен. При этом для новых пользователей Standard версии был изъят экспорт на Mac OS и при запуске игр будет появляться водяной знак YoYo Games. Для оплаченной Standard версии такие ограничения не действуют.

YoYo Games была приобретена компанией Playtech. Причиной этому, по комментариям представителей самой YoYo Games, послужило то, что GameMaker: Studio не принес достаточно прибыли, дабы у компании были средства на его дальнейшее развитие. Однако не стоит думать, что YoYo Games просто пытается обзавестись легкими деньгами: опять же, по словам представителей компании, их первостепенной целью всегда было предоставить как начинающим, так и продвинутым разработчикам удобный и простой конструктор для разработки игр. Подкрепляют свои слова YoYo Games тем, что решение о выпуске бесплатной версии GameMaker: Studio Standard было принято далеко не только в маркетинговых целях. 

На данный момент YoYo Games получила достаточное количество денег от инвестора (Playtech) и планирует выпустить GameMaker Studio 2 в рекордно короткий срок. Предположительно, выпуск новой версии популярного конструктора состоится ближе к концу года.

Началось Бета-Тестирование GameMaker Studio 2. Вся IDE переписана полностью «с нуля», на C#. В новой версии изменился процесс разработки игр. Добавлено множество новых возможностей - как в IDE, так и в GML: слои, полное управление графическим конвейером, камеры, тернарный оператор, работа с матрицами, тайловые карты (включая автотайлинг), новые редакторы комнат, анимаций, и др. Функции работы с 3D были полностью изъяты, на смену им пришли более удобные и более оптимизированные функции.

До конца года запланирован выпуск последней версии GMS линейки 1.x, с расширенной поддержкой Spine, которая будет последней версией, добавляющей новые возможности. После этого для 1.x будут выпускаться только исправления критических ошибок и исправления, поддерживающие работоспособность всех целевых платформ, а все основные усилия будут направлены на разработку GameMaker Studio 2.

В первом квартале запланирован официальный запуск GMS2, включая модули для компиляции под все поддерживаемые платформы. Начиная с этого момента будет прекращена продажа GameMaker: Studio 1.x и модулей. И если лицензия Professional для GMS 1.x будет выдаваться вместе с оплатой любой лицензии GameMaker Studio 2, то любые модули других платформ станут полностью недоступны для приобретения.

Во втором квартале запланирован выпуск публичной бета версии IDE под macOS.

В апреле 2019 был анонсирован выход GM:S 2.3 с большими улучшениями по части языка GML. Релиз планировался в конце 2019 года, но сильно задержался.

В августе 2020 вышла релизная версия GM:S 2.3 со множеством нововведений в IDE и GML:

  • Переработан интерфейс каталога ресурсов, добавлены избранные ресурсы, тэги, цвета и т.д.
  • Появились новые ресурсы полезные для создания анимаций: Animation Curves и Sequences.
  • В язык GML добавлены структуры (они же "легковесные объекты") – в отличие от классических объектов, у них нет отрисовки и событий, что удобно для хранения различных данных.
  • В язык GML добавлены полноценные функции, теперь к аргументам можно обращаться по именам (до этого лишь через argument0..15), а в одном файле-скрипте можно описать множество функций. Более того, функции можно объявлять как методы объектов и даже в качестве конструкторов.
  • Появилась обработка ошибок, добавлен блок try-catch-finally.
  • А также некоторые другие нововведения.

После сохранения старого проекта в новой версии GM:S 2.3, он будет сохранён с новым названием и в новом формате, который не открывается в старых версиях.

В январе 2021 стало известно, что Opera выкупила компанию-создателя GameMaker – YoYo Games[5]. За этим последовали следующие изменения:

  • GameMaker: Studio вновь вернулся к старому названию GameMaker.
  • Нумерация версий ПО поменялось с семантического версионирования на дату и номер билда.
  • Старый сайт компании закрылся, домен перебрасывает на новый сайт GameMaker.
  • Больше нельзя разово купить ПО, доступна лишь подписка.
  • В качестве целевой платформы появился игровой браузер Opera GX.

Альтернативные IDE

[править | править код]

Внешний вид GameMaker часто критикуют за непрофессиональность.[6] Наиболее известной сторонней IDE является Parakeet, в которой упор сделан на удобство написания кода. Для компиляции эта среда использует GameMaker. На данный момент проект находится в стадии закрытого бета-тестирования. Официальный сайт: parakeet-ide.org Архивная копия от 24 ноября 2019 на Wayback Machine.

Для GameMaker была сделана полностью новая IDE, в разработке которой участвовал автор упомянутой Parakeet, которого взяли в YoYo Games.

Примечания

[править | править код]
  1. https://releases.gamemaker.io
  2. Ten Years of Game Maker 1999-2009
  3. GameMaker: Studio Documentation. Дата обращения: 9 мая 2022. Архивировано 4 февраля 2022 года.
  4. game-maker.ru. Дата обращения: 16 сентября 2015. Архивировано 23 февраля 2020 года.
  5. YoYo Games, the company behind GameMaker, is now part of Opera (амер. англ.). Opera News (20 января 2021). Дата обращения: 3 июня 2022. Архивировано 20 января 2021 года.
  6. GameMaker Community. Дата обращения: 16 сентября 2015. Архивировано из оригинала 18 сентября 2015 года.
  • gamemaker.io — Официальный сайт.
  • gmtoolbox.com — Сайт расширений / библиотек-DLL / примеров для Game Maker 7-й и 8-й версий (частично подойдут и для Game Maker Studio)
  • www.gmlscripts.com — Коллекция различных скриптов
  • xtreme3d.ru — Актуальный движок для разработки 3D игр на GameMaker