Сегодня в 21:00 по Москве Epic покажет, как один человек собрал сетевую игру на Blueprint за семь дней
В эфире Inside Unreal Кристофер Мэйн разберёт свой рабочий процесс: онлайн-игра в жанре puzzle extraction, ретро-эстетика, мультиплеер, всё на Blueprints без C++. Заявлены концепт, 3D-моделирование и риггинг, анимация, текстуры и звук, то есть полный пайплайн от идеи до сетевого прототипа за неделю. Анонс и ссылка на трансляцию на форуме Epic.
Это анонс, а не отчёт: как поведёт себя такой прототип под нагрузкой и что пришлось выкинуть ради срока, узнаем только в эфире. Если делаете сетевой прототип в одиночку, час на этот стрим окупится хотя бы списком того, чего не делать :)
@make_game
В эфире Inside Unreal Кристофер Мэйн разберёт свой рабочий процесс: онлайн-игра в жанре puzzle extraction, ретро-эстетика, мультиплеер, всё на Blueprints без C++. Заявлены концепт, 3D-моделирование и риггинг, анимация, текстуры и звук, то есть полный пайплайн от идеи до сетевого прототипа за неделю. Анонс и ссылка на трансляцию на форуме Epic.
Это анонс, а не отчёт: как поведёт себя такой прототип под нагрузкой и что пришлось выкинуть ради срока, узнаем только в эфире. Если делаете сетевой прототип в одиночку, час на этот стрим окупится хотя бы списком того, чего не делать :)
@make_game
🗿6🔥1🤨1
Бесплатные ассеты рассортировали по тому, насколько опасно тащить их в коммерческую игру
Скачать бесплатно и иметь право продать игру с этим внутри две разные вещи, и ловит людей именно лицензия. Автор поста в r/gamedev собрал каталог по уровням риска. Самый спокойный ярус, CC0 и public domain без обязательного указания авторства: Poly Haven (модели, текстуры, HDRI), ambientCG (тысячи PBR-материалов без аккаунта), Kenney (3D-наборы, спрайты, UI, аудио), Quaternius (low-poly, многое уже под риг).
Смешанные лицензии, где условия меняются от файла к файлу: Sketchfab, OpenGameArt, itch.io, где правила задаёт конкретный автор. Со звуком отдельное предупреждение: на бесплатных аудиосайтах рядом с CC0 попадаются перезалитые дорожки из фильмов, игр и YouTube; Freesound смешивает CC0 и CC BY, а бандлы Sonniss с GDC названы профессиональными и чистыми по лицензии. В конце бесплатный софт (Blender, Godot, Krita, Blockbench, Pixelorama, Material Maker) и учебные ресурсы. Автор раскрыл, что два ресурса из списка принадлежат ему, и обещает поддерживать список.
@make_game
Скачать бесплатно и иметь право продать игру с этим внутри две разные вещи, и ловит людей именно лицензия. Автор поста в r/gamedev собрал каталог по уровням риска. Самый спокойный ярус, CC0 и public domain без обязательного указания авторства: Poly Haven (модели, текстуры, HDRI), ambientCG (тысячи PBR-материалов без аккаунта), Kenney (3D-наборы, спрайты, UI, аудио), Quaternius (low-poly, многое уже под риг).
Смешанные лицензии, где условия меняются от файла к файлу: Sketchfab, OpenGameArt, itch.io, где правила задаёт конкретный автор. Со звуком отдельное предупреждение: на бесплатных аудиосайтах рядом с CC0 попадаются перезалитые дорожки из фильмов, игр и YouTube; Freesound смешивает CC0 и CC BY, а бандлы Sonniss с GDC названы профессиональными и чистыми по лицензии. В конце бесплатный софт (Blender, Godot, Krita, Blockbench, Pixelorama, Material Maker) и учебные ресурсы. Автор раскрыл, что два ресурса из списка принадлежат ему, и обещает поддерживать список.
@make_game
✍3👍1
Разработчик с двадцатилетним стажем прошёл всю Gamescom и записал, куда смещается рынок
Восемь дней, больше 1700 экспонентов, 70% из-за пределов Германии, инди-зона выросла на 16% до 420 студий; официальная пресс-служба потом насчитала 368 тысяч посетителей из 131 страны. На этом фоне автор описывает главное ощущение инди: внимание стало самым дефицитным ресурсом, и маленький стенд конкурирует не с соседом, а с тридцатиминутным роликом GTA VI, вышедшим прямо во время выставки, и с How To Fish, продавшей миллион копий за два дня.
Из трендов: аутсорс-разработка и сервисные подрядчики растут, студии из Саудовской Аравии нанимают западных ветеранов удалённо, а спрос на ИИ, по словам автора, поднимает цены на игровое железо. Из бытового: у инди-команд украли ноутбуки из запертого шкафа в холле 4.1. Если планируете выставку в следующем году, пост стоит прочитать до бронирования стенда.
@make_game
Восемь дней, больше 1700 экспонентов, 70% из-за пределов Германии, инди-зона выросла на 16% до 420 студий; официальная пресс-служба потом насчитала 368 тысяч посетителей из 131 страны. На этом фоне автор описывает главное ощущение инди: внимание стало самым дефицитным ресурсом, и маленький стенд конкурирует не с соседом, а с тридцатиминутным роликом GTA VI, вышедшим прямо во время выставки, и с How To Fish, продавшей миллион копий за два дня.
Из трендов: аутсорс-разработка и сервисные подрядчики растут, студии из Саудовской Аравии нанимают западных ветеранов удалённо, а спрос на ИИ, по словам автора, поднимает цены на игровое железо. Из бытового: у инди-команд украли ноутбуки из запертого шкафа в холле 4.1. Если планируете выставку в следующем году, пост стоит прочитать до бронирования стенда.
@make_game
✍4😭1
Свой движок сегодня у 13% релизов на Steam, но на них приходится 43% проданных копий
Цифры из VGInsights: в 2024 году собственный движок использовали примерно 13% релизов на Steam против 71% в 2012-м. Тренд выглядит окончательным, и разговор на этом обычно заканчивается.
Не заканчивается. На эти 13% пришлось 43% проданных копий. Да, в основном это AAA с собственными технологиями, но цифра показывает, что своя технология до сих пор может окупаться, а не только тешить самолюбие.
Прежде чем отвечать на «зачем», автор берётся определить, что вообще считать движком, и термин оказывается настолько широким, что под него подводили даже Claude Code: сцена собирается каждый кадр, раскладывается по элементам, растеризуется и диффится с предыдущей.
Это первая часть серии, дальше обещают практику. Читать стоит, если мысль про свой движок у вас периодически всплывает и вы её каждый раз гоните.
Цифры из VGInsights: в 2024 году собственный движок использовали примерно 13% релизов на Steam против 71% в 2012-м. Тренд выглядит окончательным, и разговор на этом обычно заканчивается.
Не заканчивается. На эти 13% пришлось 43% проданных копий. Да, в основном это AAA с собственными технологиями, но цифра показывает, что своя технология до сих пор может окупаться, а не только тешить самолюбие.
Прежде чем отвечать на «зачем», автор берётся определить, что вообще считать движком, и термин оказывается настолько широким, что под него подводили даже Claude Code: сцена собирается каждый кадр, раскладывается по элементам, растеризуется и диффится с предыдущей.
Это первая часть серии, дальше обещают практику. Читать стоит, если мысль про свой движок у вас периодически всплывает и вы её каждый раз гоните.
Elias Farhan
Soup Raiders Goes Native: What You Gain by Building Your Own Game Engine
According to VGInsights, about 13% of games released on Steam in 2024 used a custom engine, down from 71% in 20121. So looking at this trend, why should anybody try to make their own game engine? Video Game Insights, The Big Game Engines Report of 2025. …
👀2
Epic выложила запись стрима о том, что MCP уже умеет внутри редактора Fortnite
Model Context Protocol это способ дать ИИ-агенту доступ к инструментам программы, и Epic встроила его в UEFN, редактор для Fortnite Creative. В записи эфира Магнус Энебакк, евангелист языка Verse, показывает базовые сценарии и всё, что MCP на сегодня умеет делать в редакторе. Ссылка на запись на форуме Epic, сама трансляция доступна по fn․gg/mcp-uefn-stream.
Если вы не делаете карты для Fortnite, смотреть всё равно есть зачем: UEFN построен на Unreal Engine со своим набором возможностей и ограничений, и по нему видно, какие операции редактора Epic считает безопасными для агента, а какие нет. Это подсказка о том, куда пойдёт MCP в большом Unreal Editor :)
@make_game
Model Context Protocol это способ дать ИИ-агенту доступ к инструментам программы, и Epic встроила его в UEFN, редактор для Fortnite Creative. В записи эфира Магнус Энебакк, евангелист языка Verse, показывает базовые сценарии и всё, что MCP на сегодня умеет делать в редакторе. Ссылка на запись на форуме Epic, сама трансляция доступна по fn․gg/mcp-uefn-stream.
Если вы не делаете карты для Fortnite, смотреть всё равно есть зачем: UEFN построен на Unreal Engine со своим набором возможностей и ограничений, и по нему видно, какие операции редактора Epic считает безопасными для агента, а какие нет. Это подсказка о том, куда пойдёт MCP в большом Unreal Editor :)
@make_game
🎉1
Godot против движка, о котором вы, скорее всего, не слышали
Limn Engine открытый, бесплатный, дружелюбный к новичку и умеет 2D. Ровно как Godot, и на этом сходство заканчивается.
Сравнение построено вокруг того, чем они на самом деле различаются, и автор не назначает победителя. Godot известен и оброс экосистемой, Limn моложе и компактнее, и второе не автоматически хуже.
Полезно, если присматриваетесь ко второму движку под небольшой проект и не хотите тащить туда тяжёлый инструмент просто потому, что он под рукой.
Limn Engine открытый, бесплатный, дружелюбный к новичку и умеет 2D. Ровно как Godot, и на этом сходство заканчивается.
Сравнение построено вокруг того, чем они на самом деле различаются, и автор не назначает победителя. Godot известен и оброс экосистемой, Limn моложе и компактнее, и второе не автоматически хуже.
Полезно, если присматриваетесь ко второму движку под небольшой проект и не хотите тащить туда тяжёлый инструмент просто потому, что он под рукой.
DEV Community
⚔️ Godot vs Limn Engine: Which One Should You Choose?
⚔️ Godot vs Limn Engine: Which One Should You Choose? A Brutally Honest Comparison of Two...
1❤1👏1
Расставить деревья случайно, но чтобы не налезали друг на друга: алгоритм Бридсона и две его оптимизации
Задача из любого процедурного леса, россыпи камней или системы частиц: точки должны быть случайными, но не ближе заданного радиуса. Наивный вариант, кидать точки и отбрасывать близкие, быстро упирается в почти стопроцентный процент отказов. Джастин Стайнман разбирает одностраничный алгоритм Роберта Бридсона 2007 года, у которого почти тысяча цитирований: сетка с ячейкой
Дальше две простые доработки. Для 2D: точка помнит родителя и не тратит попытки на сектор кольца, где заведомо слишком близко к нему. Вторая работает и в 3D. Есть объяснение, как равномерно сэмплировать кольцо и почему
@make_game
Задача из любого процедурного леса, россыпи камней или системы частиц: точки должны быть случайными, но не ближе заданного радиуса. Наивный вариант, кидать точки и отбрасывать близкие, быстро упирается в почти стопроцентный процент отказов. Джастин Стайнман разбирает одностраничный алгоритм Роберта Бридсона 2007 года, у которого почти тысяча цитирований: сетка с ячейкой
r / sqrt(d), где в каждой ячейке не больше одной точки, активный список и до 30 попыток на кольце от r до 2r вокруг каждой точки.Дальше две простые доработки. Для 2D: точка помнит родителя и не тратит попытки на сектор кольца, где заведомо слишком близко к нему. Вторая работает и в 3D. Есть объяснение, как равномерно сэмплировать кольцо и почему
2r * x^(1/d) на случайном единичном векторе при x, равномерном на отрезке от 1/2^d до 1, даёт правильное распределение, и пример на GPU. Метод старый, разбор свежий, применять можно в любом движке.@make_game
❤2👍1
Трое выходцев из Epic делают движок, который можно дописывать кодом, а не скриптами
Unity и Unreal сделали примерно 70% релизов на Steam в 2025 году, и место для нового движка звучит как утопия. Арьян Бруссе, Сьорд Де Йонг и Михал Валиент, за плечами которых Epic Games, Guerrilla и Apple, считают иначе: возможность появилась только сейчас.
При этом речь не про генерацию игр промптами. Валиент, технический директор Immens, формулирует прямо: ИИ здесь про расширяемость. Кодовая база проектируется так, чтобы модель хорошо рассуждала о ней целиком.
Идея в том, что маленькая команда или одиночка приходит и дописывает себе, скажем, собственную систему частиц, вместо того чтобы скриптовать поверх чужих решений и упираться в то, что наружу не вынесено.
Проверить обещание пока нельзя, но заявка редкая: последние годы новые движки заходили через удобство, а не через открытость внутренностей.
Unity и Unreal сделали примерно 70% релизов на Steam в 2025 году, и место для нового движка звучит как утопия. Арьян Бруссе, Сьорд Де Йонг и Михал Валиент, за плечами которых Epic Games, Guerrilla и Apple, считают иначе: возможность появилась только сейчас.
При этом речь не про генерацию игр промптами. Валиент, технический директор Immens, формулирует прямо: ИИ здесь про расширяемость. Кодовая база проектируется так, чтобы модель хорошо рассуждала о ней целиком.
Идея в том, что маленькая команда или одиночка приходит и дописывает себе, скажем, собственную систему частиц, вместо того чтобы скриптовать поверх чужих решений и упираться в то, что наружу не вынесено.
Проверить обещание пока нельзя, но заявка редкая: последние годы новые движки заходили через удобство, а не через открытость внутренностей.
GamesIndustry.biz
Three Epic veterans are building an AI-powered game engine to break the industry's doom cycle
Amid mounting discontent with Unity and Unreal, Immens promises lower costs and faster development for small teams
🤔7😁1😢1
Движок на C++20 с Vulkan, ECS и обработкой событий без блокировок
Аргументация автора против готовых движков конкретная: пустой стартовый проект в современном движке компилируется в сотни мегабайт бинарных зависимостей, а объектная иерархия вида Actor, Pawn, Character разбрасывает данные сущностей по куче и стабильно промахивается мимо кешей L1 и L2.
Eisen Engine отвечает на это архитектурой: явные абстракции рендера над Vulkan и OpenGL, система сущностей и компонентов с выравниванием под кеш-линию, диспетчеризация событий без блокировок и тик-цикл, рассчитанный на ИИ-нагрузку.
Разбор интересен как чертёж: видно, какие решения принимаются, когда за спиной нет чужого рантайма.
Аргументация автора против готовых движков конкретная: пустой стартовый проект в современном движке компилируется в сотни мегабайт бинарных зависимостей, а объектная иерархия вида Actor, Pawn, Character разбрасывает данные сущностей по куче и стабильно промахивается мимо кешей L1 и L2.
Eisen Engine отвечает на это архитектурой: явные абстракции рендера над Vulkan и OpenGL, система сущностей и компонентов с выравниванием под кеш-линию, диспетчеризация событий без блокировок и тик-цикл, рассчитанный на ИИ-нагрузку.
Разбор интересен как чертёж: видно, какие решения принимаются, когда за спиной нет чужого рантайма.
DEV Community
Building Eisen Engine: Architecture of a Custom C++20 Game Engine from Scratch (Vulkan, ECS & AI Subsystems)
An exhaustive architectural breakdown of building Eisen Engine in modern C++20: explicit Vulkan 1.3 rendering pipelines, cache-aligned ECS data locality, and embedded AI-native subsystems at 60 FPS.
❤3👎1
Физика, стеклянные деформации и процедурный звук в одном эксперименте на WebGPU
Франк Райтбергер с появлением
В сцене сходятся три вещи: физика, деформации стекла и процедурно генерируемый звук. Последнее в браузерных демках встречается редко, и именно связка звука с симуляцией отличает эксперимент от обычного шейдерного этюда.
Компактный образец того, на что уже сегодня годится WebGPU в связке с TSL, без разрастания в полноценный проект.
Франк Райтбергер с появлением
WebGPURenderer и TSL сознательно перевёл свои эксперименты на новый стек, чтобы публиковать их уже на современной технологии. «Садовая аномалия» один из них.В сцене сходятся три вещи: физика, деформации стекла и процедурно генерируемый звук. Последнее в браузерных демках встречается редко, и именно связка звука с симуляцией отличает эксперимент от обычного шейдерного этюда.
Компактный образец того, на что уже сегодня годится WebGPU в связке с TSL, без разрастания в полноценный проект.
Codrops
Garden Anomaly: A Tiny WebGPU and TSL Experiment | Codrops
A tiny WebGPU and TSL experiment, tinkering with physics, deformations, and procedural audio, all tied together inside a sphere to play with.
👍3❤1🤔1💋1
Forwarded from Zen of Python
EVE Online начала переезд на Python 3 после двух десятилетий на второй ветке
Под каждым прыжком через гейт, каждым ордером на рынке и каждым флитфайтом в EVE лежит очень много Python. Он держит New Eden больше двадцати лет, и теперь CCP объявила о начале перехода на третью ветку.
Формулировка успеха у команды показательная: миграция должна пройти совершенно незаметно, если не считать моментов, когда что-то начнёт работать глаже. Первые шаги уже выкачены на тестовый сервер Singularity.
Это редкий публичный кейс переезда живого продакшена такого возраста. Обещают в итоге более быстрый поиск багов, место под новые фичи и общее ускорение, но дорога, по их же словам, длинная.
Под каждым прыжком через гейт, каждым ордером на рынке и каждым флитфайтом в EVE лежит очень много Python. Он держит New Eden больше двадцати лет, и теперь CCP объявила о начале перехода на третью ветку.
Формулировка успеха у команды показательная: миграция должна пройти совершенно незаметно, если не считать моментов, когда что-то начнёт работать глаже. Первые шаги уже выкачены на тестовый сервер Singularity.
Это редкий публичный кейс переезда живого продакшена такого возраста. Обещают в итоге более быстрый поиск багов, место под новые фичи и общее ускорение, но дорога, по их же словам, длинная.
EVE Online
The Move to Python 3 Begins! | EVE Online
How do you migrate 2.4 million lines of code?
💊1
Unity расспросила инди-разработчицу, как она на самом деле пользуется Copilot
Своих ИИ-инструментов у Unity теперь хватает: ассистент прямо в редакторе и интеграции с привычным инструментарием вышли в бету. Тем интереснее, что компания отдельно поговорила про чужой инструмент.
Собеседница выбрана не случайно: Стейси Хаффнер была principal developer advocate в Microsoft, ведёт собственную инди-студию и больше десяти лет делает игры, а её опыт покрывает .NET, Xbox и Unity. То есть это практика, а не маркетинговая подводка к бете.
В разговоре пять приёмов, которыми она встраивает Copilot в свой процесс разработки игр. Примерить их стоит, если Copilot у вас уже открыт в проекте, но дальше автодополнения дело не идёт.
Своих ИИ-инструментов у Unity теперь хватает: ассистент прямо в редакторе и интеграции с привычным инструментарием вышли в бету. Тем интереснее, что компания отдельно поговорила про чужой инструмент.
Собеседница выбрана не случайно: Стейси Хаффнер была principal developer advocate в Microsoft, ведёт собственную инди-студию и больше десяти лет делает игры, а её опыт покрывает .NET, Xbox и Unity. То есть это практика, а не маркетинговая подводка к бете.
В разговоре пять приёмов, которыми она встраивает Copilot в свой процесс разработки игр. Примерить их стоит, если Copilot у вас уже открыт в проекте, но дальше автодополнения дело не идёт.
Unity
👎1
Точек от MediaPipe мало, чтобы натянуть шейдер на лицо игрока: нужна топология и проекция
Для аватара или AR-маски трекер отдаёт 468 точек в кадре, и на этом всё: ни граней, ни UV-развёртки, рендерить нечего.
Поверхность собирается отдельно: фиксированную топологию лица Google надо достать и натянуть на точки, а UV перенести с канонической модели. Дальше проекция обязана повторить то, что происходит с картинкой на экране: её зеркалят и обрезают под размер контейнера. Иначе меш разъезжается с видео, а текстура садится вверх ногами.
Второй источник проблем: распознавание и рендер идут по разным часам. Трекер пишет результат в изменяемую ссылку, а рендер мутирует существующий BufferGeometry, и 468 позиций не проходят через реактивность каждый кадр. В движке приём тот же: обновлять буфер вершин, а не пересобирать меш.
Разбор на Codrops идёт по шагам, вместе с настройкой GPU-делегата.
Для аватара или AR-маски трекер отдаёт 468 точек в кадре, и на этом всё: ни граней, ни UV-развёртки, рендерить нечего.
Поверхность собирается отдельно: фиксированную топологию лица Google надо достать и натянуть на точки, а UV перенести с канонической модели. Дальше проекция обязана повторить то, что происходит с картинкой на экране: её зеркалят и обрезают под размер контейнера. Иначе меш разъезжается с видео, а текстура садится вверх ногами.
Второй источник проблем: распознавание и рендер идут по разным часам. Трекер пишет результат в изменяемую ссылку, а рендер мутирует существующий BufferGeometry, и 468 позиций не проходят через реактивность каждый кадр. В движке приём тот же: обновлять буфер вершин, а не пересобирать меш.
Разбор на Codrops идёт по шагам, вместе с настройкой GPU-делегата.
👎2😇1
Заглавную тему DOOM сыграла схема из 555-х таймеров, в которой нет ни одной строчки кода
Когда в проекте играет зацикленный трек, за темп и высоту нот отвечает аудиодвижок. Автор собрал то же самое на россыпи микросхем, и разбор схемы на Hackaday читается как устройство трекера изнутри.
Первый 555 тикает чуть быстрее семи раз в секунду и задаёт темп. Двоичный счётчик с дешифратором превращают тики в 15 последовательных позиций: это шаги секвенсора. Диодная матрица хранит партитуру, каждый шаг замкнут на одну из шести нот. Дальше шаг подключает свою резисторную цепочку ко второму 555, а от номиналов зависит частота, на которой он пищит.
Полезно как схема мышления про процедурный звук: сетка времени, таблица нот, генератор тона. Чиптюн-саундтрек в вашем движке раскладывается на те же три части, и отлаживать его проще, когда видно, какая из них врёт.
Когда в проекте играет зацикленный трек, за темп и высоту нот отвечает аудиодвижок. Автор собрал то же самое на россыпи микросхем, и разбор схемы на Hackaday читается как устройство трекера изнутри.
Первый 555 тикает чуть быстрее семи раз в секунду и задаёт темп. Двоичный счётчик с дешифратором превращают тики в 15 последовательных позиций: это шаги секвенсора. Диодная матрица хранит партитуру, каждый шаг замкнут на одну из шести нот. Дальше шаг подключает свою резисторную цепочку ко второму 555, а от номиналов зависит частота, на которой он пищит.
Полезно как схема мышления про процедурный звук: сетка времени, таблица нот, генератор тона. Чиптюн-саундтрек в вашем движке раскладывается на те же три части, и отлаживать его проще, когда видно, какая из них врёт.
❤7
Сцена в Three.js может обновляться сама, пока вы правите модель в Blender
Подвинули объект в Blender, экспортировали glTF, перезагрузили страницу, увидели не тот масштаб, и всё сначала. Сама правка занимает минуту, круг вокруг неё — пять.
На Codrops Andrew Woan разбирает, как эту рутину снимает связка ИИ-агента и Blender MCP: сервера, через который агент выполняет команды прямо в Blender.
Что уже работает:
• аддон с вкладкой экспорта, после которого сцена в Three.js перезагружается сама (кейс Merci-Michel);
• синхронизация поворота, масштаба и перемещения в обе стороны, так что править можно там, где удобнее;
• инстансы из аддона Geoscatter и модификатора Scatter on Surface (Blender 5.0+) доезжают до Three.js через MCP.
К статье приложены демка и исходники. Пайплайн держится на Blender и glTF, поэтому переносится на любой рантайм, который грузит ту же сцену.
Подвинули объект в Blender, экспортировали glTF, перезагрузили страницу, увидели не тот масштаб, и всё сначала. Сама правка занимает минуту, круг вокруг неё — пять.
На Codrops Andrew Woan разбирает, как эту рутину снимает связка ИИ-агента и Blender MCP: сервера, через который агент выполняет команды прямо в Blender.
Что уже работает:
• аддон с вкладкой экспорта, после которого сцена в Three.js перезагружается сама (кейс Merci-Michel);
• синхронизация поворота, масштаба и перемещения в обе стороны, так что править можно там, где удобнее;
• инстансы из аддона Geoscatter и модификатора Scatter on Surface (Blender 5.0+) доезжают до Three.js через MCP.
К статье приложены демка и исходники. Пайплайн держится на Blender и glTF, поэтому переносится на любой рантайм, который грузит ту же сцену.
🫡1
Порт движка ломается незаметно, но записанные демки ловят это бесплатно
Переносите движок на другой язык, и сложнее всего доказать, что геймплей остался прежним. Инженер перевёл doomgeneric на Rust утилитой c2rust: 73 095 строк за 23,2 секунды. Сам перевод занял секунды, дольше всего шла проверка.
Первый гейт — записи демок. Каждое игровое решение DOOM считает в фиксированной точке, поэтому одно расхождение рассинхронизирует воспроизведение: счётчик тиков перестаёт совпадать с записью.
Второй гейт: хеш каждого кадра, который движок отдаёт на экран. Из 11 113 кадров разошёлся один. Но контрольный прогон оригинального C-бинарника против самого себя дал то же расхождение на том же пикселе: DOOM читает один неинициализированный пиксель памяти, и перевод это повторил.
Отсюда приём: сначала прогоните эталон против эталона, иначе шум собственной сборки уедет в отчёт как чужой баг.
Переносите движок на другой язык, и сложнее всего доказать, что геймплей остался прежним. Инженер перевёл doomgeneric на Rust утилитой c2rust: 73 095 строк за 23,2 секунды. Сам перевод занял секунды, дольше всего шла проверка.
Первый гейт — записи демок. Каждое игровое решение DOOM считает в фиксированной точке, поэтому одно расхождение рассинхронизирует воспроизведение: счётчик тиков перестаёт совпадать с записью.
Второй гейт: хеш каждого кадра, который движок отдаёт на экран. Из 11 113 кадров разошёлся один. Но контрольный прогон оригинального C-бинарника против самого себя дал то же расхождение на том же пикселе: DOOM читает один неинициализированный пиксель памяти, и перевод это повторил.
Отсюда приём: сначала прогоните эталон против эталона, иначе шум собственной сборки уедет в отчёт как чужой баг.
⚡1❤1
Пружинящую деформацию модели в Three.js собирают на костях, а не на симуляции мягкого тела
Гнущийся объект в вебе обычно делают либо запечённой анимацией, которая не отвечает на ввод, либо симуляцией мягкого тела, которая съедает кадр.
В демке Codrops Эйфелева башня работает катапультой: тянешь её мышью, она гнётся и копит энергию, отпускаешь — и шар летит через Париж. Гибкость держит библиотека Wiggle: в модель встраивают цепочку костей, каждая догоняет родительскую по пружинному закону, поэтому объект качается в ответ на действие игрока, а не проигрывает готовый клип.
Париж вокруг собран не руками: город стримится из Cesium ion, это фотореалистичные 3D-тайлы Google. На стороне Three.js остаются анимация, столкновения и приземление.
Приём переносится на любую модель с костями: антенна, хвост, ветка. В статье остались расчёт траектории и стыковка геоданных с физикой.
Гнущийся объект в вебе обычно делают либо запечённой анимацией, которая не отвечает на ввод, либо симуляцией мягкого тела, которая съедает кадр.
В демке Codrops Эйфелева башня работает катапультой: тянешь её мышью, она гнётся и копит энергию, отпускаешь — и шар летит через Париж. Гибкость держит библиотека Wiggle: в модель встраивают цепочку костей, каждая догоняет родительскую по пружинному закону, поэтому объект качается в ответ на действие игрока, а не проигрывает готовый клип.
Париж вокруг собран не руками: город стримится из Cesium ion, это фотореалистичные 3D-тайлы Google. На стороне Three.js остаются анимация, столкновения и приземление.
Приём переносится на любую модель с костями: антенна, хвост, ветка. В статье остались расчёт траектории и стыковка геоданных с физикой.
В Unity 6.3 LTS 3D-модели рендерятся прямо в 2D-сцене со спрайтами
Обычно 3D-модель босса или вращающегося меча для 2D-игры запекают в спрайтовую анимацию покадрово. В 6.3 2D Renderer в Universal Render Pipeline рисует Mesh Renderer и Skinned Mesh Renderer в одной сцене со спрайтами: модель остаётся моделью.
Под 2D-физику завезли Box2D v3 с низкоуровневыми API: многопоточный расчёт, более предсказуемый результат от запуска к запуску и визуальная отладка коллайдеров в редакторе и рантайме.
А Shader Build Settings дают исключать и конвертировать ключевые слова шейдеров (по ним при сборке плодятся варианты) без единой строки кода, и Unity обещает заметно сократить время компиляции. Рядом Sprite Atlas Analyser: отчётом показывает, где атласы собраны неэффективно.
У 6.3 два года поддержки, и Unity советует начинать новые проекты на ней. Остальное собрано в разборе на GameFromScratch.
Обычно 3D-модель босса или вращающегося меча для 2D-игры запекают в спрайтовую анимацию покадрово. В 6.3 2D Renderer в Universal Render Pipeline рисует Mesh Renderer и Skinned Mesh Renderer в одной сцене со спрайтами: модель остаётся моделью.
Под 2D-физику завезли Box2D v3 с низкоуровневыми API: многопоточный расчёт, более предсказуемый результат от запуска к запуску и визуальная отладка коллайдеров в редакторе и рантайме.
А Shader Build Settings дают исключать и конвертировать ключевые слова шейдеров (по ним при сборке плодятся варианты) без единой строки кода, и Unity обещает заметно сократить время компиляции. Рядом Sprite Atlas Analyser: отчётом показывает, где атласы собраны неэффективно.
У 6.3 два года поддержки, и Unity советует начинать новые проекты на ней. Остальное собрано в разборе на GameFromScratch.
👎2❤1🍾1
Движок на Vulkan с бинлесс-рендером и глобальным освещением пишет один человек, чтобы устроиться в геймдев
Посмотреть, как современный рендер собран в живом коде, почти негде: учебные примеры заканчиваются на треугольнике, а в большом движке нужный кусок ищешь неделю.
Spartan автор пишет в одиночку, и с 2021 года движок заметно оброс возможностями. Основной бэкенд Vulkan, DirectX 12 в работе, шейдеры общие на HLSL. Дизайн полностью бинлессный: материалы, источники света и сэмплеры лежат в общих массивах, и шейдер берёт их по индексу вместо пересвязывания дескрипторов на каждую отрисовку.
Сверху глобальное освещение в реальном времени на FidelityFX Brixelizer, экранные тени по методу Bend Studio из Days Gone, XeSS 2 и FSR 3 с динамическим разрешением, а на видеокартах AMD breadcrumbs, помогающие найти, на чём упал GPU. Остальное перечисляет обзор GameFromScratch.
Посмотреть, как современный рендер собран в живом коде, почти негде: учебные примеры заканчиваются на треугольнике, а в большом движке нужный кусок ищешь неделю.
Spartan автор пишет в одиночку, и с 2021 года движок заметно оброс возможностями. Основной бэкенд Vulkan, DirectX 12 в работе, шейдеры общие на HLSL. Дизайн полностью бинлессный: материалы, источники света и сэмплеры лежат в общих массивах, и шейдер берёт их по индексу вместо пересвязывания дескрипторов на каждую отрисовку.
Сверху глобальное освещение в реальном времени на FidelityFX Brixelizer, экранные тени по методу Bend Studio из Days Gone, XeSS 2 и FSR 3 с динамическим разрешением, а на видеокартах AMD breadcrumbs, помогающие найти, на чём упал GPU. Остальное перечисляет обзор GameFromScratch.
❤3
Плоские нити не ловят свет, но в WebGPU их можно сделать объёмными
Светящаяся линия в трёхмерной сцене быстро выдаёт плоскую основу: на ней нет блика, а освещение не меняется по ширине. У ленты meshline причина в устройстве геометрии. Пары вершин раздвигаются уже в экранных координатах, лента всегда повёрнута к камере, поэтому у неё нет поверхности с нормалью, на которую может подействовать свет.
В разборе Codrops ленты заменили настоящими трубками. Их координаты и нормали вычисляет видеокарта поверх материала с физической моделью освещения, а исходную геометрию не приходится пересобирать.
Для эффектов в three.js граница практичная: meshline подходит экранным штрихам, а для нитей, которые должны ощущаться частью освещённой сцены, нужны трубки.
Светящаяся линия в трёхмерной сцене быстро выдаёт плоскую основу: на ней нет блика, а освещение не меняется по ширине. У ленты meshline причина в устройстве геометрии. Пары вершин раздвигаются уже в экранных координатах, лента всегда повёрнута к камере, поэтому у неё нет поверхности с нормалью, на которую может подействовать свет.
В разборе Codrops ленты заменили настоящими трубками. Их координаты и нормали вычисляет видеокарта поверх материала с физической моделью освещения, а исходную геометрию не приходится пересобирать.
Для эффектов в three.js граница практичная: meshline подходит экранным штрихам, а для нитей, которые должны ощущаться частью освещённой сцены, нужны трубки.
❤3💔1
Листву в path tracing больше не надо прореживать ради фреймтайма
Каждое дерево, которое качается на ветру, заставляет пересобирать структуру ускорения лучей, поэтому в трассируемых сценах растительность режут первой. На GDC 2026 в RTX Mega Geometry показали систему листвы на секционированных структурах ускорения: они разбиты на части, которые обновляются независимо, и анимация задевает не всю сцену. Листва целиком остаётся в трассировке пути, а CD PROJEKT RED планирует применить это в «Ведьмаке 4».
Что ещё приехало из анонсов NVIDIA:
• ReSTIR PT в RTX Dynamic Illumination: точные зеркальные отражения;
• Linear Swept Sphere в RTX-ветке Unreal Engine 5.7: волосы трассируются попрядно;
• Advanced Shader Delivery: скомпилированные шейдеры приезжают вместе с загрузкой игры, и стоттеров на компиляции в рантайме больше нет.
Ветка UE 5.7 вышла в марте, остальные SDK лежат в RTX Kit.
Каждое дерево, которое качается на ветру, заставляет пересобирать структуру ускорения лучей, поэтому в трассируемых сценах растительность режут первой. На GDC 2026 в RTX Mega Geometry показали систему листвы на секционированных структурах ускорения: они разбиты на части, которые обновляются независимо, и анимация задевает не всю сцену. Листва целиком остаётся в трассировке пути, а CD PROJEKT RED планирует применить это в «Ведьмаке 4».
Что ещё приехало из анонсов NVIDIA:
• ReSTIR PT в RTX Dynamic Illumination: точные зеркальные отражения;
• Linear Swept Sphere в RTX-ветке Unreal Engine 5.7: волосы трассируются попрядно;
• Advanced Shader Delivery: скомпилированные шейдеры приезжают вместе с загрузкой игры, и стоттеров на компиляции в рантайме больше нет.
Ветка UE 5.7 вышла в марте, остальные SDK лежат в RTX Kit.