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

Game Maker

Game Maker — это интегрированная среда разработки (IDE) для создания компьютерных игр, ориентированная на двухмерную (2D) графику. Предоставляет пользователям визуальный язык программирования (систему событий и действий) и собственный скриптовый язык GML (Game Maker Language). Разрабатывается нидерландской компанией YoYo Games (с 2021 года — подразделение операционной системы GameMaker, входящей в состав британской корпорации Opera Software). Первая версия была выпущена 15 ноября 1999 года.

История

Ранние версии (1999—2005)

Программа была создана голландским программистом Марком Овермарсом (Mark Overmars) как учебный инструмент для его студентов в Утрехтском университете. Изначально называлась «Animo» и предназначалась для создания простых анимаций. В 1999 году вышла первая публичная версия под названием Game Maker, которая позволяла создавать игры без написания кода, используя drag-and-drop (перетаскивание иконок действий). Программа быстро приобрела популярность среди начинающих разработчиков благодаря низкому порогу входа.

Эра YoYo Games (2007—2015)

В 2007 году права на Game Maker были переданы компании YoYo Games, основанной Марком Овермарсом и Сандрой Бранд. В 2010 году вышла версия 8.0, которая стала последней для классической линейки. В 2012 году была выпущена версия GameMaker: Studio, которая кардинально изменила архитектуру: появилась поддержка экспорта на мобильные платформы (iOS, Android), HTML5, а также на консоли (через партнёрские программы). В 2015 году вышла версия GameMaker: Studio 1.4, которая долгое время оставалась стабильной и популярной.

Современный этап: GameMaker Studio 2 (2017—2022)

В марте 2017 года была выпущена GameMaker Studio 2 (GMS2) — полностью переработанная версия с новым интерфейсом, улучшенным редактором спрайтов и комнат, а также более мощным компилятором. В 2021 году компания YoYo Games была приобретена корпорацией Opera Software. В 2022 году среда была переименована в просто GameMaker, а нумерация версий была сброшена. В 2023 году была выпущена версия 2023.8, которая сделала среду полностью бесплатной для некоммерческого использования и ввела новую модель лицензирования.

Ключевые особенности

Визуальное программирование (Drag and Drop)

Основной механизм создания логики в Game Maker — это система событий и действий. Каждый игровой объект (объект) может реагировать на события (создание, столкновение, нажатие клавиши, таймер и т.д.). Для каждого события пользователь может добавить одно или несколько действий (движение, рисование, управление звуком, изменение переменной). Действия представлены в виде иконок, которые можно перетаскивать и настраивать параметры. Это позволяет создавать полноценные игры без написания ни одной строки кода.

Язык GML (Game Maker Language)

Для более сложной логики и тонкой настройки используется собственный скриптовый язык GML. Синтаксически GML напоминает смесь C и JavaScript, но имеет ряд упрощений и специфических функций, заточенных под разработку игр. GML поддерживает:

  • Переменные (глобальные, локальные, экземпляра).
  • Массивы (одномерные и многомерные).
  • Структуры данных (списки, карты, очереди, стеки, приоритетные очереди).
  • Функции для работы с графикой, звуком, вводом, физикой (Box2D).
  • Работу с поверхностями и шейдерами (GLSL ES).
  • Поддержку асинхронных операций (HTTP-запросы, загрузка файлов).

Редакторы ресурсов

Game Maker включает встроенные редакторы для создания и редактирования игровых ресурсов:

  • Редактор спрайтов — позволяет создавать и редактировать растровые изображения, анимировать их (покадровая анимация), настраивать коллизионные маски.
  • Редактор фонов — для создания статических или анимированных фоновых изображений.
  • Редактор звуковимпорт и базовое редактирование аудиофайлов (WAV, MP3, OGG).
  • Редактор шрифтов — создание растровых шрифтов из системных.
  • Редактор путей — для задания маршрутов движения объектов.
  • Редактор комнат — визуальный редактор уровней, где размещаются объекты, настраиваются слои, тайловые карты (tilemaps), гравитация, освещение.

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

Game Maker поддерживает экспорт на множество платформ. В зависимости от лицензии, доступны следующие целевые платформы:

  • Windows (нативный исполняемый файл .exe).
  • macOS (приложение .app).
  • Linux (через Ubuntu).
  • HTML5 (игры для браузеров).
  • Android (APK, AAB).
  • iOS (через Xcode).
  • Nintendo Switch (через партнёрскую программу).
  • PlayStation 4 и PlayStation 5 (через партнёрскую программу).
  • Xbox One и Xbox Series X|S (через партнёрскую программу).
  • UWP (Universal Windows Platform).

Архитектура и основные понятия

Объекты и экземпляры

Объект (object) — это шаблон, определяющий поведение игрового элемента. Он содержит набор событий и действий. Экземпляр (instance) — это конкретный объект, размещённый в комнате. Экземпляры могут создаваться и уничтожаться динамически. Каждый экземпляр имеет уникальный идентификатор (id) и набор переменных.

Спрайты и анимация

Спрайт (sprite) — это изображение или набор изображений (кадров), которые используются для визуального представления объекта. Анимация задаётся последовательностью кадров с заданной скоростью смены. Для каждого спрайта можно настроить коллизионную маску (точную, прямоугольную, эллиптическую, по пикселям).

Комнаты и слои

Комната (room) — это игровой уровень или сцена. Комнаты содержат слои, которые могут быть:

  • Фоновыми (tile layer) — для тайловых карт.
  • Объектными (instance layer) — для размещения экземпляров.
  • Спрайтовыми (sprite layer) — для статических изображений.
  • Слоями эффектов (effect layer) — для постобработки (туман, размытие, цветокоррекция).

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

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

Применение и известные проекты

Инди-разработка

Game Maker является одной из самых популярных сред для создания инди-игр. Благодаря низкому порогу входа и возможности быстрого прототипирования, на нём созданы тысячи коммерческих и бесплатных проектов. Многие известные инди-хиты были разработаны именно на Game Maker.

Примеры известных игр

  • Hotline Miami (2012) — культовая изометрическая аркада-шутер. Разработана Деннисом Вединном (Dennaton Games) на Game Maker 8.0.
  • Undertale (2015) — ролевая игра с уникальной боевой системой. Разработана Тоби Фоксом на Game Maker: Studio 1.4.
  • Hyper Light Drifter (2016) — пиксельная action-RPG. Разработана Heart Machine на Game Maker: Studio 1.4.
  • Spelunky (2008) — платформер-рогалик. Оригинальная версия была создана Дереком Ю (Mossmouth) на Game Maker 7.0.
  • Nuclear Throne (2015) — рогалик-шутер. Разработана Vlambeer на Game Maker: Studio.
  • Katana Zero (2019) — нео-нуарный платформер с механикой замедления времени. Разработана Askiisoft на Game Maker: Studio 2.
  • Risk of Rain (2013) — рогалик-платформер. Разработана Hopoo Games на Game Maker: Studio.

Образовательное применение

Game Maker широко используется в школах и университетах для обучения основам программирования и геймдизайна. Визуальный drag-and-drop позволяет новичкам быстро создавать работающие проекты, а GML даёт возможность плавно перейти к текстовому программированию. В России и странах СНГ среда также популярна на факультативах и в кружках робототехники и разработки игр.

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

Производительность

Game Maker традиционно критикуется за относительно низкую производительность по сравнению с нативными движками (Unity, Unreal Engine) или библиотеками (SFML, SDL). Это связано с тем, что среда использует интерпретатор или JIT-компиляцию, а не полноценную компиляцию в машинный код. Однако с версии GameMaker Studio 2 (особенно с 2022 года) был внедрён новый компилятор YYC (YoYo Compiler), который генерирует нативный код для Windows, что значительно повысило производительность.

Ограниченность 2D

Среда изначально проектировалась для 2D-игр. Поддержка трёхмерной графики (3D) в Game Maker минимальна и неудобна: нет встроенного редактора 3D-моделей, нет поддержки стандартных 3D-форматов (OBJ, FBX), а рендеринг осуществляется через низкоуровневые функции (d3d_model). Создание полноценных 3D-игр на Game Maker крайне затруднительно и не рекомендуется.

Лицензионная политика

До 2023 года Game Maker имел сложную и запутанную систему лицензий: бесплатная версия имела серьёзные ограничения (водяной знак, отсутствие экспорта на некоторые платформы, ограничение на количество ресурсов). С 2023 года среда стала бесплатной для некоммерческого использования, а для коммерческой разработки требуется подписка (Creator, Indie, Enterprise). Это вызвало неоднозначную реакцию в сообществе: многие разработчики приветствовали упрощение, но критиковали отказ от разовой покупки.

Отсутствие многопоточности

Вплоть до версии 2023 года Game Maker не поддерживал многопоточность. Все игровые процессы (логика, рендеринг, физика) выполнялись в одном потоке, что ограничивало производительность на многоядерных процессорах. В версии 2023.8 была добавлена экспериментальная поддержка многопоточности для некоторых операций, но она всё ещё ограничена.

Интересные факты

  • Название «Game Maker» долгое время было товарным знаком, зарегистрированным компанией YoYo Games. В 2021 году, после покупки Opera, товарный знак был переоформлен.
  • Исходный код ранних версий Game Maker (до 8.0) был написан на Delphi. Начиная с GameMaker: Studio, среда была переписана на C++.
  • В 2014 году вышла книга «Game Maker's Apprentice» (авторы — Джейкоб Хабергуд и Марк Овермарс), которая стала классическим учебником по разработке игр на этой платформе.
  • В 2021 году компания YoYo Games запустила программу GameMaker Marketplace — магазин ассетов (спрайтов, звуков, скриптов) для пользователей среды.

Источники

  • Официальная документация GameMaker (YoYo Games / Opera Software).
  • Книга «Game Maker's Apprentice» (Jacob Habgood, Mark Overmars, 2006).
  • Статья «The History of Game Maker» (журнал Retro Gamer, 2018).
  • Аналитический отчёт «GameMaker Studio 2: A Developer's Perspective» (Gamasutra, 2019).
  • Материалы конференции Game Developers Conference (GDC) 2017—2023.

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

На главную BFOmetr →