This media is not supported in your browser
VIEW IN TELEGRAM
Разработчик игры Tiny Delivery показал, как добавил в шейдер листвы реакцию на игрока: трава и кусты теперь отклоняются при приближении. Метод простой, без сложных буферов и систем.
Автор передаёт позицию игрока в шейдер через свойство материала. Шейдер считает расстояние до каждой вершины и деформирует её. Базовый ветровой шейдер уже был, а с позицией игрока получается вот как на видео.
Сам автор честно говорит, что на высоких объектах видны странные деформации т.е. камеру лучше не приближать. К тому же метод работает только с одним объектом — игроком. Но работает и выглядит для данной игры как по мне очень даже неплохо.
Если вы готовы принять ограничения простого метода, можно добавить в проект за пару дней.
📎 Reddit, Medium
@make_game
Автор передаёт позицию игрока в шейдер через свойство материала. Шейдер считает расстояние до каждой вершины и деформирует её. Базовый ветровой шейдер уже был, а с позицией игрока получается вот как на видео.
Сам автор честно говорит, что на высоких объектах видны странные деформации т.е. камеру лучше не приближать. К тому же метод работает только с одним объектом — игроком. Но работает и выглядит для данной игры как по мне очень даже неплохо.
Если вы готовы принять ограничения простого метода, можно добавить в проект за пару дней.
@make_game
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27❤5
Политика возвратов Steam говорит: вернуть можно любую игру в течение 14 дней, если наиграл меньше 2 часов. Для большинства игр это честно. Для коротких — катастрофа.
Игрок покупает игру за $7, проходит её за 90 минут, пишет восторженный отзыв («truly moving and amazing game») и запрашивает полный возврат. Разработчик остаётся без денег. Формально игрок не нарушает правила: он просто использовал 2-часовое окно по максимуму.
Реальные жертвы
🔘 Summer of '58 (Emika Games, 2021) — хоррор на 90 минут с рейтингом Very Positive получил огромное количество возвратов. Разработчик написал, что не заработал достаточно для следующей игры и ушёл из индустрии на неопределённый срок.
🔘 Before Your Eyes (GoodbyeWorld Games, 2021) — игра, управляемая морганием через веб-камеру. Пользователь Travis написал «amazing», вернул игру, потом публично извинился и купил снова. Разработчик в знак протеста подал заявку на игру Refund This Game за $99,99 — таймер на 2 часа с ачивкой за выход на 119:55.
🔘 No Case Should Remain Unsolved (Somi, 2024) — детектив с 97% положительными отзывами за $6,99. Корейский разработчик столкнулся с той же ситуацией. Его вывод: «Если кинотеатр возвращает деньги за полуторачасовой фильм только потому, что он короче двух часов — кто захочет снимать короткие фильмы?»
Что делать разработчикам? itch.io или продажа вне Steam — единственные реальные альтернативы, где нет жёстких временных рамок. Указывайте длительность игры на странице магазина — это помогает управлять ожиданиями игроков.
Среди читателей есть те, кто сталкивался? Реально на короткие игры много возвратов?
@make_game
Игрок покупает игру за $7, проходит её за 90 минут, пишет восторженный отзыв («truly moving and amazing game») и запрашивает полный возврат. Разработчик остаётся без денег. Формально игрок не нарушает правила: он просто использовал 2-часовое окно по максимуму.
Реальные жертвы
Что делать разработчикам? itch.io или продажа вне Steam — единственные реальные альтернативы, где нет жёстких временных рамок. Указывайте длительность игры на странице магазина — это помогает управлять ожиданиями игроков.
Среди читателей есть те, кто сталкивался? Реально на короткие игры много возвратов?
@make_game
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔21
Как вам такая новость? Вроде как Nvidia откладывает и RTX 50 Super, и следующее поколение RTX 60. Новых карточек в 2026 не будет. Впервые за 30 лет.
Инфу опубликовали The Information со ссылкой на двух инсайдеров:
🔘 RTX 50 Super (кодовое имя Kicker) — отменены. Решение принято менеджментом Nvidia в декабре 2025. Дизайн был готов, но цены на память не оправдались.
🔘 Производство текущих RTX 50 урезается на 15–20% минимум до Q3 2026.
🔘 RTX 60 (Rubin) — массовое производство планировалось на конец 2027, теперь сдвигается на 2028+.
Экономически их можно понять, доход от игровых карточек упал аж до 8% в 2025 году. Но вот по человечески за индустрию обидно.
@make_game
Инфу опубликовали The Information со ссылкой на двух инсайдеров:
Экономически их можно понять, доход от игровых карточек упал аж до 8% в 2025 году. Но вот по человечески за индустрию обидно.
@make_game
Please open Telegram to view this post
VIEW IN TELEGRAM
😢10😁9
Если собираетесь делать из игры стартап и нужны серверы в РФ, то вот актуальное сравнение пяти топовых провайдеров: кто сколько грантов на старте даёт начинающим проектам, какие программы для поддержки.
@make_game
@make_game
Tproger
Облака для стартапов: 5 провайдеров с самыми выгодными тарифами
Сравниваем облачные платформы с грантами для стартапов: Beget, Selectel, Timeweb Cloud, VK Cloud и Yandex Cloud. Разбираем условия получения грантов, доступные сервисы, тарифы и техподдержку для запуска MVP.
💊2❤1
Forwarded from Метод утёнка
Компиляция Quake как в 1997-м
Фабьен Санглар (автор Game Engine Black Book по Doom и Wolfenstein) собрал ретро-ПК и воспроизвёл сборку Win32-версий Quake — так, как это делали в id Software.
🔘 Оригинально Quake кросс-компилировался на HP-станции с NeXT через DJGPP. После релиза id перешли на Windows NT + Visual C++ 4.X
🔘 Для сборки нужен VC++ 6, исходники из оригинального q1source.zip (не с GitHub — иначе .dsw файлы молча ломаются) и целая цепочка зависимостей, которую автор сравнивает с прохождением Monkey Island
🔘 VC++ 6 для 1996 года был серьёзной IDE: Go to definition, брейкпоинты, стектрейсы. Автокомплита ещё не было
📎 https://fabiensanglard.net/compile_like_1997/index.html
@devs_books
Фабьен Санглар (автор Game Engine Black Book по Doom и Wolfenstein) собрал ретро-ПК и воспроизвёл сборку Win32-версий Quake — так, как это делали в id Software.
@devs_books
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5✍2
Все же баловались когда-то рендером фракталов? Вот вам Мандельброт на максималках: 80-bit precision, 64 сэмпла на пиксель, без зависимостей.
80-bit точность через x87 FPU даёт более глубокий зум без артефактов, а рендер изначально идёт в 15360 x 8640, а потом уже до 1080p даунсемплится. В общем вы запустите, сами поймёте.
Как вы уже поняли, я люблю всякие красивые и не очень полезные штуки 😅
📎 GitHub
@make_game
80-bit точность через x87 FPU даёт более глубокий зум без артефактов, а рендер изначально идёт в 15360 x 8640, а потом уже до 1080p даунсемплится. В общем вы запустите, сами поймёте.
Как вы уже поняли, я люблю всякие красивые и не очень полезные штуки 😅
@make_game
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2
Media is too big
VIEW IN TELEGRAM
Инди-разработчик показал horde-систему для своей игры There're Millions of Goblins. 50K врагов на экране, каждый с физикой и коллизиями, и всё это в реалтайме.
В чём основные фишки:
🔘 Враги не классические Actor'ы, а связанные системы частиц. Вся логика (коллизии, knockback, определение поверхности) написана на HLSL и считается на GPU.
🔘 Коллизии только через сферы. Позиция игрока передаётся в шейдер, дистанция считается там же, импульс применяется по расстоянию.
🔘 Автор осознанно отказался от сложного pathfinding: вместо умных врагов решил сделать ставку на количество. Это упрощает ИИ и позволяет масштабировать.
В комментах просят оружие с гравитацией и чёрными дырами, чтобы 50к гоблинов стягивало в одну точку. Было бы зрелищно :)
@make_game
В чём основные фишки:
В комментах просят оружие с гравитацией и чёрными дырами, чтобы 50к гоблинов стягивало в одну точку. Было бы зрелищно :)
@make_game
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28❤4😭1
О, тут вышло продолжение серии про сборку Quake на ретро-железе. Санглар отключил все ASM-оптимизации Абраша и измерил FPS: 42,2 упали до 22,7 на Pentium MMX 233MHz. Кармак не врал: ассемблер действительно давал x2.
🔘 63 asm-функции в 21 файле, но 65% прироста даёт одна
🔘 Главный трюк: перспективно-корректная текстура требует деления, а FDIV на Pentium занимает 39 тактов. Абраш запускает деление для следующего блока из 8 пикселей в начале текущего, и пока FPU считает, целочисленные пайплайны U/V рисуют пиксели. В коде комментарий: «this is what we've gone to all this trouble to overlap».
🔘
🔘 Ещё: self-modifying code (база colormap вшивается прямо в инструкции), полная развёртка циклов, jump table вместо ветвления на последнем блоке спана,
В общем, лучше оригинал почитайте, там подробнее и понятнее.
@make_game
D_DrawSpans8 (растеризация стен). Ещё 22% от surface caching (R_DrawSurfaceBlock8), 11% — отрисовка моделей (D_Polyset*).TransformVector — пример работы с x87 FPU. Компилятор считает три dot product последовательно и стоит на каждом fadd (ждёт результат fmul 3 такта). Абраш считает три dot product параллельно, перемешивая операции через бесплатный fxch. Ноль столлов.ja вместо двух сравнений для clamp.В общем, лучше оригинал почитайте, там подробнее и понятнее.
@make_game
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡9🫡3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Инди-разработчик Scrap Protocol делал трейлер и добавил в него ракурс 3/4, вроде как просто для красоты, не для геймплея. Игра задумана в top-down. 95% фидбэка: «Почему игра не в этом ракурсе?».
Тред набрал 1900+ апвоутов, почти все советуют переделать камеру. На практике переход на 3/4 — это переделка управления, окружения, скайбоксов, читаемости карты. Почти как новый проект. Но гляньте видео, это же намного круче, очевидно.
Хороший пример того, как подача влияет на восприятие не меньше, чем сама механика.
@make_game
Тред набрал 1900+ апвоутов, почти все советуют переделать камеру. На практике переход на 3/4 — это переделка управления, окружения, скайбоксов, читаемости карты. Почти как новый проект. Но гляньте видео, это же намного круче, очевидно.
Хороший пример того, как подача влияет на восприятие не меньше, чем сама механика.
@make_game
❤6🔥5
Media is too big
VIEW IN TELEGRAM
Один разработчик представил метод рендеринга 3D-сцен в стиле пиксель-арта, который решает главную проблему — мерцание (shimmer) при движении и вращении камеры. Это на видео.
Кратко как работает. Стандартный low-res рендер + постеризация цветов даёт «почти пиксель-арт», но при движении камеры всё мерцает — сэмплы текстур скачут хаотично. Решение: рендерим 6 камер в кубмап с привязкой к сетке → фиксим шиммер при вращении. Затем рендерим второй кубмап из статичного «пробника» (probe) и сплатим каждый тексель как квад в мировом пространстве → фиксим шиммер при движении.
А другой разработчик написал разгромный комментарий. Это самое интересное, разбор, почему подход избыточен: 12+ рендер-пассов — это до 13х оверхед по каллингу и стейт-ченджам. Корень проблемы в некогерентных позициях сэмплов в screen space, которые усиливаются постеризацией. Его альтернатива: один visibility pass в высоком разрешении → resolve в низком, где hit position квантуется в world/object space и проецируется обратно на плоскость треугольника для вычисления барицентрических координат. Результат тот же, но без лишних пассов и без артефактов disocclusion.
Или совсем просто: раз view-dependent эффектов нет, обычный TAA после квантизации уберёт весь шум почти без артефактов. «Но это менее интересно, лол»
@make_game
Кратко как работает. Стандартный low-res рендер + постеризация цветов даёт «почти пиксель-арт», но при движении камеры всё мерцает — сэмплы текстур скачут хаотично. Решение: рендерим 6 камер в кубмап с привязкой к сетке → фиксим шиммер при вращении. Затем рендерим второй кубмап из статичного «пробника» (probe) и сплатим каждый тексель как квад в мировом пространстве → фиксим шиммер при движении.
А другой разработчик написал разгромный комментарий. Это самое интересное, разбор, почему подход избыточен: 12+ рендер-пассов — это до 13х оверхед по каллингу и стейт-ченджам. Корень проблемы в некогерентных позициях сэмплов в screen space, которые усиливаются постеризацией. Его альтернатива: один visibility pass в высоком разрешении → resolve в низком, где hit position квантуется в world/object space и проецируется обратно на плоскость треугольника для вычисления барицентрических координат. Результат тот же, но без лишних пассов и без артефактов disocclusion.
Или совсем просто: раз view-dependent эффектов нет, обычный TAA после квантизации уберёт весь шум почти без артефактов. «Но это менее интересно, лол»
@make_game
🔥10🆒3
This media is not supported in your browser
VIEW IN TELEGRAM
А ещё вот интересно: зумеры открывают для себя билборды и собирают по 2,7к лайков на реддите за такие видосы. И продают это за 4,49 бакса. Или это уже альфы, а не зумеры?
Но признаю, выглядит и правда хорошо. Впрочем, меня системы частиц всегда завораживали.
@make_game
Но признаю, выглядит и правда хорошо. Впрочем, меня системы частиц всегда завораживали.
@make_game
😁16🔥5🥰2
Оказывается, на прошлой неделе вышла GPU Zen 4: Advanced Rendering Techniques. Это четвёртый том GPU Zen от Wolfgang Engel. Серия идёт ещё со времён ShaderX, потом была GPU Pro, теперь GPU Zen. Каждый выпуск по сути сборник статей от практиков индустрии про конкретные техники рендеринга.
Предыдущий том разбирал GPU-driven рендеринг из Assassin's Creed Mirage, virtual shadow maps, сортировку в compute шейдерах и стриминг текстур из Skull and Bones.
Что внутри на этот раз:
🔘 Visibility Buffer и отложенный рендеринг из DOOM: The Dark Ages
🔘 Объёмные облака и атмосфера оттуда же
🔘 Ray tracing из Assassin's Creed Shadows, включая освещение тысяч источников в Snowdrop
🔘 ReSTIR path tracing в Unreal Engine 5
🔘 Нейросетевые материалы и neural radiance caching на GPU
🔘 Стриминг ассетов в реальном времени в игровых движках
Книжка есть на амазоне, я даже думал купить и выложить, но потом решил, что не очень хочу поддерживать пиратство. По крайней мере я бы не очень хотел, чтобы мои продукты пиратили, так что будет странно пиратить других.
@make_game
Предыдущий том разбирал GPU-driven рендеринг из Assassin's Creed Mirage, virtual shadow maps, сортировку в compute шейдерах и стриминг текстур из Skull and Bones.
Что внутри на этот раз:
Книжка есть на амазоне, я даже думал купить и выложить, но потом решил, что не очень хочу поддерживать пиратство. По крайней мере я бы не очень хотел, чтобы мои продукты пиратили, так что будет странно пиратить других.
@make_game
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Media is too big
VIEW IN TELEGRAM
Один разработчик поделился результатами месяца работы над кастомным рендерером травы. Задача была в том, чтобы отрисовывать траву на огромных ландшафтах при стабильных 60 FPS.
Как устроена система:
— Terrain Provider: читает данные из стандартного покрасчика террейна Unity и конвертирует их в матрицы трансформации для BatchRendererGroup.
— Chunk Streaming: огромные массивы данных разбиваются на чанки и грузятся через Addressables. Если грузить всё разом, память быстро переполняется.
— CPU Culling через Burst: куллинг (вместе с тенями) занимает всего 1,5 мс вместо 8 мс на простых методах.
Шейдер смешивает разные карты шума (для порывов ветра и турбулентности) с волновой синусоидой, чтобы трава гнулась большими волнами — как в Horizon Zero Dawn или технодемке Time Ghost.
Главная проблема, с которой столкнулся автор — гигантский овердроу (перерисовка одних и тех же пикселей). Пришлось сильно упрощать геометрию лодов. А предрасчёт матриц для больших карт весил до 800 МБ, поэтому стриминг через Addressables оказался обязательным.
В общем, почитайте оригинальный пост, интересное. Публиковать это автор не хочет, просто делится опытом. Писал для своей игры.
@make_game
Как устроена система:
— Terrain Provider: читает данные из стандартного покрасчика террейна Unity и конвертирует их в матрицы трансформации для BatchRendererGroup.
— Chunk Streaming: огромные массивы данных разбиваются на чанки и грузятся через Addressables. Если грузить всё разом, память быстро переполняется.
— CPU Culling через Burst: куллинг (вместе с тенями) занимает всего 1,5 мс вместо 8 мс на простых методах.
Шейдер смешивает разные карты шума (для порывов ветра и турбулентности) с волновой синусоидой, чтобы трава гнулась большими волнами — как в Horizon Zero Dawn или технодемке Time Ghost.
Главная проблема, с которой столкнулся автор — гигантский овердроу (перерисовка одних и тех же пикселей). Пришлось сильно упрощать геометрию лодов. А предрасчёт матриц для больших карт весил до 800 МБ, поэтому стриминг через Addressables оказался обязательным.
В общем, почитайте оригинальный пост, интересное. Публиковать это автор не хочет, просто делится опытом. Писал для своей игры.
@make_game
❤10🔥6🤗2
Кто вы в IT? Если не нашли свой вариант — напишите в комментах
Anonymous Poll
10%
Junior
25%
Middle
18%
Senior
10%
Тимлид в разработке
3%
Руководитель не в разработке (деврел, HR, маркетинг)
11%
В IT, но не разработчик (дизайн, аналитика, продакт, техпис)
5%
Нет профессионального интереса в IT
19%
Студент / ещё не работаю в IT
Тамагочи в терминале — бывают и такие игры!
Разработчик написал на чистом bash питомца, который живёт в терминале. ASCII-кот с тремя параметрами: голод, энергия и счастье. Если не заботиться, умрёт. Можно воскресить.
Самое интересное — интеграция с bash prompt. Каждый раз, когда нажимаешь Enter, видишь:
Цвет меняется от зелёного к красному в зависимости от состояния питомца.
Как устроено:
— Чистый bash, никаких зависимостей
— systemd user service снижает параметры каждые 5 минут в фоне
— Состояние хранится в простом текстовом файле в
— Работает на любом Linux с bash 4+
Установка:
Кот код на GitHub
@make_game
Разработчик написал на чистом bash питомца, который живёт в терминале. ASCII-кот с тремя параметрами: голод, энергия и счастье. Если не заботиться, умрёт. Можно воскресить.
Самое интересное — интеграция с bash prompt. Каждый раз, когда нажимаешь Enter, видишь:
[Pixel(^.^) H:80 E:65 J:90] user@hostname:~/projects$
Цвет меняется от зелёного к красному в зависимости от состояния питомца.
Как устроено:
— Чистый bash, никаких зависимостей
— systemd user service снижает параметры каждые 5 минут в фоне
— Состояние хранится в простом текстовом файле в
~/.sshb/— Работает на любом Linux с bash 4+
Установка:
git clone https://github.com/C-GBL/sshb.git && cd sshb && ./install.sh
@make_game
🔥7❤6