Открыть сервис

GameMaker

GameMaker (ранее — GameMaker: Studio, GameMaker Studio 2) — это кроссплатформенная среда разработки компьютерных игр, ориентированная на создание двухмерной (2D) графики. Разрабатывается и поддерживается компанией YoYo Games (подразделение Playtech). Среда позволяет создавать игры как с использованием визуального программирования (система событий и действий, Drag and Drop), так и с помощью встроенного скриптового языка GameMaker Language (GML). GameMaker известен своей доступностью для начинающих разработчиков и одновременно достаточной гибкостью для создания коммерчески успешных проектов.

История

Ранние версии

Первая версия программы, изначально называвшаяся Game Maker (без приставки «GameMaker»), была создана нидерландским программистом Марком Овермарсом (Mark Overmars) в 1999 году. Изначально это был инструмент для обучения школьников основам программирования, позволяющий создавать простые 2D-игры без написания кода. В 2000 году вышла версия 3.0, которая уже поддерживала спрайты, звуки и комнаты (уровни). Программа быстро приобрела популярность в сообществе любителей, особенно среди пользователей Windows.

В 2007 году права на Game Maker были проданы компании YoYo Games, основанной предпринимателем Сэнди Дунканом (Sandy Duncan). YoYo Games сосредоточилась на развитии продукта как коммерческого инструмента. В 2012 году вышла версия GameMaker: Studio, которая стала первой версией, поддерживающей экспорт на мобильные платформы (iOS, Android) и HTML5. Это был значительный шаг вперёд, так как предыдущие версии ограничивались только Windows.

GameMaker Studio 2

В 2017 году вышла GameMaker Studio 2 (GMS2). Эта версия получила полностью переработанный интерфейс, новый редактор спрайтов и анимаций, встроенный отладчик и улучшенную поддержку многопоточности. Система визуального программирования (Drag and Drop) была заменена на более мощную, основанную на GML. В 2020 году YoYo Games была приобретена компанией Playtech, что, по заявлениям разработчиков, должно было обеспечить долгосрочную поддержку продукта.

В 2024 году компания объявила о ребрендинге: продукт снова стал называться просто GameMaker, а версия 2024 года получила индекс 2024.1.0. Основные изменения коснулись лицензирования: была введена бесплатная версия с ограничениями (водяной знак, ограничение на коммерческое распространение) и платные подписки для коммерческого использования.

Архитектура и ключевые особенности

Основные концепции

GameMaker использует объектно-ориентированную модель, адаптированную для 2D-игр. Основные сущности:

  • Спрайты — графические изображения (растровые, в формате PNG, BMP, GIF и др.), которые могут быть статическими или анимированными (последовательность кадров). Каждый спрайт может иметь до 8 направлений (для 8-направленной анимации).
  • Объекты — логические сущности, которые содержат события (события создания, столкновения, нажатия клавиш, таймеры и т.д.) и действия (или код на GML). Объекты не имеют графического представления сами по себе — они ссылаются на спрайт.
  • Экземпляры — конкретные копии объектов, размещённые в комнате (уровне). Каждый экземпляр имеет собственные координаты, скорость, направление и другие переменные.
  • Комнаты — уровни или сцены, в которых размещаются экземпляры. Комнаты имеют размеры, фоновые слои, тайловые слои (для построения уровней из плиток) и слои экземпляров. Поддерживается несколько комнат в одном проекте.
  • Тайлы — наборы плиток (тайлсеты), используемые для построения уровней. Позволяют быстро создавать большие игровые миры из повторяющихся элементов.

Система событий и действий

Визуальное программирование (Drag and Drop, DnD) реализовано через блоки действий, которые перетаскиваются в список событий объекта. Примеры действий: «Переместить объект», «Воспроизвести звук», «Создать экземпляр», «Проверить столкновение». Для более сложной логики используется встроенный скриптовый язык.

GameMaker Language (GML)

GML — это скриптовый язык, синтаксически напоминающий C и JavaScript. Он включает в себя:

  • Типы данных: числа (целые и с плавающей точкой), строки, булевы значения, массивы (одномерные и многомерные), структуры (structs), списки, карты, стеки, очереди.
  • Управляющие конструкции: if-else, switch, for, while, repeat, do-until.
  • Функции: встроенные функции для работы с графикой, звуком, вводом, файлами, сетью, физикой (Box2D). Пользователь может создавать собственные функции (скрипты).
  • Объектно-ориентированность: объекты имеют переменные и методы. Поддерживается наследование (родительские объекты) и полиморфизм.

Пример кода на GML:

``gml // Создание экземпляра пули в направлении игрока var bullet = instance_create_layer(x, y, "bullets", obj_bullet); bullet.direction = point_direction(x, y, mouse_x, mouse_y); bullet.speed = 10; ``

Физический движок

GameMaker включает встроенную интеграцию с физическим движком Box2D, что позволяет реализовывать реалистичную физику твёрдых тел (столкновения, гравитация, трение, пружины, шарниры). Физика включается для отдельных объектов через флаги в редакторе.

Графический движок

Среда использует собственный 2D-рендерер, основанный на OpenGL (на Windows) и DirectX (на Xbox). Поддерживаются:

  • Аппаратное ускорение (GPU).
  • Шейдеры (GLSL ES для Web/мобильных, HLSL для Windows/Xbox).
  • Смешивание цветов (blending modes).
  • Слои и глубины (z-буфер).
  • Анимация спрайтов (по кадрам или скелетная анимация через Spine).

Экспорт и платформы

GameMaker позволяет экспортировать готовую игру на множество платформ:

  • Windows (exe-файл).
  • macOS (приложение .app).
  • Linux (исполняемый файл).
  • HTML5 (веб-версия, работающая в браузере).
  • Android (APK/AAB).
  • iOS (IPA).
  • tvOS (Apple TV).
  • PlayStation 4, PlayStation 5 (требуется лицензионное соглашение с Sony).
  • Xbox One, Xbox Series X/S (требуется лицензионное соглашение с Microsoft).
  • Nintendo Switch (требуется лицензионное соглашение с Nintendo).
  • Opera GX (специальная версия для браузера Opera GX).

Для экспорта на консоли требуется отдельная лицензия и подписанный контракт с производителем консоли.

Лицензирование и стоимость

С 2024 года GameMaker распространяется по модели подписки:

  • Free — бесплатная версия с водяным знаком на экране загрузки, ограничением на коммерческое распространение (доход до $100 000 в год) и отсутствием экспорта на консоли.
  • Creator — платная подписка (около $5–10 в месяц), снимает водяной знак, позволяет коммерческое распространение без ограничения по доходу, но без экспорта на консоли.
  • Enterprise — корпоративная подписка (около $50–100 в месяц), включает экспорт на все платформы, включая консоли, и приоритетную поддержку.

Ранее (до 2024 года) существовали разовые лицензии (Desktop, Mobile, Web, Console), но они были заменены подписками.

Известные игры, созданные на GameMaker

GameMaker использовался для создания многих коммерчески успешных и культовых игр. Наиболее известные примеры:

  • Undertale (2015) — ролевая игра, получившая признание критиков и собравшая более 1 миллиона копий. Создана Тоби Фоксом.
  • Hyper Light Drifter (2016) — пиксельная action-RPG, отмеченная наградами за визуальный стиль.
  • Hotline Miami (2012) — жестокий экшен с видом сверху, ставший культовым. Разработан студией Dennaton Games.
  • Spelunky (2008) — платформер-рогалик, оказавший огромное влияние на жанр.
  • Nuclear Throne (2015) — рогалик с видом сверху, известный своей сложностью.
  • Katana Zero (2019) — нео-нуарный платформер с механикой замедления времени.
  • Downwell (2015) — вертикальный шутер-рогалик, созданный одним разработчиком.
  • Cook, Serve, Delicious! (2013) — симулятор управления рестораном.
  • Risk of Rain (2013) — рогалик с видом сбоку, позже получивший сиквел на Unity.
  • Chasm (2018) — метроидвания с процедурной генерацией.

Сообщество и обучение

Вокруг GameMaker сложилось активное сообщество разработчиков. Существуют:

  • Официальные форумы и документация (YoYo Games).
  • Множество видеоуроков на YouTube (например, каналы Shaun Spalding, FriendlyCosmonaut, GameMaker Manual).
  • Книги и онлайн-курсы (например, «GameMaker: Studio 2: The Complete Guide»).
  • Хакатоны и джемы (например, ежегодный GameMaker Jam).

Среда часто рекомендуется для обучения основам геймдизайна и программирования, так как позволяет быстро получить видимый результат.

Критика и ограничения

Несмотря на популярность, GameMaker подвергается критике по ряду причин:

  • Производительность: встроенный 2D-рендерер не оптимизирован для большого количества объектов (например, для тысяч частиц или сложных физических симуляций). Для сложных проектов разработчики часто вынуждены использовать собственные оптимизации (например, объединение спрайтов в атласы, использование шейдеров).
  • Ограниченность 3D: хотя в GML есть функции для работы с 3D-графикой (например, d3d_*), они не поддерживаются официально и не рекомендуются для серьёзных проектов. GameMaker остаётся преимущественно 2D-инструментом.
  • Зависимость от платформы: среда привязана к Windows (для разработки), хотя есть версия для macOS. Экспорт на Linux и мобильные платформы иногда вызывает проблемы с совместимостью.
  • Лицензирование: переход на подписку в 2024 году вызвал недовольство части сообщества, так как ранее можно было приобрести бессрочную лицензию.
  • Отсутствие поддержки некоторых современных технологий: например, нет встроенной поддержки Vulkan или Metal (используется OpenGL, который на некоторых платформах считается устаревшим).

Сравнение с другими средами

GameMaker часто сравнивают с другими инструментами для создания 2D-игр:

  • Construct (Scirra) — также ориентирован на 2D, но использует визуальное программирование (Event Sheets) и не имеет собственного скриптового языка (хотя есть JavaScript). Construct более прост в освоении, но менее гибок.
  • RPG Maker (Gotcha Gotcha Games) — специализируется на создании RPG, имеет встроенные редакторы карт и диалогов. Менее универсален, чем GameMaker.
  • Unity (Unity Technologies) — мощный 3D/2D-движок, но требует большего времени на освоение и написания кода на C#. GameMaker выигрывает в скорости прототипирования.
  • Godot (Godot Engine) — открытый движок, поддерживающий 2D и 3D. Имеет собственный язык GDScript, похожий на Python. Godot более гибок, но сообщество у него меньше, чем у GameMaker.

Будущее

Разработчики GameMaker (YoYo Games) продолжают выпускать обновления, добавляя поддержку новых платформ, улучшая производительность и исправляя ошибки. В 2024 году был анонсирован переход на новую версию (2024.1), которая, по заявлениям, станет основой для дальнейшего развития. Ожидается улучшение поддержки шейдеров, интеграция с облачными сервисами и улучшение инструментов для работы с анимацией.

Источники

  • Официальная документация GameMaker (YoYo Games).
  • История версий GameMaker на сайте YoYo Games.
  • Статья «GameMaker: Studio» в англоязычной Википедии.
  • Интервью с Марком Овермарсом (2007).
  • Обзоры и статьи на сайтах Gamasutra, Game Developer, IndieDB.
  • Книга «GameMaker: Studio 2: The Complete Guide» (2020).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →