Interested Article - GameMaker
- 2021-07-06
- 1
GameMaker (изначально Animo , Game Maker (до 2011) и GameMaker: Studio ) — один из самых популярных игровых движков, позволяющий разрабатывать приложения под множество платформ. GameMaker является серьёзным развитием его предшественника — Game Maker и главным отличием является добавление кроссплатформенности , благодаря которой, а также другим существенным доработкам, GameMaker стал мощным инструментом для профессиональной разработки. Создатель и главный разработчик первых шести версий оригинального конструктора Game Maker — Марк Овермарс, последующие версии, включая GameMaker, разрабатываются компанией YoYo Games.
Бесплатная версия (Free) позволяет создавать игры только под игровую платформу Opera . По сравнению с ней, 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, позволяющих ставить точки остановки, следить за выполнением кода, значениями любых переменных, конкретных объектов, содержимым буферов, количеством и временем выполнения разных скриптов.
Достоинства и недостатки
- + кроссплатформенность, поддерживаемые платформы: 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
2012
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 .
2013
В марте вышел модуль экспорта в 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 .
2014
6 июня GameMaker: Studio Standard стал совершенно бесплатен. При этом для новых пользователей Standard версии был изъят экспорт на Mac OS и при запуске игр будет появляться водяной знак YoYo Games. Для оплаченной Standard версии такие ограничения не действуют.
2015
YoYo Games была приобретена компанией Playtech . Причиной этому, по комментариям представителей самой YoYo Games, послужило то, что GameMaker: Studio не принес достаточно прибыли, дабы у компании были средства на его дальнейшее развитие. Однако не стоит думать, что YoYo Games просто пытается обзавестись легкими деньгами: опять же, по словам представителей компании, их первостепенной целью всегда было предоставить как начинающим, так и продвинутым разработчикам удобный и простой конструктор для разработки игр. Подкрепляют свои слова YoYo Games тем, что решение о выпуске бесплатной версии GameMaker: Studio Standard было принято далеко не только в маркетинговых целях.
На данный момент YoYo Games получила достаточное количество денег от инвестора (Playtech) и планирует выпустить GameMaker Studio 2 в рекордно короткий срок. Предположительно, выпуск новой версии популярного конструктора состоится ближе к концу года.
2016
Началось Бета-Тестирование GameMaker Studio 2 . Вся IDE переписана полностью «с нуля», на C# . В новой версии изменился процесс разработки игр. Добавлено множество новых возможностей - как в IDE, : слои, полное управление графическим конвейером, камеры, тернарный оператор, работа с матрицами, тайловые карты (включая автотайлинг), новые редакторы комнат, анимаций, и др. Функции работы с 3D были полностью , на смену им пришли более удобные и более оптимизированные функции.
До конца года запланирован выпуск последней версии GMS линейки 1.x, с расширенной поддержкой Spine, которая будет последней версией, добавляющей новые возможности. После этого для 1.x будут выпускаться только исправления критических ошибок и исправления, поддерживающие работоспособность всех целевых платформ, а все основные усилия будут направлены на разработку GameMaker Studio 2.
2017
В первом квартале запланирован официальный запуск GMS2, включая модули для компиляции под все поддерживаемые платформы. Начиная с этого момента будет и модулей. И если лицензия Professional для GMS 1.x будет выдаваться вместе с оплатой любой лицензии GameMaker Studio 2, то любые модули других платформ станут полностью недоступны для приобретения.
Во втором квартале запланирован выпуск публичной бета версии IDE под macOS .
2019
В апреле 2019 выход GM:S 2.3 с большими улучшениями по части языка GML. Релиз планировался в конце 2019 года, но сильно задержался.
2020
В августе 2020 со множеством нововведений в и :
- Переработан интерфейс каталога ресурсов, добавлены избранные ресурсы, тэги, цвета и т.д.
- Появились новые ресурсы полезные для создания анимаций: Animation Curves и Sequences.
- В язык GML добавлены структуры (они же "легковесные объекты") – в отличие от классических объектов, у них нет отрисовки и событий, что удобно для хранения различных данных.
- В язык GML добавлены полноценные функции, теперь к аргументам можно обращаться по именам (до этого лишь через argument0..15), а в одном файле-скрипте можно описать множество функций. Более того, функции можно объявлять как методы объектов и даже в качестве конструкторов.
- Появилась обработка ошибок, добавлен блок try-catch-finally.
- А также некоторые другие нововведения.
После сохранения старого проекта в новой версии GM:S 2.3, он будет сохранён с новым названием и в новом формате, который не открывается в старых версиях.
2021
В январе 2021 стало известно, что Opera выкупила компанию-создателя GameMaker – YoYo Games . За этим последовали следующие изменения:
- GameMaker: Studio вновь вернулся к старому названию GameMaker.
- Нумерация версий ПО поменялось с семантического версионирования на дату и номер билда.
- Старый сайт компании закрылся, домен перебрасывает на новый сайт GameMaker.
- Больше нельзя разово купить ПО, доступна лишь подписка.
- В качестве целевой платформы появился игровой браузер Opera GX .
Альтернативные IDE
Внешний вид GameMaker часто критикуют за непрофессиональность. Наиболее известной сторонней IDE является Parakeet, в которой упор сделан на удобство написания кода. Для компиляции эта среда использует GameMaker. На данный момент проект находится в стадии закрытого бета-тестирования. Официальный сайт: от 24 ноября 2019 на Wayback Machine .
Для GameMaker была сделана полностью новая IDE, в разработке которой участвовал автор упомянутой Parakeet, которого взяли в YoYo Games.
Примечания
- . Дата обращения: 15 августа 2022. 18 мая 2022 года.
- . Дата обращения: 9 мая 2022. 4 февраля 2022 года.
- . Дата обращения: 16 сентября 2015. 23 февраля 2020 года.
- (амер. англ.) . Opera News (20 января 2021). Дата обращения: 3 июня 2022. 20 января 2021 года.
- . Дата обращения: 16 сентября 2015. Архивировано из 18 сентября 2015 года.
См. также
Ссылки
- — Официальный сайт.
- — Сайт расширений / библиотек-DLL / примеров для Game Maker 7-й и 8-й версий (частично подойдут и для Game Maker Studio)
- — Коллекция различных скриптов
- — Актуальный движок для разработки 3D игр на GameMaker
- 2021-07-06
- 1