Движки: Unity / Unreal / Godot
Механизм: что такое движок и из чего выбираешь
В модулях 1–4 ты собирал примитивы вручную: игровой цикл, fixed-point, коллизии, нетокод. Движок — это коробка, где всё это уже сделано и связано редактором. Что он реально даёт:
- Рантайм: игровой цикл (тот самый, спрятанный за твоими
Update()), рендер-конвейер, физика, аудио, ввод. - Пайплайн ассетов: импорт моделей/текстур/звука, атласы, сжатие, форматы под каждую платформу.
- Сцена и сущности: дерево объектов + компоненты/ноды, сериализация уровней, префабы.
- Редактор: вьюпорт, инспектор, профайлер, отладчик — это и есть главный продукт, а не рендер.
- Сборка и деплой: один проект → PC, консоли, iOS, Android, web. Портирование — самая дорогая задача, которую движок закрывает.
Поэтому «написать свой движок» ≠ «написать рендер»: рендер — недели, а редактор + пайплайн + порты под платформы + годы вылизывания — это и есть стоимость. Своё пишут ради контроля или экстремальной производительности (id Tech, Decima, RE Engine), но мало кто может себе это позволить.
Три движка — что даёт каждый
| Ось | Unity | Unreal | Godot |
|---|---|---|---|
| Язык | C# | C++ + Blueprints | GDScript / 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):
Игра собрала $3 млн. Unreal: 0.035·(3−1) млн = $70k (разово, и $0 пока не перевалил за миллион). Unity: подписка не зависит от дохода — скажем, 5 мест × ≈$2 000/год = ≈$10k/год всё время разработки, хоть продал ты на $0, хоть на $30 млн. Godot: $0. Вывод: роялти выгодно, если доход скромный или один большой хит (платишь с успеха); подписка выгодна на больших тиражах (фикс при огромной выручке), но бьёт, если игра провалилась — платишь всё равно; open-source снимает деньги-ось целиком, перекладывая всё на «сам себе поддержка».
🕹 В какие игры поиграть — и что заметить
Движок видно по сплэш-экрану, титрам или тегу на SteamDB. Сыграй по одному титулу на движок и заметь корреляцию движок ↔ жанр/картинка — она не случайна: инструмент задаёт, что делать легко.
Дом инди и мобилок. Один кодбейз на C# едет на PC, консоли, iOS, Android; Asset Store закрывает то, что команда не успевает сделать сама. Отсюда лавина 2D/3D-инди и мобильных хитов (Pokémon GO — тоже Unity).
🎮 Сыграй: запусти Hollow Knight или Cuphead и заметь сплэш «Made with Unity» на старте. Потом на SteamDB любой игры открой вкладку Technology — увидишь движок. Прикинь, сколько игр в твоей библиотеке на Unity; почти всегда это инди и мобилки.
Когда нужна картинка. Black Myth: Wukong (2024) и Clair Obscur: Expedition 33 (2025) — витрина UE5: Nanite тащит геометрию из миллионов полигонов без ручных LOD, Lumen считает динамический свет без запечённых лайтмапов. Fortnite — флагман самого Epic.
🎮 Сыграй: зайди в любую UE5-игру и поищи в настройках Nanite и Lumen; включи/выключи Lumen — увидишь, как пропадает динамическое непрямое освещение и сцена становится «плоской». Заметь характерный UE-логотип на загрузке.
Лёгкий, 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 убирает это право (форкнул — и условия больше никто не тронет); проприетарный — оставляет.
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 по поставщику = оценка, может ли он переписать контракт под тобой.
Принцип: зависимость — это не цена сегодня, а право контрагента менять правила завтра. Считай не только стоимость, но и обратимость и кто держит рубильник.
CharacterBody2D + скрипт — увидишь композицию «нода + компоненты + поведение». Сравни с Unity: тот же объект — это GameObject с навешанными компонентами в инспекторе. Найди игровой цикл: в Godot это _process(delta) и _physics_process(delta) — буквально render-тик и физ-тик из первого урока, которые движок крутит за тебя.Если Godot бесплатный и open-source, почему все не переехали с Unity?
Почему Unreal берёт роялти, а Unity — подписку? Что объективно выгоднее?
Runtime Fee был копеечный для большинства. Почему индустрию так разорвало?
Зачем вообще движок — почему не написать свой, как делал Кармак?
Движок правда диктует, какой получится игра?
- Ретроспективы Unity Runtime Fee (сент. 2023 → отмена сент. 2024) — MobileGamer.biz, GamesIndustry.biz: разбор саги и реакции.
- Godot docs + Godot Foundation — устройство дерева нод и серверов; статистика роста после 2023.
- Unreal Engine — официальная страница лицензии (роялти 3.5%/$1 млн, per-seat для не-игр) + доки по Nanite/Lumen.
- Jason Gregory, «Game Engine Architecture» — что именно собрано внутри движка (рантайм, пайплайн, тулинг).
- GMTK Game Jam — публичная статистика движков по заявкам (наглядный сдвиг долей 2023–2025).
- Модуль 5, «Unity & Indie Engine Accessibility» (
05-hd-era-indie-revolution-2005-2012.md).