Григорий Дядиченко
Ir al canal en Telegram
Разработчик игр, интерактивных стендов и интерактивной рекламы. Эксперт в области интерактивов и XR. 100+ проектов за 5 лет. По вопросам сотрудничества писать: @it_bizdev
Mostrar más2 753
Suscriptores
-424 horas
-177 días
-2930 días
Archivo de publicaciones
2 754
Живой огонь в реальном времени — как это устроено в Ignitement
https://unity.com/blog/real-time-fluid-simulation-fire-vfx-ignitement-breakdown
Соло-разработчик Sørb написал гостевой пост о технической начинке огня в своей игре Ignitement. И там есть на что посмотреть.
Вместо классических партиклов — полноценная 2D fluid simulation в реалтайме. Работает через Graphics.Blit, обновляет несколько текстур (density, velocity, temperature, reaction) и намеренно использует fragment shaders вместо compute — ради широкой совместимости.
Рендеринг огня построен на reaction texture как heightmap с parallax-эффектом. Дым — из temperature. Искры — GPU-частицы, которые сэмплируют velocity field и естественно следуют потоку воздуха. Всё самописное: никакого Shuriken, никакого VFX Graph.
Особенно интересно с освещением: reaction texture даунсэмплится в динамический light map. Один texture lookup в шейдере с небольшим сдвигом по нормали — и среда выглядит так, будто её реально освещает огонь. Тот же light map используется в UI и даже для деформации «стен из плоти» в вертексном шейдере.
Симуляционные данные не остаются на GPU: через AsyncGPUReadback они уходят на CPU и влияют на геймплей напрямую.
Из ограничений — всё 2D, вертикаль лишь приближение. Но это осознанный трейдофф: быстро, дёшево, работает везде.
Честный технический разбор от инди-разработчика, где VFX, геймплей и UI держатся на одной системе.
#unity #шейдеры #рендеринг #геймдев
2 754
Repost from Математика в Gamedev по-простому
Кватернионы через зеркала: как одно геометрическое наблюдение убивает магию формулы q·v·q⁻¹
https://dev-math.ru/articles/rotations/
12 интерактивных демо в браузере, гимбал-лок, plate trick, формулы выводятся честно из геометрии. Если q · v · q⁻¹ когда-нибудь заставляла вас захлопнуть учебник со словами «и тут, конечно же, всё интуитивно понятно» — статья ровно про это. Жду 🔥 и репостов друзьям-геймдевам 😆
В большинстве материалов кватернионы вводятся как магия: «вот вам четыре числа с условием нормировки, применяйте по формуле сэндвича, не задавайте вопросов». Я предлагаю обратный заход: показываю, что любой 3D-поворот можно получить как композицию двух отражений в плоскостях (угол между зеркалами — половина угла поворота, линия пересечения — ось), и кватернион — это просто компактная запись пары зеркал. Из этого естественно вырастает и половинный угол в формулах, и сэндвич q · v · q⁻¹ как «два полуповорота, компенсирующие искажение длины», и дважды-покрытие SO(3) — то самое, из-за чего поворот на 720° возвращает в исходное состояние, а на 360° — нет (в браузере есть честный Dirac belt trick с распутыванием лент). По дороге разбираем зоопарк альтернатив: углы Эйлера с гимбал-локом, матрицы 3×3 как «куда уехали базисные векторы», ось-угол и SLERP — каждое со своими плюсами и минусами, без объявления любимчика заранее.
#мат_геймдев #МатРазбор #кватернионы #графика
2 754
И где продвигаться?
Я пока всё еще основным каналом рекламным использую телегу. И меня конечно интересует вопрос абстрактный к бизнесам. Как дела? Вы там живые?
У меня высокий средний чек, я поржал недавно с истории про погоду и выходные, как причины проблем в экономике. Но я всегда придерживался позиции «вот даже помогать не надо, просто не мешайте» в рамках госа. Поэтому к мнению относился всегда примерно так же. По любым вопросам.
Но тут ребята помешать решили слишком сильно. Повысили налоги, одновременно с этим забанили большинство рекламных площадок, сделали так что депозиты выгоднее вложений в бизнес, а теперь вопрос, и что с этим будет дальше? Да в целом ничего хорошего, и чем дальше в лес, тем ярче будут последствия. Но это как бы детали. Как теперь бизнесы будут биться с такой налоговой нагрузкой и неэффективной рекламой для меня пока загадка.
Но думал я не про это. А про то, а в чём проблема других площадок? Есть такая техника, которую я помню со времен майкрософта в продвижении продуктов. Построение сообществ. Ты строишь сообщества и через них продвигаешь товары и услуги. Часто это были какие-то связки с дискордом и так далее. И вот я задумался, а на каких площадках в рф это можно делать. И тут меня больше всего забавляет вк.
Для меня реально загадка почему в вк алгоритмическая лента это такая помойка. Столько желтухи, каких-то непрофильных новостей. У человека который подписан на профильные сообщества и огромный цифровой след. Там просто мусорка развлекательного контента разной степени паршивости. Все крутые площадки и проекты делились траффиком с креаторами и давали им строить бизнесы. Так как просто давали инструменты и тиафик, а вы «просто творите». И вот я не знаю ни одной такой площадки в РФ по сути.
Поэтому в век когда впны, баны и так далее для меня прям загадка, а что по площадкам для людей с экспертным и полезным контентом. Понятно, что у меня аудитория это технически подкованные люди в среднем, и тут как бы ради нужных нам инструментов мы пробурим дыру в любой сети. А по остальным тематикам что? Почему мне нужно создавать что-то в вк и гнать траф, если вк мне не то что свой траф не даёт, а даже мой потом куда-то себе льет) Будто бы проще по старинке тогда, завести свою площадку.
И я в этом плане кстати в чистом виде не доверяю Max. Мне плевать на «слежку». Но меня там уже начало периодически подписывать непонятно на что. И если я начну там развивать канал плюясь от его херовых инструментов, так как я даже ботов себе не могу нужных завести. То потом моя аудитория будет видеть не мои посты и мысли, а истории о Даше Дошик (вот что она вообще забыла у меня в ленте в вк).
#мысли
2 754
Сделал викторину по математике геймдева
https://dev-math.ru/quiz/
Давно хотел собрать в одном месте те вещи, которые постоянно всплывают на собесах и в рабочих задачах. Начал с короткого списка для себя — и затянуло. Да и захотелось прикольно
Если коротко — вопросы про то, что реально ломается в проде: почему персонаж дёргается на больших координатах, когда Lerp превращается в «телепорт», зачем кватернионы, если есть углы Эйлера, и десятки подобных вещей. Если найдёте косяки — кидайте в комменты, поправлю.
Ставим 🔥 и делитесь с друзьями, если зашло. Интересно кто куда пройдет. Постарался всё сделать кайфово, в ностальгической эстетике. Как мини промо своего канала @easy_dev_math 🙂
#мат_геймдев #викторина
2 754
Драматургия через математику: как одна формула превращает генератор карт в дизайнера уровней
https://habr.com/ru/articles/1026506/
Классический алгоритм Wave Function Collapse создаёт технически валидные, но драматургически «мёртвые» карты, потому что не различает пространство: для него вход, босс-арена и выход равнозначны. Я предлагаю добавить в формулу выбора клетки семантический множитель f(W(x,y)), где W — поле весов, задающее важность каждой зоны: ключевые точки коллапсируют первыми и через propagation определяют структуру всей карты. Разбив поле W на слои (опасность, награда, направление к выходу, нарратив) и добавив модуляцию вероятности тайлов в зависимости от позиции, дизайнер получает инструмент, где задуманная идея уровня воспроизводится в каждом прогоне, а конкретная геометрия остаётся уникальной.
#новости #мат_геймдев
2 754
Как дела в коммерческом геймдеве в 2026 году
https://habr.com/ru/companies/yandex_praktikum/articles/1015522/
Романтично и показывает что люди не понимают что такое рынок игр :) Я каждый раз читая статьи надеюсь увидеть что-то от кого-то кто в рынке. А это похоже на что-то нейросетевое. Я тоже почти все пишу ИИ сейчас, большие материалы. Но прогоняя через свою экспертизу, а не просто «ну шо написало, то и выпустим».
Коммерческий геймдев и не написать про мобилки в странах СНГ :) Это для меня маркер мнения которое учитывать я не буду. Потому что когда ты идешь делать в игры в РФ за деньги (а что еще считать коммерцией), ты сразу оказываешься в мире мобилок. Когда едешь на конференции, есть романтичные инди с проектами под самые разные платформы и куча разработчиков мобильных игр.
А когда сразу речь за ААА тайтлы, то становится неинтересно читать. Особенно когда речь про бюджеты. Мне понравилось и упоминание Смуты, и Death Stranding и так далее. Ну давайте поразмышляем, почему у нас нет ААА? По большому счету автор прав, что дело в бюджетах. Дальнейшие тезисы штука чисто надуманная.
Но вернемся в прошлое. Ну вот была дьябла, варкрафт и так далее. Не было таких же легендарных тайтлов? Корсары, Аллоды, космические рейнжеры и многие другие. Которые по тем временам могли конкурировать с аналогичными легендарными играми делающимися «на энтузиазме». Это не было бунтом, это было энтузиазмом или бизнесом.
И в РФ ты вряд ли можешь быть Райаном Брантом, который привлек на старте 1.5 миллиона долларов от семьи и частных инвесторов для того, чтобы делать игры. Да и этого сейчас мало.
Казалось бы технологии улучшаются, прогресс, должно игры стать делать дешевле. Движки и так далее. Но хорошая игра это множество экспериментов, функций, контента. И тут считается всё до жути элементарно. ААА игра можно сделать в паре с заказом аутсорса, ну где-то за 2-3 года (и это еще один момент кстати, что в РФ мало кто готов столько ждать возврата от вложенного капитала). С командой скажем в 20 человек. Берн рейт этой команды будет где-то 4 миллиона в месяц, а с налогами и так далее все 5. И это получается 180 миллионов рублей. Плюс на аутсорс можно заложить еще 120. То есть где-то 3-4 миллиона долларов).
Если мне дать такую сумму и сказать вложи в того, кто за эти деньги сделает ААА проект, я думаю что я не вспомню ни одного имени. Хотя когда-то я очень много народу и крутого народу в геймдеве знал. И очень крутых ребят. Они просто крутые, но не про это. А построить такой продакшен, который создаст хоть что-то нужно понимание. А если мы делаем без опыта, то закладываем 100% перерасход бюджета. И теперь прикинем, как это отбивать и не сойти с ума)
Позиция мы дали 8 лямов баксов людям которые не умеют делать ААА игры, а ещё должны дать им денег примерно столько же на продвижение, при том что они не продвигали ААА игры. Что для этого надо? Да просто чтобы существовали инвесторы, готовые сжечь такие деньги из идеи «вдруг получится». Вернувшись к 1.5 миллионам и 21-летнему Бранту, ему тоже дали денег не как «сверх опытному». Просто на него были готовы поставить 1.5 миллиона долларов, при том что это человек тоже без опыта и так далее.
Поэтому легендарные игры, когда игры делать было не так дорого, появлялись. А с ААА уже в РФ дорого, чтобы они появились случайно. И это как бы нормально. В гараже ААА не сделаешь за миску дошика, там нужно кормить приличное количество людей. И люди еще за эти деньги должны работать, менеджеры ставить задачи ведущие к результату и так далее.
Поэтому проще сказать так. В РФ нет ААА тайтлов из-за бюджетов. Так как очень мало кто готов взять и сжечь 10 лямов баксов и смотреть, как они красиво горят. Да и я бы не стал, будь у меня такие деньги, често говоря.
#мысли
2 754
Надо что-то сказать...
Геннадий. Вот мне исполнилось 32 года. Мне нравится в такие даты проводить какие-то отсечки, так сказать как чек-поинт в игре. И что хочется сказать. Последние 1.5 года были интересные. Я прям даже ощутил как плоховастенько рыночку, но ничего — выкрутимся. Если много работать, то со временем всё равно что-то получается, по моему опыту.
Что пока произошло? Завёл новый блог, чтобы этот посвятить больше личному мнению и постам от меня, а какие-то более технические активности увести туда.
Обновил сайт. Теперь на нём есть проекты, которые мы делали. А то чисто загадочный разработчик. Что-то делал, а портфолио в публичном доступе нет. Всё же не все проекты у меня за NDA.
Сейчас делаю пару продуктов, посмотрим что из этого выйдет. Пока на рынке спец. проектов и выставок будто бы затишье. И кстати это всё ещё не игры 😆 Вот уже 10 лет я работаю с игровыми движками и графикой. Но смотрю я цифры геймдева, и игры всё ещё мне делать не особо хочется. И это в чём-то забавно.
А так, надо подумать чем заняться в этом году. Выходить на какой-то другой рынок, заняться плотнее консалтом, написать чёт своё. В общем дел много, идей не так много, но тоже имеются. А так делай что можешь и будь что будет, всё как обычно 🙂
#мысли
2 754
Продолжаем эксперименты с вайб кодингом - копипаста
Это реально джун, если его не вести за ручку. Когда у меня функционал системы разросся до того, что число функций уже самому в голове тяжело держать, у меня начали лезть куча багов "копипасты" или дублирования функционала.
Для эксперимента я пишу себе одну удобную тулзу для моего хобби. И я решил её писать целиком вайб кодингом. Чтобы заодно посмотреть во что я начну упираться. И реально клод продвинутый джун-олимпиадник. Который может писать хороший код по достаточно подробной инструкции, может писать какие-то сложные вещи, придумывать оптимизации так далее. Но и ошибается подобным образом.
У меня есть скажем один параметр. Это число отфильтрованных параметров. В общем-то я бы писал, я бы сразу понимал, что ага это штука общая вот для этих модулей и так далее. Клод пока я ему это не объяснил написал формулы расчёта дублирующиеся полностью в 4 местах.
Это не проблема, скорее говорит о принципе работы. Сильных технарей эти инструменты ускоряют просто нереально. А опять-таки не технари узнают, о чем чаще всего так долго думают технари. Продолжаем наблюдение.
P.S. Да, причем он мне по сути написал. "А я посмотрел вот тут сделано так, делаю в этом модуле так же." Идеи объединить это в общий код у него не возникло.
#оработе
2 754
Объёмные облака в URP
https://github.com/mur1q/VolumetricCloudsShader-Unity
Нашёл простой, но приятный репозиторий — реализация объёмных процедурных облаков в Unity URP. Основа — raymarching + FBM-шум для формирования формы. Поддерживает многоцветные облака, всё генерируется в реальном времени.
Автор сам говорит, что это его первый опыт с volumetric rendering — и для старта выглядит вполне достойно. Есть живое демо на itch.io, можно пощупать прямо в браузере.
Из интересного — использует академическую статью с ICCS 2024 как референс, рядом с классическими шейдерами с ShaderToy. Такой микс теории и практики в учебных проектах встречается нечасто.
#интересное #unity #шейдеры #рендеринг
2 754
Почему ваш персонаж телепортируется при высоком FPS: float precision в играх
https://habr.com/ru/articles/1020002/
Разобрал тему подробно:
→ Как float хранит числа и где теряет точность
→ Почему один и тот же код даёт разные ошибки на разных платформах
→ Floating origin, epsilon-сравнение, FixedUpdate — три приёма, которые решают проблему
Если коротко — 23 бита мантиссы хватает примерно на 7 значащих цифр. Координата растёт, дробная часть перестаёт помещаться, персонаж начинает дёргаться. Подробности и код — в статье.
#мат_геймдев #новости
2 754
Умные NPC на Unity: Steering Behaviors в подводной игре
https://habr.com/ru/articles/1019508/
Автор делает 3D-игру в духе PacMan: субмарина в подводном лабиринте охотится на рыб трёх типов — съедобные, опасные и ядовитые. Для поведения рыб он использовал Steering Behaviors — вместо заскриптованных маршрутов, движение строится из простых локальных правил: преследование, уклонение, блуждание, обход стен. Опасные и ядовитые рыбы преследуют субмарину и атакуют при сближении, а съедобные хитрее — сначала плывут навстречу, но в зоне контакта уходят боковым манёвром, и поймать их не так просто. Всё на векторной математике, повороты плавные, скорость ограничена — выглядит естественно.
По сути просто рассказ "я сделал". Почему бы и нет. Ток математический раздел будто бы лишний. Кода нет, а в формулах мне вообще непонятно что происходит. Зачем нужны e(follow) и e(p) я так и не понял. И странноватое обозначения переменных. Если статья для разработчиков, то на мой вкус лучше примеры кодом в паре к формулам, если для математиков - там даже нет какого-то нового контекста или идеи, относительно стандартной реализации данного алгоритма. Можно полистать, для тех кто не знал, и тех кто забыл про этот подход. А так, я люблю такие статьи не как материал сам по себе, а как какая-то напоминалка что "а вот ещё что существует". Когда такое периодически попадается на глаза, то оно откладывается в памяти и бывает вспоминается когда сановится необходимо.
#новости #мнение
2 754
Как это могло бы работать?
Как говорится критикуешь — предлагай. Представим что у нас есть рынок Asia & Pacific который занимает около 50% мирового сейчас по разным оценкам. Чтобы убить грантоежек, как бы нужно то, что нужно тем кто деньги зарабатывает. А это возможность заработать больше. Представим что VKPlay было бы витриной (договорившись с Tencent через госов двух стран), что все игры с китайской локализацией выходящие на вк плей попадают на площадки в китае. Ход денег пользователи -> тенсент -> вк -> разработчик. Каждый берет свою комиссию + государтсво налоги. Допустим этот путь стоит даже 60% от того, что заплатил пользователь. Выходя на вк плей разрабочик уже рассчитывает на рынок в 30-40 раз больше, чем рынок РФ. Да даже 80% история рабочая. Гос получает налог на части пути от вк и это тоже не маленькая сумма от 100 миллиардов рынка. Если брать все относительно цифры в 4 ярда. По сути тоже самое, чем занимаются маркетплейсы. Marketing as a service.
Ну это так, фантазии на тему. Даже акселераторы где можно было бы познакомиться с теми, что за разумный процент даст выйти на китайский рынок было бы уже интересно. Так как все же хотят зарабатывать. Если есть те кто что-то производят, и кто-то кому это можно продать, то посередине должны быть люди/компании, которые за разумный процент упростят этот путь.
Чтобы как-то завершить мысль из прошлого поста. А так, конечно фантазии, так как на мой взгляд некому таким даже заниматься. И никому это особо неинтересно. Но как говорится настоящим бизнесменам не нужны деньги, им нужны возможности заработать. И тут гос, как родители которые пытаются откупиться деньги, не вникающие в суть проблем. Но при этом не богатые, поэтому и денег немного.
Из-за этого меня на самом деле концептуально раздражает состояние текущего рынка. Платформы которые взлетели позволяли зарабатывать. Ютуб, телеграм и так далее никогда не давали денег. Они давали удочку, чтобы ловить рыбу. И на этом много кто вырос. А альтернативные площадки в рф такой возможности не дают. Там есть игроки которые собирают трафик себе, а технологии что они предоставляют не стоят того, чтобы гнать в их экосистему больше трафика и работать над удержанием аудитории на платформе. Это забавная позиция, что мы вам заработать не дадим, но вы нам принесите контент и аудиторию. Вдруг у вас получится.
#мнение
2 754
И это я не беру ещё гранты ИРИ. Которые утром игры, вечером деньги. А можно деньги утром? Можно, но игры вперед. Так как там грант на моей памяти давался на готовую игру по сути. И там у меня по математике выходило, что они просто снижают мне стоимость привлечения аудитории. А это значит что либо мне самому надо вложиться, либо найти венчурного инвестора. Венчурные инвестиции в РФ найти на игры приключение такое, что проще обычным айти заниматься и так далее.
Даже сейчас, когда мой b2b рынок можно сказать подох (спец проекты сейчас чувтсвуют себя очень плохо) я рассматриваю много разных других историй. Но точно не игры делать в РФ. Хотя я занимался ими столько лет и общался с кучей умных людей из старой школы этого рынка. И меня как человека опытного бюрократия не пугает. Я просто не понимаю как сделать так, чтобы это билось в плюс. И поэтому скажи мне и покажи на простом кейсе, что вот Гришка, мы поможем выйти в Китай без сильной головной боли. Я бы может пересмотрел своё мнение. А то что там бумажки нужно собрать и в очереди за талоном отстоять - для этого существуют специально обученные люди. Что игру нужно делать "на тему". Да не вопрос, я про бизнес эксперт в первую очередь.
#новости #мысли
2 754
10 миллиардов на игры — и ни одной, в которую хочется играть
https://habr.com/ru/articles/1019130/
О чём статья кратко. Государство вложило в российский геймдев миллиарды, обучило тысячи разработчиков и профинансировало десятки игр — но в них никто не играет, потому что вся система заточена на получение грантов, а не на создание продуктов, которые нужны игрокам.
И я с ней скорее не согласен, кроме того, что грантовая история, с её трением, вообще штука забавная. К настоящим барьерам для опытных разработчиков. Первый и главный - никто особо не хочет в здравом уме связываться с гос. деньгами. Потому что это очень сложные деньги. Бюрократия и тому подобное. По сути как и мне не хочется заниматься в аутсорсе гос. тендерами. Это требует отдельного человека задачей которого будет составлять документацию. И это не так страшно. Страшнее что задача тех кто работает на этом рынке не сделать продукт, а получить грант. Я в целом не люблю грантоежек ещё со времен когда я тусовался рядом с рынком стартапов и геймдева такого плана.
Второе объём рынка и не соответствующие продукты. Если брать рынок россии - можно забить. CIS (а это не россия, а все страны СНГ) всё так же занимаю 2% мирового рынка. Основной рынок сейчас на который "можно выйти" - это азия. И на мой взгляд полезнее всех этих грантов была бы процедура выхода на китайский рынок с российского юр. лица, или даже через государственные механизмы. И другие азиатские страны.
Но ладно, 2% и 2%, а сколько это в деньгах? Навскидку при том что общий объём рынка у нас 200 ярдов долларов, то объём рынка СНГ около 4 ярдов. Работать на самом деле можно. Но структурно у нас ещё основа это мобайл, а говоря про игры, автор статьи говорит про ИГРЫ. А на пк остаётся дай бог 1 ярд. Если мы говорим не про геймдев, а про ИГРЫ. И тут вопрос с чем мы конкурируем и как выдержать конкуренцию скажем - реалистично. А конкурируем мы со всем миром за это 1 миллиард долларов. И тут наши решили заняться блокировками, чтобы нужно было кактус сожрать чтобы поставить игру. Только будто бы не учитывается, что речь про людей которые в школе становились сис админами, чтобы поиграть по сетке с другом в сакред, в кс или в героев. Где пока не было интернета много где была своя локалка, по которой люди играли. И сейчас когда есть тонна информации в доступе, куча путей и бизнесах строящихся на обходах блокировок, так как на том рынке есть спрос. Это прям вот самое бесполезное занятие и траты бюджетов (ведь это не бесплатно).
В реальности же вопрос маркетинга. Скоров выхода, продвижения, возможности установки игр на площадках удобных игрокам. Рынок и так такой, что разработчики игр это воробушки бьющиеся на крошку хлеба с орлами. При этом с ограничениями на инструменты и прочее, нужно либо что-то выдумывать. Либо орлы вооружены у нас мечами, а мы деревянными палками.
При этом никого не учат ключевому на самом деле - маркетингу, продвижению, закупке трафика. Но это в целом прикол геймдева, там всё ещё верят в сказку будто бы "вы сделайте крутую игру, и игроки появятся". Я закопал 3 продукта, потому что начинал их делать без стратегии продвижения и не знал, сколько мне обойдется вывести их на рынок. Все мероприятия не бизнесовые и посвящены по сути продакшену.
В общем статья то прикольная. Но выводы непонятные. На бюрократию пофигу, она факт. Игры делать может взрослый бизнес, который нанял человека на бумажки, и он ими занимается. Просто нет толку от денег для людей, которые не понимают как рынок игр даже в целом устроен. Самая частая проблема что люди берутся за слишком амбициозные задачи, думая что им хватит бюджета, на который миску риса то не купишь. И потом разбиваются и бросают игры, потому что их государство спрашивает "ты же сказал что шаришь в этой теме". Реальных экспертов в РФ из старого геймдева осталось мало. И самым полезным были бы не деньги, а понятный механизм выхода на рынки, где понятно как вложения отбить.
2 754
Shrink Your Build: отключаем физику в Unity 6.3
https://medium.com/@lemapp09/adaptive-development-shrink-your-build-a5d85798e14c
В Unity 6.3 появился официальный способ полностью отключить физический движок при сборке — PhysX или Box2D. Раньше это тоже было возможно через удаление пакетов в Package Manager, но требовало ручной работы и могло аукнуться ошибками компиляции.
Теперь в Project Settings > Player > Global Settings > Optimization есть параметр Physics Runtime. Ставишь None — и при следующей сборке физическая библиотека вырезается полностью. Несколько мегабайт долой, FixedUpdate больше не тикает, буферы под коллизии не выделяются. Для WebGL и мобилок — ощутимо.
Если физика не нужна, взамен OnCollisionEnter и Raycast используем обычную математику. Проверка расстояния через Vector3.Distance или sqrMagnitude вместо коллайдеров — для UI-игр, карточных и головоломок это и быстрее, и честнее.
#unity #optimization #webgl #gamedev
2 754
Почему нейросети так сложно починить
Есть такой термин в разработке — whack-a-mole. Отсылка к классическому аркадному аттракциону: кроты вылезают из дырок, ты бьёшь по одному молотком — вылезает другой. В разработке так называют ситуацию когда фикс одной проблемы порождает другую.
С ИИ-кодогенерацией это случается постоянно и у всех.
Типичный сценарий: просишь Cursor поправить баг в системе инвентаря. Он правит. Запускаешь — баг исчез, но сломалась логика стаков предметов которую он не видел в контексте. Просишь починить стаки — ломается сортировка. Чинишь сортировку — возвращается исходный баг в другом месте.
Проблема не в том что модель "плохая". Проблема в том что у неё нет глобального понимания системы — только контекстное окно. Она оптимизирует локально, не видя что происходит на три файла левее. Каждый фикс корректен в изоляции и ломает что-то за её горизонтом видимости.
Лечится это не "лучшими промптами", а архитектурой. Чем лучше система разбита на независимые модули с чёткими контрактами — тем меньше у модели шансов задеть что-то за пределами её контекста. Небольшой изолированный модуль с понятным интерфейсом — это именно тот масштаб на котором AI работает хорошо.
Проблема в том что спроектировать такую систему нельзя делегировать той же нейросети. Это решение принимается до того как написана первая строчка кода, и требует понимания всей системы целиком — того чего у модели по определению нет.
Поэтому при переходе на AI-кодогенерацию писать код становится проще. А понимать как его организовать — теперь важнее чем раньше.
#мнение #ии
2 754
Ответ: б) Только А — Б и В эквивалентны по аллокациям
new WaitForSeconds(1f) внутри цикла создаёт новый объект на heap при каждой итерации. Раз в секунду — новый объект, GC копит мусор.
Б: объект создаётся один раз в поле класса, дальше каждый yield передаёт один и тот же экземпляр. Ноль аллокаций в цикле.
В: yield return null приостанавливает корутину до следующего кадра без каких-либо аллокаций.
Паттерн кэшировния работает для всех встроенных yield-инструкций:
private readonly WaitForSeconds _wait1sec = new WaitForSeconds(1f);
private readonly WaitForEndOfFrame _waitFrame = new WaitForEndOfFrame();
private readonly WaitForFixedUpdate _waitFixed = new WaitForFixedUpdate();
Мелочь, но на горячих корутинах которые рестартуют часто — ощутимо.
#задачка #unity #оптимизация2 754
Задачка: три паттерна корутин
// А
IEnumerator Loop()
{
while (true)
yield return new WaitForSeconds(1f);
}
// Б
private WaitForSeconds _wait = new WaitForSeconds(1f);
IEnumerator Loop()
{
while (true)
yield return _wait;
}
// В
IEnumerator Loop()
{
while (true)
yield return null;
}
Какой из паттернов аллоцирует при каждой итерации цикла?
Варианты:
а) Все три — любой yield return создаёт нагрузку на GC, разница только в частоте - 🤷♂️
б) Только А — Б и В эквивалентны по аллокациям между итерациями - 🤷♀️
в) А и В — Б единственный который не аллоцирует повторно - 🤷
Ответ вечером 🙂
#задачка #unity #оптимизация2 754
Киберпанк, который мы заслужили
Искусственный интеллект. ИИ агенты. И прочие достижения современных технологий. Но Сбер остается Сбербанком. Это просто прикол. Марку не теряет даже в текущие непростые времена.
Я что-то с утра поделал дела и вспомнил, что хотел на неделе поставить себе приложение сбера. Веб версию им видимо писало ИИ, поэтому там работают переводы через жопу. То есть у них что-то не так с смс гейтом при отправке денег по СБП, поэтому смс с кодом мне может прийти минут через 20 после запроса. С впн, без впн, без разницы. И решил прогуляться пешком до сбера, тут у нас в горах, подышать воздухом, полюбоваться видами. В общем час шел пешком, даже подустать успел.
Захожу в сбер, беру талончик, подхожу и узнаю забавный факт. Чтобы поставить приложение Сбера мне нужен паспорт. А я его как на зло сегодня не брал. Но это прям уровень. При этом ни карта, ни что другое не подходит. Бумажный паспорт подавай. Скоро чую будет «там где приложение устанавливал, там и переустанавливай». Жаль я уехал и не спросил, а цифровой паспорт из госуслуг подойдёт, или нужен вот обязательно бумажный. Но подозреваю что второе.
Мне кажется нужно уже пойти дальше, и чтобы установить приложение макс, госуслуги или сбер, нужно требовать справку о несудимости и из психдиспанцера. А то вдруг это я, но я с ума сошел или мошенник. А зачем нам в наших системах мошенники?
#мнение
2 754
Отладка Color LUT в Custom SRP
https://catlikecoding.com/unity/custom-srp/6-1-0/
Когда настраиваешь color grading — хочется видеть что именно происходит с LUT-текстурой. Раньше единственный способ подсмотреть — лезть в Frame Debugger. Неудобно.
В этом обновлении в Rendering Debugger добавили переключатель Show Color LUT. Включаешь — и внизу экрана появляется полоска с текущей LUT-текстурой камеры. Работает и в редакторе, и в билде.
Под капотом — отдельный шейдерный проход, который вручную строит прямоугольник прямо в clip space из шести вершин. Высота полоски масштабируется по разрешению LUT (16/32/64), чтобы пропорции не ломались. Никакого меша — только SV_VertexID и математика.
Заодно починили старый баг: если камера рендерила в RenderTexture-ассет, картинка уходила в никуда. Теперь рендерер проверяет camera.targetTexture и использует его напрямую, если он задан.
Небольшой туториал, но из тех что учат думать о дебаг-инструментах как о полноценной фиче, а не afterthought.
#unity #srp #шейдеры #renderpipeline
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
