GameDev: разработка игр
رفتن به کانال در Telegram
Всё про геймдев для девелоперов, художников, левел- и геймдизайнеров, сценаристов Разместить рекламу: @tproger_sales_bot Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
نمایش بیشتر7 651
مشترکین
-124 ساعت
+27 روز
+1030 روز
آرشیو پست ها
Художница Morgane Muller выложила разбор, как делала растительность для саванны на чужом острове — по рецептам Arnaud Claudet, художника по растительности на Avatar: Frontiers of Pandora.
В статье весь путь от изучения саванны до финального рендера: как по-разному собираются трава, злаки и деревья в SpeedTree, как процедурная вариативность и теория гештальта держат расстановку читаемой, как текстуры разбираются по каналам в Substance и как свет проверяется переключением вьюпорта в чёрно-белый.
@make_game
Что сделали за прошедшие две недели? Делитесь скриншотами, демо, или просто рассказом об успехах в своих играх.
@make_game
Если в игре нужна живность без тонн запечённой анимации, вот приём, которым стоит вдохновиться. Художник Jawad Srour сделал стаю скатов-мант, которые плавают полностью процедурно, без скелета и без единого запечённого клипа.
Вся анимация считается на GPU через связку VFX Graph и Shader Graph в Unity. Движение каждого ската задаётся одним накопленным значением фазы, синхронизированным с симуляцией частиц: по сути это бегущая волна, которая прокатывается по телу и машет плавниками. Вариативность стаи делается процедурно, через рандомизированные параметры, поэтому соседние манты не выглядят клонами.
Отдельно автор подчёркивает, что без хорошей топологии меша гладкой деформации не получить, волна пойдёт рывками. А чтобы всё это масштабировалось на большую стаю, в ход идёт подмена уровней детализации: высокополигональный скат показывается только вблизи камеры.
Подход переносится на что угодно живое и стайное: рыбы, птицы, насекомые. Если у вас косяк рыбы пока что десяток скелетных мешей с анимациями, вот направление, куда копать.
@make_game
Соло-разработчик из Гётеборга выложил постмортем первого дня после запуска страницы своей игры в Steam, и там редкая честная разбивка цифр по источникам. Игра называется Everfront, стратегия-роглайк на Godot, выходит в ноябре. До запуска у автора было ноль подписчиков и ноль опыта в маркетинге.
За первые сутки страница собрала 450 вишлистов при 1014 заходах. Дальше самое интересное, откуда они пришли. Из переходов, размеченных метками, набралось 192 вишлиста, и 113 из них, то есть 59 процентов, дал один пост в сабреддите про Godot, который завирусился на 891 апвоте. Шесть остальных сабреддитов вместе дали меньше, чем этот единственный пост. Картина, говорит автор, вышла радикально асимметричной.
А вот что ломает интуицию. Он рассчитывал, что вытянут крупные инди-сабреддиты, ведь они огромные. По конверсии клика в вишлист всё оказалось ровно наоборот: нишевые сообщества обходят широкие в 2-3 раза. Узкие по теме сабреддиты вели себя как аудитория, которая пришла за покупками, широкие как аудитория, которая просто листает ленту. Клик из сообщества про Godot стоил в 2,2 раза дороже клика из общего инди-сабреддита.
Ещё пара наблюдений. Нативное видео в ленте работает лучше ссылок на YouTube, это автор подтверждает по данным. Соцсеть с нуля подписчиков на старте не дала почти ничего. Три поста сняли модераторы за нарушение правил, а серия постов в разные сабреддиты за 8 часов словила спам-фильтр. На следующий раз автор советует размазывать запуск на три дня и в заголовке вести самой игрой, а историю про себя оставлять на потом.
@make_game
Bevy 0.19: рендер крупных сцен стал быстрее, а UI ближе к редактору
Bevy — это открытый игровой движок на Rust, построенный вокруг ECS и современного рендерера: пишете системы, работаете с сущностями и компонентами, а движок сам распараллеливает логику и рисование. В версии 0.19 разработчики усилили графику и инструменты.
Появились контактные тени, физически корректные отражения в экранном пространстве и прямоугольные area-light: для Vulkan/DirectX/Metal это меньше ручной работы с освещением и более предсказуемый результат. Partial bindless и contiguous query access снижают нагрузку на CPU, когда объектов в сцене много.
UI на Feathers, ввод текста и настройки приложения делают Bevy удобнее для собственных редакторов и утилит.
В заметке о релизе есть полный список, от skinned mesh culling до infinite grid.
Epic выпустила Unreal Engine 5.8, последний крупный релиз пятой ветки перед UE6. Фич набралось столько, что по ним хорошо видно, куда движок едет дальше.
Больше всего приехало в мир и графику. Mesh Terrain даёт настоящий 3D-меш ландшафта вместо хайтмапа: нависающие скалы, пещеры, тоннели, плавающие острова, и всё это работает в связке с процедурной генерацией. MegaLights вышел из экспериментального статуса с прицелом на стабильные 60 кадров на текущих консолях. Рядом появился Lumen Lite, он примерно вдвое быстрее полного Lumen, на нём даже Switch 2 целит в 60 кадров. Ещё завезли редактор процедурной растительности: деревья и кусты собираются с нуля, готовы к Nanite и реагируют на свет и окружение.
Из того, что касается персонажей: MetaHuman Animator теперь снимает мимику и движения тела с обычной веб-камеры, без отдельного оборудования. И отдельно любопытная штука для рабочего процесса, Sandboxes: изолированные песочницы, где можно экспериментировать прямо внутри проекта, а потом выборочно влить удачное в основную ветку.
Есть и экспериментальный MCP-плагин, чтобы подцепить к движку языковые модели вроде Claude.
Напомню, UE6 показывали весной на Rocket League, но до него ещё года два, так что работать ближайшее время будем именно на 5.8.
@make_game
Хочу напомнить про книгу, которая лечит типичную болезнь растущего проекта: игра работает, но код уже страшно открывать. Game Programming Patterns Роберта Нистрома — полная веб-версия лежит бесплатно, и это до сих пор лучший мост между «как-то слепил» и «могу спокойно расширять».
Нистром писал её после восьми лет в Electronic Arts. Каждая из 20 глав начинается с реальной игровой проблемы: как сделать отмену хода (Command), как не дать тысяче частиц убить производительность (Object Pool и Data Locality), почему герой из связки наследований превращается в кошмар и как его пересобрать из компонентов (Component), как развязать достижения и игровую логику (Event Queue).
Примеры на простом C++, который без боли переносится на C#, GDScript или что угодно. Глава про игровой цикл вообще обязательна к прочтению каждому, кто хоть раз спорил про deltaTime.
Читается легко, иллюстрации автор рисовал от руки. Если в вашем проекте Update-метод главного персонажа перевалил за пятьсот строк — вы знаете, что делать на выходных.
https://gameprogrammingpatterns.com/
@make_game
Двое разработчиков выложили годовой постмортем: их игра Bathhouse Creatures выросла из десятидневного геймджема в коммерческий релиз на Godot, и они приложили цифры.
Итог за год: продано 2017 копий, выручка 8983 доллара до вычетов, 8241 вишлист и 98% положительных отзывов (58 штук) при цене 4,99 доллара. Делали вдвоём около десяти месяцев в свободное время: один на коде и аналитике, второй впервые рисовал арт в Aseprite.
Что, по словам авторов, двигало игру: больше всего игроков дали фестивали, стримеры и пресса. Steam Next Fest поднял вишлисты примерно с 350 до тысячи с лишним за неделю. Отдельно сработала стримерша из cozy-ниши: взяла демо и продолжила играть после релиза.
Их выводы: похвала на геймджеме не равна спросу на Steam, аудиторию и жанр стоит понимать заранее, а первое впечатление делает визуал. Маркетинг за год стало делать тяжелее: для следующей игры авторы сместили баланс с 90% разработки на 50 на 50 с маркетингом и получили меньше отдачи.
@make_game
Mirza Beig показал приём с частицами: шейдер, при котором частицы видно только там, где на них падает свет. В темноте облако частиц невидимо, но стоит провести по нему источником света — проявляются клубы дыма, пыль, туман.
Идея простая: яркость освещения в точке частицы переводится в её прозрачность (luminance-to-alpha). Нет света — альфа в ноль, частица не рисуется; есть свет — проявляется тем сильнее, чем ярче её освещают. Стандартный lit-шейдер частиц так не умеет: там частицы просто затеняются, но видны всегда.
Где пригодится: волюметрик-туман и пыль, реагирующие на фонарик или вспышку, лучи света с пылинками, дым, подсвеченный взрывом. На видео в посте видно, как луч вылепляет дым из темноты.
@make_game
Наткнулся на разбор для тех, кто упирался в CPU на толпах людей в разработке игр. Техарт Yeonju Cho собрала стадион на 6072 зрителя, и весь этот муравейник стоит игровому потоку 0,66 миллисекунды. До оптимизации те же агенты ели 34,15 мс — в 50 раз больше.
Рецепт такой: Houdini процедурно расставляет места и запекает анимации в VAT (vertex animation textures), а в Unreal вся толпа рисуется через HISM, и шейдер целиком гоняет анимацию на GPU. Процессор больше не трогает скелеты вообще: ни скиннинга, ни тиков анимации. Draw calls упали с 21369 до 276, FPS вырос вдвое.
Самое ценное в статье даже не цифры, а подробный пайплайн со всеми граблями: как организовать варианты персонажей, чтобы толпа не выглядела клонами, как переключать состояния болельщиков (сидят, встают, ликуют) через текстуры, и где у VAT-подхода границы применимости.
Подход переносится на любые массовые сцены: стадионы, баталии, городские NPC в опенворлде. Если в вашем проекте толпа пока что десяток скелетал-мешей с LOD'ами — вот направление, куда копать.
Полная статья: https://80.lv/articles/6-000-agents-on-one-game-thread-novel-high-performance-framework-for-gpu-driven-crowd-systems
@make_game
Godot 4.7 на финишной прямой: команда выкатила третий релиз-кандидат, до стабильной версии остаются считаные недели.
RC3 — это уже не про новые фичи, а про вылавливание регрессий, которые всплыли в бете. В этот раз чинили анимацию и AssetLib, пул рабочих потоков, виджеты с правосторонней раскладкой текста, частицы, физику на Jolt и XR. По такому списку видно, в каких узлах движок штормит перед релизом и что стоит перепроверить в своём проекте, если вы уже сидите на ветке 4.7.
Если держите игру на Godot, есть смысл собрать RC и прогнать свой проект: поймать поломку до выхода стабильной 4.7 дешевле, чем ловить её потом в релизе. А если присматривались к движку — стабильная версия близко, можно дождаться её и заходить уже на ней.
@make_game
Любопытная визуализация попалась: половина всего онлайна Roblox сидит в сотне игр. При том что игр на платформе 8,5 миллионов. Сотня — это 0,0012% каталога. Если расширить до тысячи игр, наберётся около 79% всех одновременных игроков.
Автор собирает данные сам: берёт живой счётчик одновременных игроков по каждой отслеживаемой игре из публичного API Roblox, ранжирует и складывает доли. Это его собственный подсчёт по отслеживаемым играм, официальной статистики Roblox тут нет, но покрытие почти всей платформы.
В комментариях самое интересное — сравнение с другими магазинами. Знакомое правило Парето 80/20 здесь сломано в хлам: получается 80/0,001. Но Steam, по словам комментаторов, концентрирован ещё сильнее: топ-5 игр держат 40-50% активных игроков. А хвост из миллионов Roblox-игр — это в основном детские поделки, клоны популярного и заглушки для донатов.
Для разработчика вывод двоякий. С одной стороны, пробиться в живую сотню почти нереально. С другой — в треде описывают, как бывшие Flash-разработчики переезжают именно на Roblox: порог входа низкий, игру не нужно покупать и устанавливать, и шанс быть найденным у маленькой студии там выше, чем в перенасыщенном Steam.
@make_game
⚡️Запуск собственного вебшопа начинается не с технических деталей, а с базы: правильной структуры, платёжных решений, налоговых вопросов и удобного пользовательского пути.
Когда эти элементы работают вместе, вебшоп становится полноценным источником выручки, а не просто дополнительной витриной.
В @d2cgames рассказывают, на что стоит обратить внимание при запуске своего D2C-канала и какие решения помогают увеличить доход игры.
➡️Подписывайтесь
Реклама. ООО Е-Промо. ИНН 5260246781. Erid: 2W5zFHw5Hff
Это #партнёрский пост
Нашёл тред с криком души от человека, который профессионально занимается шоукейсами инди-игр: «Пожалуйста, перестаньте писать описания своих игр через ChatGPT». Говорит, что при виде ИИ-описания просто проходит мимо игры целиком: если автору лень объяснить собственную игру, значит ему недостаточно дорог свой проект. Единственное исключение — перевод, когда английский не родной.
Топовый комментарий (217 апвоутов) формулирует суть точнее самого поста: ИИ отлично пишет гладкий корпоративный текст, но он не умеет определять, что в твоей игре уникального и особенного. Рядом ещё формулировка, которая запомнилась: «Когда ИИ рассказывает мне о твоей игре, я слышу только то, что она средняя и посредственная» — модель по своей природе выдаёт среднее по всем играм сразу. И совсем короткое: «Если тебе было лень это писать, мне лень это читать».
Был и резонный контраргумент: так можно вычислить только тех, кто плохо пользуется ИИ, хороший результат неотличим. На это ответили, что проблема глубже стиля: если ты не можешь написать три предложения о том, чем твоя игра интересна, это проблема незнания собственной игры, и никакой ИИ её не решит.
Отдельно жалко авторов, которые попадут под раздачу несправедливо: в треде уже спрашивали, что делать, если живой текст примут за сгенерированный. Похоже, гладкий маркетинговый язык сам по себе становится красным флагом, и выигрывает описание с человеческими шероховатостями и конкретикой.
@make_game
Что успели сделать за неделю? Скрины, гифки и демки из ваших игр в студию!
Можно со ссылками на ваши каналы.
@make_game
Завтра, 13 июня, стартует GBAJam 2026 — большой джем по созданию игр для Game Boy Advance, приуроченный к 25-летию консоли. На игру дают целых три месяца: дедлайн 13 сентября, потом до 30 сентября голосование.
Формат честный олдскул: сдаёшь .gba-файл, который судьи гоняют на реальном железе через флешкарты и на эмуляторах mGBA и NanoBoyAdvance. Правила в этом году ужесточили: GB Studio запрещён (джем именно про GBA), ромхаки нельзя, ИИ-контент запрещён полностью — ни графики, ни кода, ни музыки. Порты и ремейки с нуля с других платформ можно, доделывать проект, над которым сидел месяцами, нельзя. Допускается заход с почти нулевым заделом вроде тайтлскрина или мокапа.
Призы тоже в духе: денежный пул, который пополняют донатами, плюс железо и картриджи от спонсоров — дамперы GBxCart RW, GB Operator, физические копии Xeno Crisis для GBA. За открытые исходники под OSI-лицензией дают дополнительные призы. Права на игру остаются у вас, после джема можно спокойно коммерциализировать.
Если давно хотелось пощупать программирование под настоящее ретро-железо, где 16 МГц и 384 КБ памяти заставляют думать о каждом спрайте — лучшего повода не придумать. Комьюнити живёт на gbadev.net, там же документация и поиск команды.
Подробнее: https://itch.io/jam/gbajam26
@make_game
Попалась интересная возможность для столичных игровых студий. До 19 июня в Мск собирают видеоигровые проекты для стендов на выставке ChinaJoy.
Московский кластер видеоигр и анимации отберет 12 студий, которые поедут на выставку в Шанхай, где в этом году собирается вся индустрия: издатели, платформы, локализаторы.
От самих студий требуется только проснуться по будильнику и показать свои проекты всему китайскому рынку. Стенд и встречи с партнёрами и платформами полностью на организаторах. Все по классике: желающих много, мест мало, но заявки все ещё принимают до 19 июня. Такой ажиотаж был разве что вокруг выезда на G-Star в Южной Корее в ноябре.
В прошлом году на ChinaJoy катались 1C Game Studios, «Бука», HeroCraft. В итоге студии собрали контрактов на 340 млн рублей.
Посмотрим что будет в этом году!
Короткий полезный разбор от Рубена с TheGameDev.Guru про те самые фризы на секунду в современном Unity, когда игрок заходит в новую зону, меняет графику или надевает косметику, и игра замирает ровно настолько, чтобы он пошёл за рефандом.
Старый рецепт «соберём шейдеры и прогреем заранее» на Vulkan, DX12 и Metal не работает. Теперь прогреваешь не шейдер, а PSO т.е. шейдер плюс весь стейт рендера вокруг: MSAA, формат таргета, blend, depth, вариант материала, уровень качества. Поменял одну настройку, и нужен новый PSO, которого в твоём трейсе не было. Отсюда и фриз.
Unity 6.5 добавил cache miss collection: движок ловит непрогретые стейты и даёт доклеить их в кеш. Удобно, но штука лишь сообщает, что ты пропустил, уже постфактум. Корень всё равно в покрытии — трейсить надо реальные геймплейные маршруты и настройки игроков, а не чистое демо.
Подробнее в самой статье: https://thegamedev.guru/all/your-pso-cache-is-only-as-good-as-your-playthrough/
@make_game
Наткнулся на демку, которая бьёт прямо по ностальгии — Defrag Incremental. Помните ту самую полоску дефрагментации в старых Windows, за которой можно было залипать часами? Кто-то взял ровно это чувство и собрал из него incremental-игру.
Идея в том, что ты по сути подрядчик по чистке дисков. Берёшь заказ, анализируешь диск — у каждого свои характеристики, битые сектора, неперемещаемые блоки, неудобная раскладка. Под это выбираешь алгоритм дефрагментации, и тут начинается самое интересное: каждый прогон это компромисс между скоростью, наградой, нагревом и износом диска. Можно гнать рискованно ради жирной выплаты, но перегреешь железо или угробишь диск — потеряешь и деньги, и заказ.
Дальше классическая петля жанра. За успешные джобы капают внутренние очки, на них качаешь апгрейды текущего билда, а когда упираешься в потолок — делаешь reboot в перманентные BIOS-улучшения, которые перекраивают все будущие забеги. Поверх этого тонкий слой выживания: работаешь за деньги и балансируешь риск против выплаты, чтобы просто остаться на плаву.
Выглядит всё в чистой DOS-эстетике, пиксельный UI, который приятно читать. Мне нравится, как взяли скучную системную рутину из детства и превратили её в напряжённый луп с принятием решений на каждом заказе.
Демо уже доступно в Steam, полный релиз обещают в Q3 2026.
https://store.steampowered.com/app/4286660/Defrag_Incremental/
Залип бы в такое на вечер, чисто чтобы снова посмотреть, как ползут эти квадратики :)
@make_game
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
