Куб превращается в город: школьный игровой движок и интеллектуальный ИИ-ассистент
Обратите внимание: этот материал публикуется впервые и ранее нигде не размещался, включая личные блоги, социальные сети и другие платформы.
Пролог на 3 033 знака (да, я посчитал)
Меня зовут Владимир Летуновский, и у меня есть две особенности.
Первая: мне тринадцать, и я искренне считаю, что vkCmdPipelineBarrier— это идеальный подарок на день рождения.
Вторая: все вокруг уверены, что школьники должны играть в Fortnite или — на худой конец — делать домашку, а я вместо этого выращиваю собственный игровой движок на C++ 20 + Vulkan 1 .3, да ещё и обучаю мультимодальную LLM, которая сама дорисовывает уровни, когда я просто ставлю в редакторе куб.
Если вкратце, мой типичный диалог с взрослым выглядит так:
— «Вова, сколько будет дважды два?»
— «Четыре. А теперь скажи, зачем Unity попросил Runtime Fee?»
— «Мы об этом потом поговорим. Ты лучше в футбол сходи.»
— «Схожу, когда починюVK_ERROR_OUT_OF_DEVICE_MEMORY. Футбол подождёт.»
Так и живу: днём — контрольная по биологии, ночью — контроль каденций в кластере Ray + DeepSpeed. А теперь устройство всего этого безобразия — в одном, максимально длинном и честном рассказе.
Глава 1. Биография в стиле commit log
-
v0.1.0 (7 лет): собрал первый «домик» в Blender, рендерил Cycles 40 минут.
-
v0.2.0 (8 лет): MonoGame, C#, FPS = 10, радость = ∞.
-
v0.3.7 (10 лет): OpenGL. Выучил, что «gl» — это не «good luck».
-
v0.4.2 (11 лет): «А давайте на Vulkan?» — слова, которые сломали видеокарту папы.
-
v0.9.0 (13 лет, текущий мастер): MIA Engine NEO, собственный ECS, GUI-редактор, мультимодальная LLM 5 B, Vision-CNN, Async Compute, таймлайн-семафоры, и ещё уроки по химии где-то между коммитами.
Глава 2. Почему всё-таки не Unity, не Unreal и даже не Godot
-
Unity объявил Runtime Fee. У меня лично даже карманных денег хватит ровно на два билда и один хот-фикс.
-
Unreal Engine 5 — шикарно, но 300 ГБ исходников — это примерно столько же, сколько весит моя школа, если её измерять в PDF-презентациях.
-
Godot — сердечко, но не даёт потрогать
VkPipelineBarrierтак, чтобы validation-layer орал CAPS-LOCK’ом.
Поэтому: «сам себе кузнец — сам себе движок».
Глава 3. Архитектура: салфетка, ручка, 5 000 строчек кода
3.1. Поток данных
GLTF/PNG/WAV → Importer → ResourceMgr
↓
ECS World ← Lua/Python Host ← LLM 5 B (+ Vision CNN)
↓
Vulkan Backend → Swapchain → Ваш монитор
-
Importer превращает любые ассеты в собственный .asn (binary + meta.json).
-
ResourceMgr крутит граф зависимостей; staging буфер 256 МБ, копии в VRAM идут в DMA.
-
ECS — чанки ровно 4 КБ, SoA layout,
std::barrier-job-пул на 6 потоков. -
Vision CNN смотрит на downsample G-Buffer 128² + семантику, выдаёт 32 K токенов.
-
LLM 5 B читает prompt + vision-токены + историю сцен, генерирует JSON DSL, Lua-код, wav-реплики.
-
Vulkan Backend (deferred + clustered lighting + TAA + HBAO) выдаёт картинку; новая рамка снова уходит в CNN. Замкнутый круг счастья.
3.2. Render-цифры
-
G-Buffer: pos+rough (R16F+R8), normal A2B10G10R10, emissive R11G11B10F.
-
Clustered lighting: 8×8×24 клеточки, 8 000 лампочек на RTX 4090 — минус 4 % FPS.
-
PostFX: HBAO (~0.6 мс), CAS-Sharpen, LUT-тонмап. RayQuery включаю по праздникам.
Глава 4. ECS: как заставить процессор не скучать
-
Chunk = 4 096 байт → идеально делится на кеш-линию 64 б.
-
EntityID = index 24 бита | generation 8 бит — дырок не остаётся.
-
Удаление O(1): swap-last + free-list.
-
Показатель плотности после хаоса (“поджёг город, удалил 10 k объектов”) — 0.92.
-
Тик 1 000 NPC на Ryzen 5600:
-
однопоток — 4.7 мс
-
job-пул — 1.3 мс
-
Глава 5. Vision CNN + LLM 5 B: «Я вижу сцену, значит, понимаю»
-
Движок снимает G-Buffer 128² и семантическую маску.
-
CNN (8 ResBlocks) превращает это в поток из 32 000 токенов.
-
LLM читает prompt + vision + предыдущие AST-команды и решает, что добавить.
-
Генерирует:
-
JSON DSL (entities, materials, lights),
-
Lua-код (AI, квест-триггеры),
-
wav-файлы реплик (HiFi-GAN).
-
Latency: 2.6 с на RTX 4090, 1.4 с на A100 (bf16).

Глава 6. Из чего обучен копилот
|
Источник |
GB |
Лицензия |
|---|---|---|
|
Процедурные сцены |
30 |
CC0 (собственная генерация) |
|
GLTF/PNG (OpenGameArt) |
12 |
CC0 |
|
Lua/Python (OSS-игры) |
11 |
MIT / Apache |
|
Квест-тексты, диалоги |
5 |
CC-BY-SA → отфильтровано |
|
WAV (FreeSound CC0) |
3 |
CC0 |
-
24 слоя,
d_model = 3072, Rotary PE, Flash-Attn 2. -
DeepSpeed ZeRO-3, bf16, 1 × A100 40 GB → 73 GPU-часа.
-
Loss DSL 1.04, MOS аудио 3.8/5.

Глава 7. Лицензия и деньги, без фокусов
Движок MIA Engine NEO
-
Открытый исходник, но исключительно для личного изучения.
-
Менять и продавать модифицированную версию движка нельзя.
-
Делать и продавать игры, если ядро оригинальное — можно.
Autopilot Dev Pipeline
-
Публичный playground — 30 запросов в час бесплатно.
-
Hobby-ключ — 5 $/мес, только личные проекты, watermark.
-
Коммерческая лицензия (инди с профитом до 100 k $/год) появится ближе к релизу.
-
Любая коммерция без лицензии запрещена.
GPU скучают без электричества, поэтому такая схема — честный компромисс: ядро остаётся открытым, копилот помогает финансировать A100 и еду (а иногда — химию в школе).
Глава 8. Benchmark-таблица — кому важны цифры
|
Тест |
RTX 2060 6 GB |
RTX 4090 24 GB |
A100 40 GB |
|---|---|---|---|
|
50 k tris, postFX вкл. |
98 FPS |
180 FPS |
195 FPS |
|
Prompt → Scene (LLM + render) |
14 с |
2.6 с |
1.4 с |
|
Vision-CNN 128² |
32 мс |
7 мс |
5 мс |

Глава 9. Планы, более реальные, чем школьный обед
-
15 июля 2025 — MIT-alpha: рендер, ECS, Lua, GUI-редактор.
-
3 сентября 2025 — LoRA 8-bit, веб-playground.
-
Ноябрь 2025 — воркшоп «Text-to-Game за 60 мин», Ray-автоскейл.
-
Декабрь 2025 — Steam-playtest «Пельмень-Крафт»: если игрок AFK, AI строит завод пельменей.
Глава 10. Как помочь проекту
-
GitHub — https://github.com/LetunovskiyODT/MIA-ENGINE (код не выложу до официальной беты).
-
Telegram — @infernasel — шлите идеи, баги, пельмени-мемы.
-
E-mail — letunovskiu2011@yandex.ru — если у вас без дела скучает A100 40 GB, я заберу, подпишу в титрах.
Эпилог
Я ставлю один куб и пишу «alien jungle, bioluminescence».
Копилот видит — ага, куб в бесплодном пространстве, вокруг темень.
Через 2 секунды экран оживает: светящиеся деревья, туман, NPC-учёный с репликой «Соберите споры!».
В этот момент не важно, какие бюрократы где нажали «профилактика». Важно, что мечта «один куб → целый мир» работает на GPU здесь и сейчас.
Следующий куб — ваш. Я жду, чем его удивите вы.
— Владимир Летуновский, школьный Vulkan-садовод, 2025 год.
Тим Суини снова раскритиковал Valve за правила Steam о раскрытии использования ИИ-технологий и назвал их отвратительными
Denuvo не уберегла Final Fantasy Resonance от взлома: защиту обошли спустя сутки
Фанатский порт культового шутера BLACK вышел на Android
К «Охоте на Голлума» присоединился ещё один актёр из «Властелина колец», сыгравший убийцу Боромира
Faith Studio начала принимать предзаказы на неофициальную статую Изумрудного Вестника из Dark Souls II
Дженна Ортега объяснила, почему хочет отказаться от сериалов после «Уэнздей»
Полнометражный «Первородный грех Такопи», который называют лучшей аниме-драмой 2025 года, получил новый трейлер
Режиссёр Питер Берг рассказал о своём подходе к экранизации Call of Duty, которая не будет бездумным боевиком