Skip to content
E
Egmatic
движок управляемый даннымиуправляемый даннымиигровой движокjson в разработке игрархитектура игры

Игровые движки, управляемые данными: сравнение чистых конвейеров

Движок, управляемый данными, — это движок, чьё содержимое (уровни, сущности, характеристики, баланс, порой и поведение) живёт в файлах данных, которые он считывает и интерпретирует во время выполнения, а не в скомпилированном коде, и потому дизайнеры меняют игру без её пересборки инженером. В 2026 году эту идею дальше всех доводят: RPG Maker MZ (вся игра — база данных в JSON), GDevelop (весь проект — один JSON-файл), GameMaker (комнаты и объекты как JSON-ресурсы), Unity (ScriptableObject позволяет спроектировать собственный конвейер данных) и Godot (читаемые текстовые ресурсы). MonoGame стоит на противоположном конце как честный контраст — фреймворк с акцентом на код без встроенной модели данных. Сравнение ранжирует пять движков по степени управляемости данными, честно говорит о слабых местах каждого, напомнит, что управляемый данными — это не то же, что ориентированный на данные, и поясняет: управляемый данными — это архитектура, а JSON лишь один из форматов её переноса.

Владислав Ковнеров30 июля 2026 г.13 мин

Движок, управляемый данными, — это движок, чьё содержимое (уровни, сущности, характеристики, баланс, порой и поведение) живёт в файлах данных, которые он считывает и интерпретирует во время выполнения, а не в скомпилированном коде, и потому дизайнер меняет игру без её пересборки инженером. В 2026 году эту идею дальше всех доводят несколько движков, выстроенных по спектру. RPG Maker MZ делает всю игру базой данных в JSON. GDevelop хранит весь проект одним JSON-файлом. GameMaker описывает комнаты и объекты как JSON-ресурсы. Unity даёт ScriptableObject и позволяет спроектировать собственный конвейер данных. Godot хранит ресурсы как читаемый человеком текст. На противоположном конце стоит MonoGame — честный контраст: фреймворк с акцентом на код и вовсе без встроенной модели данных.

Это сравнение ранжирует движки по тому, насколько подход, управляемый данными, определяет создание в них игры, честно говорит о слабых местах каждого и напомнит о двух различиях: управляемый данными — это не то же, что ориентированный на данные, а JSON — лишь один из форматов, способных переносить данные. О том, что такое сам JSON и почему подход выигрывает, рассказывает разбор JSON в разработке игр; здесь же движки расставлены по местам.

Движки в сравнении

Таблица отражает спектр: от движков, чей весь продукт — это данные, до движков, которые дают вам детали и предлагают решать самим.

ДвижокМодель данныхДля чего лучше всегоЛицензия / стоимость
RPG Maker MZВся игра как база данных в JSONСюжетные RPG без кодаПлатный, разовая покупка
GDevelopВесь проект сохраняется одним JSON-файломБесплатное управляемое данными 2D без кодаMIT, бесплатно
GameMakerКомнаты и объекты как JSON-ресурсы (.yyp)2D с кодом, отполированный конвейерБесплатно некоммерческий; $99.99 разовый коммерческий
UnityScriptableObject — конвейер данных вы проектируете самиКоманды 2D/3D, собственные конвейерыБесплатный тариф; платные тарифы
GodotЧитаемые человеком текстовые ресурсы (.tres, .tscn)Открытый код, правка данных с упором на кодMIT, бесплатно
MonoGameВстроенной нет — фреймворк с акцентом на кодПолный контроль, много кодаMIT, бесплатно

Теперь — каким каждый из них бывает на деле и где подводит.

1. RPG Maker MZ — игра это и есть данные

RPG Maker доводит подход, управляемый данными, до жанрового предела: вся ролевая игра целиком — актёры, классы, навыки, предметы, враги, тайлсеты, анимации — это набор JSON-файлов в папке data/ проекта (Actors.json, Items.json, Enemies.json и так далее). Всё это редактируют через экран базы данных, вообще не прикасаясь к коду, а движок интерпретирует данные в работающую игру. Для своего жанра выгода огромна: полноценная, сбалансированная RPG без единой строчки программирования. Расплата — оборотная сторона силы: движок сформирован вокруг одного жанра. Как только потребуется то, чего база данных выразить не может, вы боретесь с инструментом, а не пользуетесь им. Управляется данными, но в жёстких рамках.

2. GDevelop — проект это один JSON-файл

GDevelop управляется данными до самого корня: весь проект — объекты, поведения, сцены, события, переменные — сохраняется одним JSON-файлом. Никакого спрятанного бинарного блока, никакой проприетарной базы; игра — это текст, который можно читать, сравнивать и даже править вручную. Для 2D-проекта без кода, которому нужна максимальная прозрачность, это трудно превзойти, а лицензия MIT не накладывает ограничений на доходы и роялти. Расплата — гибкость на границах. Поскольку движок построен вокруг собственной системы событий и объектной модели, выход за пределы того, что они описывают, означает работу против структуры — как и в любом строго устроенном инструменте без кода.

3. GameMaker — комнаты и объекты как JSON-ресурсы

GameMaker относится к строительным блокам игры — комнатам (уровням), объектам, спрайтам, звукам — как к ресурсам, а его файл проекта .yyp и файлы отдельных ресурсов — это JSON. Это делает проект удобным для сравнения версий и автоматизации, что важно для команд и для любого внешнего инструмента поверх конвейера. Добавьте сюда GML, собственный язык GameMaker, — и получится 2D-движок, удобный для программистов, которым нужна ещё и аккуратный, управляемый данными слой авторинга. Расплата в том, что GameMaker — это определённо 2D-инструмент, а слой данных спроектирован создателями движка: вы редактируете в их модели ресурсов, а не в своей. Цена — бесплатно для некоммерческого использования и разовые $99.99 за коммерческую лицензию.

4. Unity — конвейер данных вы проектируете сами

Unity не даёт фиксированной модели данных — он даёт ScriptableObject, ассеты данных, которые вы определяете сами, и предлагает: «стройте нужный вам конвейер». Вы создаёте ScriptableObject Weapon, наделяете его нужными полями, и его экземпляры становятся редактируемыми ассетами данных в проекте. Добавьте JsonUtility для сериализации в JSON — и вы получаете полностью управляемый данными слой, форму которого спроектировали вы. Сильная сторона — гибкость: команды, создающие что угодно от 2D-головоломок до 3D-RPG, могут подогнать модель данных под игру. Расплата в том, что проектирование лежит на вас. Единственно верной модели данных нет, обязательных соглашений тоже, и в крупном проекте может накопиться несколько несогласованных, если никто не задаст стандарт. Мощно, но не подсказывает, что делать.

5. Godot — данные, которые можно читать

Ресурсы Godot хранятся как текст.tres для ресурсов, .tscn для сцен, — читаемый человеком и заточенный под контроль версий. Это не JSON (у Godot свой лаконичный текстовый синтаксис, а JSON доступен как опция), но принцип тот же: содержимое игры — это редактируемые данные, а не скомпилированный код. Вы определяете тип Resource, заполняете экземпляры и ссылаетесь на них по всему проекту. Сильная сторона — открытость и читаемость: изменение сцены можно сравнить построчно, — в сочетании с движком, где ресурсы воспринимают как концепцию первого класса. Расплата в том, что, как и в Unity, модель ресурсов вы проектируете и поддерживаете сами: Godot даёт формат, но не предписание.

MonoGame — честный контраст

MonoGame попал в этот список, чтобы закрепить противоположный конец спектра. Это фреймворк, построенный вокруг кода — открытый преемник Microsoft XNA, — без встроенной модели данных и без редактора. Если в MonoGame нужен подход, управляемый данными, вы строите всё сами: определяете данные, разбираете JSON библиотекой вроде System.Text.Json, пишете загрузчик, проектируете схему. Это полный контроль и полная ответственность, и именно поэтому фреймворк с акцентом на код — не то же самое, что движок, управляемый данными. MonoGame становится управляемым данными лишь после того, как вы вложите труд, который RPG Maker или GDevelop дают бесплатно.

Как выбрать под свою цель

Быстрее всего выбрать движок, сопоставив его с тем, что вы делаете.

  • Нужна сюжетная RPG без программирования → RPG Maker MZ. База данных и есть игра.
  • Нужно бесплатное управляемое данными 2D с полной прозрачностью → GDevelop. Один JSON-файл, лицензия MIT.
  • Нужен отполированный 2D-конвейер и вы свободно пишете код → GameMaker. JSON-ресурсы плюс GML.
  • Нужно спроектировать собственную модель данных для крупного проекта → Unity. ScriptableObject — на ваш лад.
  • Нужны открытый код, читаемые данные и контроль через код → Godot. Текстовые ресурсы, MIT.
  • Нужен полный контроль и готовность построить слой данных самому → MonoGame. Построен вокруг кода, всё своё.

Управляемый данными — это не ориентированный на данные

Это различие важно: слова близки, а идеи не связаны. Подход, управляемый данными, касается авторинга: он говорит, что содержимое игры живёт в файлах данных, которые редактирует дизайнер, отдельно от кода. Подход, ориентированный на данные (data-oriented design), касается производительности: он говорит, что данные укладывают в памяти — плоскими, сплошными массивами, — чтобы процессор мог быстро прогонять их через кэш. Движок может управляться данными, не будучи ориентированным на данные (JSON-база RPG Maker — прямая противоположность кэш-дружественному формату), и наоборот. Эти подходы решают разные задачи и часто сосуществуют: контент авторят как данные, а горячие его части укладывают под кэш. Не дайте общему слову «данные» спутать их.

Частые ошибки

ОшибкаЧто идёт не такЧто делать вместо этого
JSON выдают за архитектуруВыбирают формат вместо того, чтобы отделить данные от кодаСначала решите, что данные, а что код; JSON — лишь один из носителей
Путаница между «управляемым данными» и «ориентированным на данные»Ждёте от читаемых файлов данных ещё и скорости, или наоборотКонтент авторите как данные для дизайнеров; горячие данные укладывайте под кэш
Нет схемы и нет версионированияИзменение формата незаметно ломает сохранения и модыПроверяйте данные и версонируйте их с путём миграции
Движок с фиксированной базой данных — не для того жанраБоретесь с моделью RPG Maker, пытаясь сделать то, чего она не выражаетПодбирайте модель данных движка под форму вашей игры
Слой данных строят последним в фреймворке с акцентом на кодУправление данными превращается в запоздалую надстройку над скомпилированной логикойПроектируйте модель данных заранее, даже в MonoGame

Роль Egmatic

В этом списке видна закономерность. Движки, в которых подход, управляемый данными, — это законченная, продуманная система (RPG Maker и GDevelop), максимально управляются данными, но жёстки в своей модели. Крупные универсальные движки — Unity и Godot — дают мощные инструменты для данных, но модель оставляют проектировать и поддерживать вам самим. MonoGame не даёт ничего и требует построить всё самому. Egmatic создан для ниши между ними: это 2D-редактор и движок поверх рантайма MonoGame, вся архитектура которого управляется данными по самой своей конструкции. Редактор создаёт игру; движок её запускает; а единственное, что проходит между ними, — контракт на основе версионированного JSON, без общего кода, только данные.

Это подход, управляемый данными, доведённый до самой чистой формы: редактор и рантайм договариваются только об одном формате данных и больше ни о чём, поэтому конвейер не может «уплыть» так, как это бывает, когда код и данные переплетены. Для 2D-игр, где контент составляет львиную долю работы, то, что игра и есть данные, — в этом и суть. О формате, который её переносит, подробно рассказывает разбор JSON в разработке игр, а разбор графа сцены показывает, как эти данные описывают мир после того, как движок их загрузил.

Итог

Дальше всех подход, управляемый данными, доводят RPG Maker MZ (вся игра как база данных в JSON), GDevelop (весь проект как один JSON-файл), GameMaker (комнаты и объекты как JSON-ресурсы), Unity (ScriptableObject, который вы проектируете сами) и Godot (читаемые человеком текстовые ресурсы), а MonoGame служит честным контрастом — фреймворком с акцентом на код, у которого вовсе нет модели данных. Выбирайте под то, что делаете: фиксированная база данных для жанровой игры, продуманный проект без кода для прозрачного 2D, конвейер собственной конструкции для крупной команды или слой с нуля для полного контроля. И удерживайте два различия: «управляемый данными» — это про авторинг контента как данных, а не про производительность кэша; а JSON — один из форматов переноса данных, а не сама архитектура. Инструмент, заточенный под 2D, у которого редактор и движок связаны лишь контрактом на версионированном JSON, — как Egmatic, — это управление данными в самой чистой форме.


Источники

  1. Подход, управляемый данными — содержимое и параметры геймплея, заданные в данных, которые движок интерпретирует во время выполнения — Википедия: Data-driven programming
  2. База данных RPG Maker MV/MZ — актёры, предметы, враги и навыки хранятся отдельными JSON-файлами — RPG Maker Wiki: Database
  3. Формат проекта GDevelop — весь проект сохраняется одним JSON-файлом — GDevelop wiki: Project manager
  4. Формат проекта GameMaker — файл проекта .yyp хранится в JSON — GameMaker Manual: Project format
  5. Цены GameMaker — бесплатно для некоммерческого использования, $99.99 разово за коммерческую лицензию — GameMaker: Get
  6. Unity ScriptableObject — ассеты данных, позволяющие спроектировать управляемый данными конвейер — Unity Manual: ScriptableObject
  7. Ресурсы Godot — читаемые человеком текстовые форматы .tres и .tscnGodot docs: TSCN file format
  8. MonoGame — открытый преемник Microsoft XNA, фреймворк с акцентом на код и конвейером контента — MonoGame docs: Content pipeline
  9. Подход, ориентированный на данные — расположение данных в памяти ради производительности кэша процессора — Википедия: Data-oriented design

Похожие статьи

граф сценыдерево сценигровой движок

Граф сцены: как игры устраивают миры

Граф сцены — это иерархия игровых объектов, в которой положение, поворот и масштаб дочернего объекта отсчитываются от родительского, поэтому перемещение родителя сдвигает за собой всех потомков. Технически это направленный ациклический граф, но в играх он используется как дерево, и именно его мы видим во всех крупных движках — дереве сцен Godot, иерархии трансформаций Unity, присоединяемых компонентах Unreal. Благодаря ему босс и его полоска здоровья остаются связанными, рука держится на теле персонажа, а колёса — под кузовом машины. Объяснение разбирает, что такое граф сцены, единое правило наследования трансформаций, что он даёт, как его выражают разные движки, во что он обходится и как связан с архитектурой «сущность — компонент — система» (ECS).

29 июля 2026 г.12 мин
что такое игровой движокигровой движокразработка игр для начинающих

Что такое игровой движок? Простое объяснение для начинающих

Игровой движок — это программа, которая берёт на себя то, что нужно каждой игре: вывод графики на экран, воспроизведение звука, обработку ввода, расчёт физики и выполнение игрового цикла. Это не сама игра, а её техническая основа. В этом материале простыми словами объяснено, что именно делает движок, чем он отличается от фреймворка и библиотеки, какие движки лидируют в 2026 году (Unity, Unreal, Godot, GameMaker, Construct и Egmatic), нужен ли он вам вообще и как выбрать первый движок.

17 июля 2026 г.11 мин
json в разработке игруправляемый даннымиархитектура игры

JSON в разработке игр: почему побеждает подход, управляемый данными

JSON в разработке игр — это способ описывать содержимое игры (уровни, предметы, характеристики врагов, баланс, настройки и файлы сохранений) в виде структурированного текста, который движок считывает во время выполнения, а не жёстко прописывает в исходном коде. Такое разделение называют подходом, управляемым данными (data-driven), и именно оно позволяет геймдизайнеру перенастроить урон оружия без перекомпиляции, делает сохранения и моддинг выполнимыми и позволяет одной кодовой базе выпускать сотню уровней. JSON (стандарт RFC 8259) стал самым частым носителем таких данных, потому что это простой текст: его читает человек, удобно сравнивать в системе контроля версий и разбирает любой язык программирования. В этом разборе — что такое JSON, что такое подход, управляемый данными, что стоит хранить в JSON, где он проигрывает, как его применяют крупные движки и как он соотносится с бинарными форматами вроде FlatBuffers и Protocol Buffers.

30 июля 2026 г.13 мин