GameDev: разработка игр
7.66K subscribers
836 photos
202 videos
1 file
1.19K links
Всё про геймдев для девелоперов, художников, левел- и геймдизайнеров, сценаристов

Разместить рекламу: @tproger_sales_bot

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Нашёл тред с криком души от человека, который профессионально занимается шоукейсами инди-игр: «Пожалуйста, перестаньте писать описания своих игр через ChatGPT». Говорит, что при виде ИИ-описания просто проходит мимо игры целиком: если автору лень объяснить собственную игру, значит ему недостаточно дорог свой проект. Единственное исключение — перевод, когда английский не родной.

Топовый комментарий (217 апвоутов) формулирует суть точнее самого поста: ИИ отлично пишет гладкий корпоративный текст, но он не умеет определять, что в твоей игре уникального и особенного. Рядом ещё формулировка, которая запомнилась: «Когда ИИ рассказывает мне о твоей игре, я слышу только то, что она средняя и посредственная» — модель по своей природе выдаёт среднее по всем играм сразу. И совсем короткое: «Если тебе было лень это писать, мне лень это читать».

Был и резонный контраргумент: так можно вычислить только тех, кто плохо пользуется ИИ, хороший результат неотличим. На это ответили, что проблема глубже стиля: если ты не можешь написать три предложения о том, чем твоя игра интересна, это проблема незнания собственной игры, и никакой ИИ её не решит.

Отдельно жалко авторов, которые попадут под раздачу несправедливо: в треде уже спрашивали, что делать, если живой текст примут за сгенерированный. Похоже, гладкий маркетинговый язык сам по себе становится красным флагом, и выигрывает описание с человеческими шероховатостями и конкретикой.

@make_game
👍15👎2
⚡️Запуск собственного вебшопа начинается не с технических деталей, а с базы: правильной структуры, платёжных решений, налоговых вопросов и удобного пользовательского пути.

Когда эти элементы работают вместе, вебшоп становится полноценным источником выручки, а не просто дополнительной витриной.

В @d2cgames рассказывают, на что стоит обратить внимание при запуске своего D2C-канала и какие решения помогают увеличить доход игры.

➡️Подписывайтесь

Реклама. ООО Е-Промо. ИНН 5260246781. Erid: 2W5zFHw5Hff

Это #партнёрский пост
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Любопытная визуализация попалась: половина всего онлайна Roblox сидит в сотне игр. При том что игр на платформе 8,5 миллионов. Сотня — это 0,0012% каталога. Если расширить до тысячи игр, наберётся около 79% всех одновременных игроков.

Автор собирает данные сам: берёт живой счётчик одновременных игроков по каждой отслеживаемой игре из публичного API Roblox, ранжирует и складывает доли. Это его собственный подсчёт по отслеживаемым играм, официальной статистики Roblox тут нет, но покрытие почти всей платформы.

В комментариях самое интересное — сравнение с другими магазинами. Знакомое правило Парето 80/20 здесь сломано в хлам: получается 80/0,001. Но Steam, по словам комментаторов, концентрирован ещё сильнее: топ-5 игр держат 40-50% активных игроков. А хвост из миллионов Roblox-игр — это в основном детские поделки, клоны популярного и заглушки для донатов.

Для разработчика вывод двоякий. С одной стороны, пробиться в живую сотню почти нереально. С другой — в треде описывают, как бывшие Flash-разработчики переезжают именно на Roblox: порог входа низкий, игру не нужно покупать и устанавливать, и шанс быть найденным у маленькой студии там выше, чем в перенасыщенном Steam.

@make_game
5
Godot 4.7 на финишной прямой: команда выкатила третий релиз-кандидат, до стабильной версии остаются считаные недели.

RC3 — это уже не про новые фичи, а про вылавливание регрессий, которые всплыли в бете. В этот раз чинили анимацию и AssetLib, пул рабочих потоков, виджеты с правосторонней раскладкой текста, частицы, физику на Jolt и XR. По такому списку видно, в каких узлах движок штормит перед релизом и что стоит перепроверить в своём проекте, если вы уже сидите на ветке 4.7.

@make_game
👍7💯1
Наткнулся на разбор для тех, кто упирался в 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
🔥8
Mirza Beig показал приём с частицами: шейдер, при котором частицы видно только там, где на них падает свет. В темноте облако частиц невидимо, но стоит провести по нему источником света — проявляются клубы дыма, пыль, туман.

Идея простая: яркость освещения в точке частицы переводится в её прозрачность (luminance-to-alpha). Нет света — альфа в ноль, частица не рисуется; есть свет — проявляется тем сильнее, чем ярче её освещают. Стандартный lit-шейдер частиц так не умеет: там частицы просто затеняются, но видны всегда.

Где пригодится: волюметрик-туман и пыль, реагирующие на фонарик или вспышку, лучи света с пылинками, дым, подсвеченный взрывом. На видео в посте видно, как луч вылепляет дым из темноты.

@make_game
🔥922🎉1
Двое разработчиков выложили годовой постмортем: их игра Bathhouse Creatures выросла из десятидневного геймджема в коммерческий релиз на Godot, и они приложили цифры.

Итог за год: продано 2017 копий, выручка 8983 доллара до вычетов, 8241 вишлист и 98% положительных отзывов (58 штук) при цене 4,99 доллара. Делали вдвоём около десяти месяцев в свободное время: один на коде и аналитике, второй впервые рисовал арт в Aseprite.

Что, по словам авторов, двигало игру: больше всего игроков дали фестивали, стримеры и пресса. Steam Next Fest поднял вишлисты примерно с 350 до тысячи с лишним за неделю. Отдельно сработала стримерша из cozy-ниши: взяла демо и продолжила играть после релиза.

Их выводы: похвала на геймджеме не равна спросу на Steam, аудиторию и жанр стоит понимать заранее, а первое впечатление делает визуал. Маркетинг за год стало делать тяжелее: для следующей игры авторы сместили баланс с 90% разработки на 50 на 50 с маркетингом и получили меньше отдачи.

@make_game
5👍1
Хочу напомнить про книгу, которая лечит типичную болезнь растущего проекта: игра работает, но код уже страшно открывать. Game Programming Patterns Роберта Нистрома — полная веб-версия лежит бесплатно, и это до сих пор лучший мост между «как-то слепил» и «могу спокойно расширять».

Нистром писал её после восьми лет в Electronic Arts. Каждая из 20 глав начинается с реальной игровой проблемы: как сделать отмену хода (Command), как не дать тысяче частиц убить производительность (Object Pool и Data Locality), почему герой из связки наследований превращается в кошмар и как его пересобрать из компонентов (Component), как развязать достижения и игровую логику (Event Queue).

Примеры на простом C++, который без боли переносится на C#, GDScript или что угодно. Глава про игровой цикл вообще обязательна к прочтению каждому, кто хоть раз спорил про deltaTime.

Читается легко, иллюстрации автор рисовал от руки. Если в вашем проекте Update-метод главного персонажа перевалил за пятьсот строк — вы знаете, что делать на выходных.

https://gameprogrammingpatterns.com/

@make_game
15
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
11🔥1😭1
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.
5🤔2
Соло-разработчик из Гётеборга выложил постмортем первого дня после запуска страницы своей игры в Steam, и там редкая честная разбивка цифр по источникам. Игра называется Everfront, стратегия-роглайк на Godot, выходит в ноябре. До запуска у автора было ноль подписчиков и ноль опыта в маркетинге.

За первые сутки страница собрала 450 вишлистов при 1014 заходах. Дальше самое интересное, откуда они пришли. Из переходов, размеченных метками, набралось 192 вишлиста, и 113 из них, то есть 59 процентов, дал один пост в сабреддите про Godot, который завирусился на 891 апвоте. Шесть остальных сабреддитов вместе дали меньше, чем этот единственный пост. Картина, говорит автор, вышла радикально асимметричной.

А вот что ломает интуицию. Он рассчитывал, что вытянут крупные инди-сабреддиты, ведь они огромные. По конверсии клика в вишлист всё оказалось ровно наоборот: нишевые сообщества обходят широкие в 2-3 раза. Узкие по теме сабреддиты вели себя как аудитория, которая пришла за покупками, широкие как аудитория, которая просто листает ленту. Клик из сообщества про Godot стоил в 2,2 раза дороже клика из общего инди-сабреддита.

Ещё пара наблюдений. Нативное видео в ленте работает лучше ссылок на YouTube, это автор подтверждает по данным. Соцсеть с нуля подписчиков на старте не дала почти ничего. Три поста сняли модераторы за нарушение правил, а серия постов в разные сабреддиты за 8 часов словила спам-фильтр. На следующий раз автор советует размазывать запуск на три дня и в заголовке вести самой игрой, а историю про себя оставлять на потом.

@make_game
10👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Если в игре нужна живность без тонн запечённой анимации, вот приём, которым стоит вдохновиться. Художник Jawad Srour сделал стаю скатов-мант, которые плавают полностью процедурно, без скелета и без единого запечённого клипа.

Вся анимация считается на GPU через связку VFX Graph и Shader Graph в Unity. Движение каждого ската задаётся одним накопленным значением фазы, синхронизированным с симуляцией частиц: по сути это бегущая волна, которая прокатывается по телу и машет плавниками. Вариативность стаи делается процедурно, через рандомизированные параметры, поэтому соседние манты не выглядят клонами.

Отдельно автор подчёркивает, что без хорошей топологии меша гладкой деформации не получить, волна пойдёт рывками. А чтобы всё это масштабировалось на большую стаю, в ход идёт подмена уровней детализации: высокополигональный скат показывается только вблизи камеры.

Подход переносится на что угодно живое и стайное: рыбы, птицы, насекомые. Если у вас косяк рыбы пока что десяток скелетных мешей с анимациями, вот направление, куда копать.

@make_game
🔥144
🆒6😁41💯1💊1
Что сделали за прошедшие две недели? Делитесь скриншотами, демо, или просто рассказом об успехах в своих играх.

@make_game
15🔥2
Media is too big
VIEW IN TELEGRAM
Художница Morgane Muller выложила разбор, как делала растительность для саванны на чужом острове — по рецептам Arnaud Claudet, художника по растительности на Avatar: Frontiers of Pandora.

В статье весь путь от изучения саванны до финального рендера: как по-разному собираются трава, злаки и деревья в SpeedTree, как процедурная вариативность и теория гештальта держат расстановку читаемой, как текстуры разбираются по каналам в Substance и как свет проверяется переключением вьюпорта в чёрно-белый.

@make_game
4😍3🔥2
Для Defold доделали и наконец официально приняли расширение FMOD, которым разработчики годами пользовались как сторонним проектом Мариуса (dapetcu21). Теперь оно официальное и его поддерживает Defold Foundation.

Расширение подключает полноценный FMOD Studio и Core API версии 2.03.09 к Lua через неймспейсы fmod и fmod studio: events, banks, buses, VCA, рантайм-параметры, низкоуровневое аудио и честный 3D-звук в пространстве. Работает на Windows, Linux, macOS, Android, iOS и HTML5, хотя в вебе за звук приходится доплачивать примерно 1,8 МБ к размеру сборки.

Если ваш проект на Defold, для звука теперь есть официальный путь без стороннего форка и привязки к чужому репозиторию.

@make_game
This media is not supported in your browser
VIEW IN TELEGRAM
Художник takkun продолжает серию экспериментов с parallax-иллюзиями и на этот раз применил приём Parallax Interior Mapping не к окнам домов, а к глазам аниме-персонажа.

Идея та же, что и в его прошлой работе с parallax-порталом во рту: кастомный GLSL-шейдер сдвигает текстуру внутри поверхности в зависимости от угла обзора камеры, имитируя объём там, где на самом деле плоскость. Для интерьеров это иллюзия комнаты за окном, для глаз — иллюзия радужки и зрачка, утопленных в объёме. Автор планирует добавить blend-режимы и настройку прозрачности, чтобы подгонять эффект под разных персонажей было проще.

Приём переносится на что угодно, где нужна иллюзия глубины на плоской геометрии без лишних полигонов: витрины, порталы, теперь вот глаза.

@make_game
🔥172
Forwarded from Типичный программист
NetBSD не для игр, но в неё уже заводится Vulkan

NetBSD — система, которую обычно ставят на роутер или ретро-машину, а не на игровой ПК. Автор проекта vulkan-netbsd решил проверить, сколько усилий нужно, чтобы заставить её понимать современный графический API. Он собрал Mesa с Lavapipe, софтверным Vulkan-драйвером, который рисует на CPU без дискретной видеокарты. В итоге libvulkan_lvp.so (~17 МБ) встал в /usr/pkg/lib, манифест зарегистрировал поддержку Vulkan 1.4, а ldd разрешил все зависимости.

Пока реальные Vulkan-приложения ещё не запускаются: не хватает Vulkan loader. Но цепляет тут другое: энтузиаст доказал, что стек Vulkan можно собрать и завести на ОС, для которой никто не делал игровых драйверов. Это про переносимость и упрямство, а не про FPS.
👍7
Команда из четырёх человек (двое кодят, двое рисуют) полтора года держит мобильную f2p-игру Bounty Bash, пиратскую idle-RPG, и выложила реальные цифры закупки трафика, которые в жанре обычно никто не публикует.

Ретеншен D1/D7/D28 у них 46/20/7,5 при эталоне жанра 40/20/10. Средняя установка стоит 13 долларов, американский игрок с рекламы — 30. Органики практически нет: даже фичеринг в Google Play приносит меньше 100 установок в день, и удерживаются такие игроки хуже платных. На рекламу уходит больше 100 тысяч долларов в месяц при серверных расходах в 5 тысяч, всё из своего кармана: без издателя и инвесторов, 95% выручки сразу возвращается в закупку.

Цель — вернуть 120% с рекламного доллара за 12 месяцев. Когорта окупается в среднем за 4 месяца, но кривая коварная: 70% денег приходят в первый месяц, а оставшийся путь до цели занимает почти год и держится на игроках, которые заходят и на шестом месяце. Отдельная боль — креативы: крупные студии жанра выпускают от 1000 рекламных роликов в месяц, а здесь весь арт-отдел это два человека, которые ещё и игру рисуют. Поэтому ставка на удержание, то есть на сам геймплей.

Честный вывод из всей истории: в мобильном f2p маленькая команда не может выиграть гонку рекламных креативов, зато может выиграть гонку качества игры. Математика сама заставляет делать игру лучше :)

@make_game
👍6
Соло-разработчик кулинарного симулятора Burgie's Cozy Kitchen рассказал продолжение истории пиратской копии своей игры в Китае: у клона уже 610 000 игроков, и это не оценка, а счётчик из официального магазина мини-игр Douyin.

Началось всё с того, что стример в Douyin показал демку, игра завирусилась, и почти сразу появилась «мобильная версия», которую автор никогда не делал. В ответ он встроил защиту: в пиратской копии все посетители ресторана превращались в пиратов, которые не оставляют чаевых. Продержалась она недели две: при сотнях тысяч игроков причину нашли и вырезали.

Разработчик раскопал и саму компанию: фирма из Сямыня с шестью сотрудниками и минимальным уставным капиталом за 8 месяцев зарегистрировала 152 приложения и 75 софтверных копирайтов, то есть выпускала новое приложение каждые полтора-два дня. Конвейер клонов с монетизацией рекламой. Сейчас клон понемногу переделывают: персонажа заменили на похожего сгенерированного, переводят тексты, добавляют интерфейс. Сам автор подозревает, что это подготовка к отбиванию жалобы на нарушение авторских прав в духе «это уже другая игра».

Защита, которую в одиночку собрал разработчик без опыта в антипиратстве, выиграла ему две недели. Похоже, это и есть реалистичный потолок такой борьбы :)

@make_game
😢15🔥1
Godot Foundation закрыла PR от ИИ-агентов: существенный код только от людей

30 июня Foundation обновила политику contributions для Godot Engine. Любой существенный код должен быть написан человеком, который за него отвечает. Автономные ИИ-агенты и «vibe-coded» пул-реквесты отклоняют автоматически.

Мелкие операции, такие как code completion, регулярки и find-and-replace, разрешены, но только с обязательным дисклеймером. Новичкам до трёх принятых PR теперь нужно одобрение мейнтейнера на фичи и крупные рефакторинги.

Главная мысль Foundation: ревью кода — это не только проверка, но и менторство будущих мейнтейнеров. С ИИ на той стороне PR этот цикл ломается. Похожие правила уже ввели Zig, Ghostty и curl. Разбор на Tproger.
👍20❤‍🔥8👎3🔥1