← Модуль 5/Движки: Unity / Unreal / Godot
EN
Модуль 5 · HD-эра и инди (2005–2012)

Движки: Unity / Unreal / Godot

Движок — это не «программа для игр», а готовый набор из тысячи решённых проблем (цикл, рендер, физика, пайплайн, редактор, сборка под платформы) плюс бизнес-отношения с поставщиком. Выбор движка задаёт потолок графики, охват платформ, найм команды и твою зависимость от вендора.
~17 мин🛠 инженерия + 💰 бизнес
Суть за 30 секунд
Движок продаёт тебе не рендер, а редактор и пайплайн — тысячу уже решённых задач (игровой цикл, физика, импорт ассетов, сцена-компоненты, ввод, сборка под 10 платформ), чтобы ты не писал их с нуля. Три доминирующих в 2026: Unity (C#, компонентная GameObject-модель, гигантский Asset Store, король мобилок и инди-3D; бизнес — подписка за место), Unreal (C++/Blueprints, ААА-рендер: Nanite-геометрия + Lumen-GI, лучшая картинка и виртуальное продакшн; бизнес — роялти 5%→3.5% с дохода свыше $1 млн), Godot (open-source, MIT, GDScript/C#, лёгкий, сцена-дерево, силён в 2D; бизнес — бесплатно навсегда, движок твой). Выбор — это buy-vs-build плюс зависимость от вендора: сага с Unity Runtime Fee (сент. 2023 → отмена сент. 2024) показала, что движок — это поставщик, который может задним числом переписать условия. Godot после неё рванул: на GMTK Jam доля выросла 19%→37% за год.

Механизм: что такое движок и из чего выбираешь

В модулях 1–4 ты собирал примитивы вручную: игровой цикл, fixed-point, коллизии, нетокод. Движок — это коробка, где всё это уже сделано и связано редактором. Что он реально даёт:

Поэтому «написать свой движок» ≠ «написать рендер»: рендер — недели, а редактор + пайплайн + порты под платформы + годы вылизывания — это и есть стоимость. Своё пишут ради контроля или экстремальной производительности (id Tech, Decima, RE Engine), но мало кто может себе это позволить.

Три движка — что даёт каждый

ОсьUnityUnrealGodot
ЯзыкC#C++ + BlueprintsGDScript / C# / C++
МодельGameObject + компонентыActor + компоненты, Blueprint-VMдерево нод (scene tree)
Силён вмобилки, 2D/3D-инди, прототипыААА-3D, фотореализм, кино/виртуал-продакшн2D, лёгкие проекты, контроль
Картинкасредняя-высокая (HDRP)топ (Nanite, Lumen)растёт, 3D пока слабее
Бизнес-модельподписка за место (Pro ≈ $2k/год)роялти 3.5% свыше $1 млн$0, MIT, форкаешь
Риск вендоравысокий (Runtime Fee)средний (Epic держит условия)нулевой (движок у тебя)

Рамка выбора — по пяти осям

Движок выбирают не «какой лучше», а под задачу, по пяти параметрам: (1) потолок графики нужен фотореализм или 2D-пиксель; (2) платформы мобилки/консоли/web; (3) команда кто есть и что знает (C# vs C++ vs пусто); (4) бюджет и модель денег (фикс-подписка против роялти против нуля); (5) контроль и риск (готов ли зависеть от вендора, который может сменить условия). Это решение рано принимается и дорого меняется — переезд между движками = переписать почти всё.

Числовой пример — кому что дешевле

Деньги движка считаются по-разному, и кроссовер неочевиден. Unreal берёт роялти только с дохода свыше $1 млн (после снижения 2025 — ставка 3.5% для игр, выходящих в Epic Games Store):

CUE= 0.035·(R−1 млн $) приR>1 млн $

Игра собрала $3 млн. Unreal: 0.035·(3−1) млн = $70k (разово, и $0 пока не перевалил за миллион). Unity: подписка не зависит от дохода — скажем, 5 мест × ≈$2 000/год = ≈$10k/год всё время разработки, хоть продал ты на $0, хоть на $30 млн. Godot: $0. Вывод: роялти выгодно, если доход скромный или один большой хит (платишь с успеха); подписка выгодна на больших тиражах (фикс при огромной выручке), но бьёт, если игра провалилась — платишь всё равно; open-source снимает деньги-ось целиком, перекладывая всё на «сам себе поддержка».

🕹 В какие игры поиграть — и что заметить

Движок видно по сплэш-экрану, титрам или тегу на SteamDB. Сыграй по одному титулу на движок и заметь корреляцию движок ↔ жанр/картинка — она не случайна: инструмент задаёт, что делать легко.

Unity Hollow Knight · Cuphead · Cities: Skylines · Among Us

Дом инди и мобилок. Один кодбейз на C# едет на PC, консоли, iOS, Android; Asset Store закрывает то, что команда не успевает сделать сама. Отсюда лавина 2D/3D-инди и мобильных хитов (Pokémon GO — тоже Unity).

🎮 Сыграй: запусти Hollow Knight или Cuphead и заметь сплэш «Made with Unity» на старте. Потом на SteamDB любой игры открой вкладку Technology — увидишь движок. Прикинь, сколько игр в твоей библиотеке на Unity; почти всегда это инди и мобилки.

Unreal Fortnite · FF7 Remake · Black Myth: Wukong · Clair Obscur: Expedition 33

Когда нужна картинка. Black Myth: Wukong (2024) и Clair Obscur: Expedition 33 (2025) — витрина UE5: Nanite тащит геометрию из миллионов полигонов без ручных LOD, Lumen считает динамический свет без запечённых лайтмапов. Fortnite — флагман самого Epic.

🎮 Сыграй: зайди в любую UE5-игру и поищи в настройках Nanite и Lumen; включи/выключи Lumen — увидишь, как пропадает динамическое непрямое освещение и сцена становится «плоской». Заметь характерный UE-логотип на загрузке.

Godot Buckshot Roulette · Brotato · Cassette Beasts · Dome Keeper

Лёгкий, open-source, силён в 2D. Buckshot Roulette (2024) — хит соло-разработчика на Godot; Brotato и Dome Keeper — инди-успехи. Движок целиком твой: можно форкнуть и пересобрать под себя, и никаких роялти/подписки.

🎮 Сыграй: запусти Buckshot Roulette или Brotato — заметь, насколько они лёгкие (стартуют мгновенно, крошечный размер). Это эстетика Godot: маленькие, отзывчивые, часто 2D. Сравни вес дистрибутива с любой UE5-игрой (десятки гигабайт).

Хардкор · инженерия: что внутри движка и чем три модели отличаютсяможно пропустить

«Движок» — это связка подсистем под единым редактором. Архитектурно три по-разному решают «как описать игровой объект».

Сцена и объекты

  • Unity — GameObject + Component. Объект сам по себе пустой, поведение навешивается компонентами (Rigidbody, Collider, твой MonoBehaviour). Это композиция over inheritance — прямой родственник ECS (Unity DOTS довёл идею до data-oriented).
  • Unreal — Actor + Component, плюс Blueprint. C++ для скорости, визуальный Blueprint-граф компилируется в байткод своей VM — дизайнер кодит без C++. Тяжелее, но на этом стоит весь ААА-тулинг.
  • Godot — дерево нод. Всё есть нода (спрайт, камера, тело), сцена — поддерево, которое инстансируется как префаб. Под нодами — «серверы» (Rendering/Physics server), отделяющие сцену от низкого уровня.

Как исполняется твой код

Unity: C# через Mono либо IL2CPP (транспиляция в C++ ради скорости и закрытых платформ). Unreal: нативный C++ + Blueprint-VM. Godot: GDScript (интерпретируемый, заточен под движок) либо C#/C++ через GDExtension. Разница в потолке производительности и в том, кто может писать — отсюда и состав команды.

Редактор — главный продукт

Рендер у всех троих «достаточно хорош»; конкуренция идёт в редакторе и пайплайне: насколько быстро итерируешь, какой профайлер, есть ли hot-reload, как импортируются ассеты, насколько живой маркетплейс. Поэтому свой движок дорог не рендером, а тем, что редактор и пайплайн нужно построить и поддерживать годами.

Хардкор · бизнес: три модели денег, кроссовер и риск поставщикаможно пропустить

Выбор движка — это ещё и выбор контракта. Три принципиально разные модели.

Подписка vs роялти vs open-source

  • Подписка за место (Unity): фикс/год вне зависимости от выручки. Предсказуемо; дёшево при больших тиражах; больно при провале (платишь, даже если не заработал) и масштабируется по числу мест, не по успеху.
  • Роялти (Unreal): платишь долю с успеха и только свыше порога ($1 млн). Epic ставит на твой хит. Отлично для инди и единичного блокбастера; дорого, если выручка огромная (3.5% с сотен миллионов — заметная сумма).
  • Open-source (Godot): $0, но «бесплатно» ≠ «без затрат»: ты сам себе саппорт, плагины, отсутствующие фичи. Платишь временем и риском незрелости, а не деньгами.

Риск поставщика — урок Unity 2023

12 сентября 2023 Unity объявила Runtime Fee: плата за установки уже выпущенных игр, задним числом, сверх порогов. Взорвалось не из-за суммы, а из-за прецедента: вендор в одностороннем порядке переписывает условия на работу, которую ты уже отгрузил, причём по неконтролируемой метрике (инсталлы могли превысить выручку). 1000+ разработчиков подписали открытое письмо, начался бойкот, CEO Джон Риччитьелло ушёл (окт. 2023), и в сентябре 2024 фи отменили, вернувшись к подписке (с поднятыми ценами). Godot на этой волне рванул: GMTK Game Jam 2024 — доля 19%→37% за год, к 2025 примерно поровну с Unity.

Инженерный вывод: цена движка — не только деньги, а право вендора менять правила. Open-source убирает это право (форкнул — и условия больше никто не тронет); проприетарный — оставляет.

Аналогия
Движки — это кухни, которые ты арендуешь под ресторан. Unity — сетевая укомплектованная кухня: всё на месте, кладовка полуфабрикатов (Asset Store) ломится, но платишь аренду — и однажды арендодатель попытался ввести плату за каждое поданное блюдо задним числом. Unreal — кухня мишленовского класса: лучшее оборудование под высокую 3D-кухню, но тяжёлая, и хозяин берёт процент с выручки ресторана сверх миллиона. Godot — кухня, собранная тобой по открытому чертежу: меньше готовых полуфабрикатов, зато она твоя навсегда, бесплатна и любую стену можно снести.
Почему это важно
Выбор движка — одно из самых рычажных и трудно-обратимых ранних решений: он задаёт потолок графики, охват платформ, кого нанимать, структуру расходов и степень зависимости от поставщика. Это не «какой технологически круче», а buy-vs-build плюс управление зависимостью: сколько ты готов отдать за тысячу решённых проблем и какой ценой контроля. Тот же выбор стоит перед инженером всюду, где есть удобный вендор и open-source-альтернатива.
🔁 За пределами игр — куда это переносится
Урок — это buy-vs-build и риск зависимости от вендора: берёшь готовую платформу за скорость, но наследуешь её условия, или катишь своё ради контроля.

ML / AI (твой домен): выбор движка ⇄ выбор фреймворка и провайдера модели. Закрытый API (OpenAI/Anthropic) = Unity/Unreal: быстро, мощно, но вендор может задним числом сменить цену, лимиты или депрекейтнуть модель под тобой — это ровно Runtime Fee для ML-команды. Open-weights, которые ты хостишь сам (Llama, Mistral) = Godot: дороже по своим рукам и инфре, но «движок твой» — нет рагпула, можно форкнуть и зафайнтюнить. PyTorch vs JAX vs свой training loop, CUDA vs голый GPU — та же ось «абстракция и удобство против контроля и потолка». Главный риск-урок Unity: закладываясь на чужую платформу, ты закладываешься на её будущие условия, а не только на сегодняшние.

Софт / инфра: фреймворк (React/Rails) vs своё; managed-облако (AWS/Vercel) vs self-host — vendor lock-in, стоимость переключения, риск изменения тарифов и ToS.

Бизнес: SaaS-подписка vs revenue-share vs покупка лицензии — тот же кроссовер «фикс против доли от успеха»; due diligence по поставщику = оценка, может ли он переписать контракт под тобой.

Принцип: зависимость — это не цена сегодня, а право контрагента менять правила завтра. Считай не только стоимость, но и обратимость и кто держит рубильник.

🔧 Запусти и поковыряй — на домашнем компе
Во что играть — выше (🕹). Здесь — открыть редактор и увидеть «движок = редактор + сцена + компоненты» руками.
🔧 Поковырять (debug) ~40 мин, Godot или Unity
Скачай Godot (бесплатно, ~50 МБ, без аккаунта) и открой любой demo-проект. Разверни дерево сцены и поставь спрайт + CharacterBody2D + скрипт — увидишь композицию «нода + компоненты + поведение». Сравни с Unity: тот же объект — это GameObject с навешанными компонентами в инспекторе. Найди игровой цикл: в Godot это _process(delta) и _physics_process(delta) — буквально render-тик и физ-тик из первого урока, которые движок крутит за тебя.
🧪 Потестить (глазами архитектора) ~15 мин
Возьми 5 игр из своей библиотеки и определи движок (сплэш / титры / SteamDB → Technology). Найди корреляцию: какой жанр/картинка на каком движке? Затем мини-due-diligence: для своего гипотетического проекта пройди пять осей выбора (графика/платформы/команда/деньги/риск) и обоснуй движок — и отдельно ответь, что будет, если вендор завтра поднимет цену вдвое.
Чеклист: собрал объект из нод/компонентов в редакторе; нашёл игровой цикл движка (_process); определил движок у 5 игр; прошёл 5 осей выбора + сценарий «вендор сменил условия».
Связи
основа
Игровой цикл — то, что движок прячет за твоими Update()/_process(); теперь видно, кто крутит цикл.
основа
Железо-ограничения — пайплайн ассетов движка автоматизирует ровно ту работу (атласы, форматы, сжатие), что в 80-х делали руками.
контраст
ECS и data-oriented — что под капотом компонентной модели; Unity DOTS — её доведение до раскладки данных.
дальше
PBR-рендеринг — UE4 (2014) и Unity (2015) сделали PBR стандартом; движок и определил, какие материалы ты вообще авторишь.
Вопросы пытливого ума
Если Godot бесплатный и open-source, почему все не переехали с Unity?
Бесплатный движок ≠ нулевая полная стоимость. Держат сетевые эффекты: зрелый Asset Store, рынок труда (вакансий на Unity/Unreal на порядок больше), готовые SDK рекламы/аналитики/консолей, тонны туториалов. Плюс 3D и консольный тулинг Godot пока отстают от UE, а переезд = переписать почти всё. Поэтому отток после 2023 реальный, но это сдвиг доли, а не исход: люди уходят на новых проектах, а не переносят живые.
Почему Unreal берёт роялти, а Unity — подписку? Что объективно выгоднее?
Это разные ставки на тебя. Роялти = Epic зарабатывает с твоего успеха и ничего — пока ты под $1 млн: идеально для инди и одиночного блокбастера, дорого при гигантской стабильной выручке (3.5% с сотен миллионов). Подписка = фикс вне зависимости от исхода: дёшево при большом тираже и многомиллионной выручке, больно при провале и при раздутой команде (платишь за места). Кроссовер: считаешь ожидаемую выручку × вероятность против числа мест × цены. Нет «лучше» — есть «под твой профиль риска».
Runtime Fee был копеечный для большинства. Почему индустрию так разорвало?
Дело не в сумме, а в трёх вещах разом: фи ретроактивный (на уже выпущенные игры, под которые бизнес уже построен), по инсталлам (метрика, не привязанная к доходу — переустановки, демки, пиратство могли начислять плату сверх выручки) и в одностороннем порядке. Это сломало базовое доверие: «движок, на котором стоит мой бизнес, не переоценит мою прошлую работу задним числом». Нарушили именно этот инвариант — отсюда взрыв, отставка CEO и отмена через год. Урок не про Unity, а про природу зависимости от вендора.
Зачем вообще движок — почему не написать свой, как делал Кармак?
Свои движки есть (id Tech, Decima, RE Engine, Frostbite) — ради контроля и экстремальной производительности под конкретный тип игры. Но цена не в рендере (его пишут за недели), а в редакторе, пайплайне ассетов, портировании под платформы и годах вылизывания — это сотни человеко-лет. Движок продаёт именно тысячу решённых проблем и редактор, а не графику. Поэтому своё могут позволить крупные студии с потоком проектов, а остальным дешевле арендовать кухню.
Движок правда диктует, какой получится игра?
В заметной степени — да, через «что делать легко». Unreal тянет к кинематографичному 3D (его тулинг и Nanite/Lumen заточены под это), Godot — к лёгкому 2D, Unity — к мобильному и собранному из Asset Store. Инструмент формирует путь наименьшего сопротивления, и команды по нему скользят (закон инструмента: «с молотком всё кажется гвоздём»). Поэтому выбор движка — это отчасти выбор жанра и эстетики, а не только технологии.
Что почитать