tgindex
Яковлев Илья | Всё про Unity-разработку

Яковлев Илья | Всё про Unity-разработку

Статистика

Unity и разговоры про разработку. Честно о том, как всё работает на практике: «затыки» в геймдеве, странные решения и почему иногда «неидеально» - это нормально. Научишься понимать логику решений, а не просто повторять шаги из туториалов.

Последний пост
14 авг.
Последнее чтение
12:46
Постов за неделю
1
Всего постов
25
Тип
открытый
Язык
русский
Категория
Технологии (по похожим)
В каталоге с
12 авг.
Подписчики
6 745
+5 за 4 дн.
Сутки
+2
+0,03%
Неделя
 
Месяц
 
Просмотров на пост
4 116
24 постов
Вовлечённость
61,0%
к подписчикам
Постов в день
0,1
всего 25
Упоминаний
5
каналов
Охват размещения
оценка
1/24сутки в ленте
1 287
1/48двое суток
1 474
1/72трое суток
1 590

Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.

Посты

  • 14 авг.1 451982

    Небольшой пост благодарности Ребят, хотел сказать спасибо за поддержку под последним роликом! За несколько дней 20к просмотров на таком длинном видосе - это очень круто) На самом деле это и последний опрос который я проводил показывает что довольно большая часть моей аудитории уже давно выросла из условного junior уровня и интерес переключается на повышение грейда, различные прод. решения и инструменты, желание реализовывать более сложные и интересные проекты, чтобы не просто доводить игры до релиза, но и иметь возможность их долгое время поддерживать, пичкать более интересными механиками и будоражить умы игроков!). Поэтому постараюсь соответствовать:) Уже многие из моих учеников и подписчиков благодаря создаваемому контенту смогли найти свое место в геймдеве и надо прокачкой теперь заниматься получается😅 ✔️ Уже готовлю пару новых роликов по кейсам использования ИИ в юнити и по архитектурным моментам использования ECS в проектах ✔️ Также на подходе новые архитектурные постики, буду показывать как мы живем на проектах с ECS, как управляем контентом, что вам может из этого пригодится у себя в играх и при повышении грейда на работе ✔️ Кроме того уже долгое время я откладывал новый обучающий проект, который постепенно разрабатывается и думаю уже этой осенью мы с командой доведем его до конца и будет что-то очень мощное🤪 В общем готовьтесь ибо заряд мотивации я от вас получил!🔥 Получать отдачу от своей деятельности все таки очень приятно, спасибо!🥰

  • 9 авг.2 70111234

    Это дает гибкость, это дает оптимизацию, это просят в вакансиях и используют в студиях... Что это? ECS!) 🔥 И именно о переходе с ООП на ECS новое видео! - https://youtu.be/xLW1XswyRzE Ребят, очень много сил вложили в ролик, постарался поделиться всем необходимым чтобы вы не боялись использовать новые подходы в разработке и смогли добавить новый пунктик в резюме или улучшить разработку своих игр. Поэтому очень надеюсь на вашу поддержку под роликом: 🥰 Лайки, время просмотра и комментарии - все учитывается для продвижения видоса, поэтому рассчитываю на вас!) p.s. ВСЕ МАТЕРИАЛЫ К РОЛИКУ ПОД ЭТИМ ПОСТОМ👇

  • 7 авг.2 8201046

    Кажется в это воскресенье что-то будет… (больше часа на минуточку!) Ждете?🔥

  • 4 авг.3 8443555

    Обещанные скилы для PerfMeter 🔥 Чет немножко задержался с постом, но надеюсь простительно:) В прошлом посте рассказывал про sgg-perfmeter - тулзу для анализа производительности в Unity. Реакции вы накидали - так что держите скилы, которые мы написали поверх этого пакета. Что за скилы внутри: 🔣 perfmeter-prep - подготовка замера. Агент сам интервьюирует тебя: что мерим (CPU / GPU / overdraw / память / draw calls), где (editor или Development Build на устройстве), сколько по времени и тп - потом собирает план и настраивает конфиг пакета. Заодно знает грабли, на которые мы уже наступали 🔣 perfmeter-mark - ручной замер по кнопке. Агент ставит в проект временную debug-кнопку поверх экрана: тыкаешь START перед интересным моментом, STOP - после. Кнопка зпаписывает сессию PerfMeter, пишет маркеры в logcat и экспортит JSON. Агент по маркерам вычисляет окно замера, тянет данные и сам классифицирует, во что упёрся кадр. После замера вычищает кнопку за собой. 🔣 grill-me - механизм интервью (я им уже делился раньше, но тут один из скилов ссылается на него), на котором держится prep. Агент дожимает вопросами по одному, пока не закроет всё дерево решений. Он, кстати, универсальный - им можно стресс-тестить вообще любой план или дизайн, не только профайлинг Подключение простое: кинуть папки в .claude/skills/ проекта - агент подхватит сам + в README написано, что подправить под свой проект (целевой FPS, package id и пара мелочей) - можете тоже скормить агенту Все файлы в комментариях 😍 🔥🔥🔥

  • 28 июл.4 587211214

    Хочу поделиться очень крутой тулзой🔥 Последние пару месяцев на проекте пользуемся ИИ инструментом для анализа производительности (нашли чисто случайно на просторах интернета). Очень крутая штука, позволяет: 🔣 Видеть узкие места кадра прямо во время игры - оверлеем поверх картинки, и в редакторе, и на устройстве. 🔣 Понимать во что именно упёрся кадр: CPU, GPU, VSync или overdraw - тулза сама классифицирует 🔣 Записывать сессии профилирования и экспортировать в JSON/CSV - чтобы сравнивать прогоны между версиями сборки, а не скриншотить профайлер руками 🔣 Подключить ИИ-агента через MCP: он читает данные профайлера напрямую и сам находит узкое место и предлагает, что оптимизировать И на самом деле много чего еще Вот ссылочка https://github.com/romanilyin/sgg-perfmeter - попробуйте, возможно понравится:) Кстати мы еще скилы дополнительные написали под это, если интересно - накидайте 100🔥 и поделюсь в одном из следующих постов с описанием

  • 24 июл.4 033207

    Тут кажись у меня день рождения😳 На самом деле хотел к дню рождения сделать для вас подарок в виде ролика по ECS, но чутка не успеваем - все монтажится, поэтому вот-вот на днях!)🔥 А так, надо наверное что-то за год резюмировать: 1) Еще один год я рад тому, что связал свою жизнь с геймдевом. Да, трудности бывают всегда и во всех сферах, но гораздо легче их переживать, когда занимаешься любимым делом и я рад, что смотрю на создаваемые игровые механики, а не просто на циферки и буковки 2) Еще на один год я стал ближе к реализации мечты о создании своей студии и своих игр, медленно но верно идем к цели!) 3) Еще один год принес мне кучу крутых учеников, знакомств и возможностей по общаться с людьми заряженными своим делом 4) А еще за этот год произошло несколько секретных личных вещей (например, у меня появилась невеста😇, но об этом, возможно, как-нибудь еще расскажу, особо личную жизнь на показ выставлять не люблю😅) Жалею ли я о чем-то? Наверное о паре вещей: 1) Этот год было тяжко с ютубом и соц. сетями. Не совсем хватало сил делать что - то публичное, полезное и крутое, постоянные ограничения, постоянные какие-то палки в колеса вставляются отовсюду, но уже исправляюсь и постараюсь чаще вас радовать полезностями 2) Слишком много времени нервничаю и переживаю о возникающих трудностях, даже каких-то мелких, хотя все и всегда получалось перебарывать:) Но также работаю над этим, стойкость - главный залог успеха как никак Возможно немножко сухо, но вот какие-то такие мысли сегодня крутятся:) Настрой боевой, настроение конкретно сейчас - вообще отличное и не смотря на ситуацию в стране и в мире я верю, что у нас с вами все в этой жизни получится! Нужно только бороться за свои мечты и не опускать руки p.s. поздравления принимаются ❤️

  • 21 июл.3 6915593

    Нашел оч крутой видос где разбирается боевка ведьмака Тут и коллизии и анимации, и в какой момент происходит детект урона, ограничения системы и тд. Сам к некоторым вещам похожим приходил, поэтому очень полезно будет на досуге глянуть https://www.youtube.com/watch?v=RaDorUoa-p8

  • 18 июл.4 5767

    без подписи

  • 18 июл.4 3067

    без подписи

  • 18 июл.3 9277

    без подписи

  • 18 июл.3 332777

    Поберегите себя Тут периодически по чатикам вижу, что ребята под хайп нейронок решили начать писать свои движки для игр Раньше тоже были энтузиасты, но щас их концентрация повысилась (как будто щас с агентом фигня делов написать подобное) Так вот хочу сказать - поберегите силы. Вы не представляете куда лезете и агенты тут вас не спасут😅 Я даже не говорю про сложность написания рендера, физики и тп (если не брать готовые либы), которые агент скорее всего качественно не вытянет. Даже если вы сделаете что-то визуально адекватное, то потом сума сойдете при реализации сборки билдов, редакторов, постоянной поддержке под новые требования сторов и тп. Какой-нибудь юнити или UE это не просто конструктор с компонентами физики, сценками и визуалом - а нифиговый такой набор всего помимо (от плагинов, поддержки сообщества и тонны ассетов до поддержки кроссплатформенности, кучи специфических решений и тд) Если цель поразвлекаться и сказать я написал свой движок - то можно попробовать, но если цель выпускать игры, то бегите от этой идеи по дальше

  • Channel photo updated

  • 13 июл.4 3931959

    Делюсь хорошими новостями:) 1) Сценарий к видосу по ECS готов. Как с работой до разберусь - сяду за запись. Получилось БОЛЬШЕ 30 страниц ворда:) Т.е. контента будет примерно на часа полтора с лишним от базы, до более продвинутых вещей 2) Посоветовались с командой, прикинули варианты и решили, что ролик будет на основе фреймворка Morpeh, а не Entitas. Entitas хоть и дружелюбнее по синтаксису, но решил взять более современное и производительное решение + придумал как завернуть на его основе объяснение даже лучше, чем планировал с Entitas'ом без лишних кодогенераторов, так что думаю вход в ECS будет максимально приятным:) 3) Ну и поделюсь некоторыми полезными наработками для IDE чтобы код можно было писать быстрее и приятнее Думаю тут можно и поддержать 🔥

  • 11 июл.4 1158864

    Ускорение работы редактора, за пару нажатий #разработка_на_практике #лайфхаки (не забудьте 🔥 если нравится такое) Я думаю у многих на не очень мощных машинах при нажатии Play Mode бывает залипание редактора на 5-10-20 секунд в зависимости от жирности проекта. Так вот, бОльшую часть этого ожидания съедает штука под названием Domain Reload — и её можно выключить. 🧐 Что вообще происходит, когда ты жмёшь Play По умолчанию Unity при входе в Play Mode делает вид, что ты запустил игру с нуля. Для этого он перезагружает домен - это обеспечивает полностью новое состояние скриптов и сбрасывает все статические поля и зарегистрированные обработчики при каждом запуске ❌ Именно этот сброс и съедает те самые секунды. Чем больше проект, тем дольше ✔️ Лайфхак Project Settings → Editor → Enter Play Mode Settings → выключаем Reload Domain (скрин прикрепил) Всё. Вход в Play Mode начинает занимать доли секунды вместо 5-20 ⚠️ Но за скорость надо заплатить Раз домен больше не перезагружается, следовательно статики не сбрасываются между запусками, а значит со статикой начинаются проблемы ⁃ Синглтоны так и держат ссылку на объект из прошлой сессии ⁃ Статические ивенты. Если у тебя static event, на который подписываются, то старые подписки никуда не делись ⁃ Статические коллекции. Всякие static List копят мусор из прошлых сессий, потому что почистить их некому 👉 Как чинить Unity даёт крючок, который отрабатывает в самом начале каждого входа в Play, даже с выключенным доменом: static class StaticReset { [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] static void Reset() { Player.Instance = null; //сбросили синглтон GameEvents.OnScoreChanged = null; // сбросили подписчиков Registry.All.Clear(); //почистили статик коллекцию } } SubsystemRegistration - это самая ранняя точка, ещё до загрузки сцены. Тут руками возвращаешь статики в то состояние, в котором они должны быть на старте 🙂 Причём это скорее фича, чем баг Все эти проблемы с недосброшенными статиками были у тебя и раньше, просто домен их прятал. Как только выключаешь Reload Domain, весь скрытый глобальный стейт вылезает наружу. И часто оказывается, что от статиков и жёстких завязок на них лучше вообще избавиться, а не подпирать ручными сбросами. Так что настройка ещё и подсвечивает слабые места архитектуры) 🔥

  • 7 июл.4 0939194

    Как делаются самые гибкие системы способностей? #разработка_на_практике #лайфхаки По началу кажется что лучший вариант это какой-нибудь интерфейс IAbility с методом use() и дальше реализуешь классы каких хочешь способностей. На самом деле вариант неплохой, если у тебя несколько простых способностей на игру, но если подразумевается множество эффектов, статусов и прочего, то такой подход быстро превратится в ад. 20 способностей -> 20 классов, с кучей дубляжа логики и при этом отсутвием бесплатно сделать, например абилку выпускающую 10 горящих стрел, даующую вампиризм и баф скорости одновременно🙃 ✔️ На самом деле, все действительно гибкие системы способностей объединяет одно: сдвиг на данные Т.е. надо принять тот факт, что абилка - это на самом деле не объект, а просто набор данных Вот сами задумайтесь. В целом все способности можно описать теми или иными данными: 👉 на кого способность работает (тип сущности или команда) 👉 куда спавним объект (позиция) 👉 что происходит при использовании (урон, хил, накладывание какого-то статус эффекта) 👉 какая область применения (описание формы) Все это не логика, а параметры. А значит мы можем описывать способности, чисто конфигами (хоть json'ами, хоть настраивать в scriptable object), кстати прикрепил для примера скрин с конфигурацией одной из абилок у нас в игре (увеличение скорости) 🧐 Вопрос что делать с данными? НИ В КОЕМ СЛУЧАЕ НЕ ДОБАВЛЯТЬ ПОВЕДЕНИЕ НА САМИ СПОСОБНОСТИ Правильный подход примерно такой: 👉 Абилка ничего не делает сама. Она просто описывает набор данных. 👉 А делают - отдельные маленькие обработчики, которые отвечают за обработку той или иной части информации об абилке. Обработчик урона наносит урон, обработчик какого-то статуса обрабатывает статус и тд В идеале если: данные абилки не знают о логике, логика не знает про конкретные абилки В целом по описанию понятно, что какой-нибудь ECS в целом из коробки дает подобные неплохие возможности (сущности - данные, системы - логика и обработчики), но если у вас проект пишется на ООП, то можно попробовать самостоятельно выстроить подобную систему. Например у персонажа будет храниться список эффектов/абилок/статусов и к этому персонажу цепляем системки, которые с персонажа вытягивают, надо и крутят логику 🧐 Что это даёт: 👉 новая абилка = комбинация уже готовых эффектов, ноль нового кода 👉 баланс и сборку абилок можно отдать дизайнеру 👉 те же эффекты переиспользуются везде - мы можем заготовить эффект яда, а накладывать его будут различные зоны, абилки, какие-то игровые триггеры и так далее p.s. понимаю, что вопрос этот не одного поста, но мне в свое время очень сильно помогло изучение официальной доки того как устроены способности в доте 2 (для кастомных игр описываются возможности), почитайте, возможно тоже зарядитесь крутыми идеями:)

  • 1 июл.4 48711725

    🧐 CI/CD с чего начать и кому он нужен? Недавно выходил пост о кастомной сборке билда через скрипт, который очень упрощает тестирование билдов и там вы просили подробнее начать раскрывать тему CI/CD - поэтому начинаем:) CI/CD (Continuous Integration / Continuous Delivery) - это некоторый набор инструментов, который позволяет автоматизировать процесс сборки вашего билда и доставки его до сторов, либо же до вашего телеграмма как вариант:) ❗️ Т.е. до внедрения CI/CD пайлпайн сборки билда и его тестирования примерно такой: - вы запускаете сборку билда (дай бог без ошибок) - 20-30 минут ждете сборку (и ничего не делаете в этот момент) - Потом отправляете команде как вариант для тестирования (и дай бог, чтобы все были на месте и эта история не растянулась на часы) - Потом уже думаете выкладывать в стор или собирать новый билд (привет все заново) А представьте, что выделаете билд и под ПК и под Андроид, например, а если еще addressables используете или тесты?) Сразу умножаем затраты времени в несколько раз ✔️ После внедрения CI/CD: - сделали коммит, и пошли дальше делать задачи, пока в облаке собирается билд, собирается контент и автоматически, например все заливается на облако, отправляется команде через бота в ТГ или сразу в магазин Т.е. эта история про то, что вы экономите тонну времени и сил, как своих (в первую очередь своих), так и команды 🔣 Кому это может быть полезно? Да на самом деле всем, кто не просто развлекается в редакторе, а делает игру, которую собирается билдить и выпускать. Один раз повозиться с настройкой CI/CD и спокойно дальше автоматизировать сборку билда и отсылку его себе в тг будет полезно даже для одиночки 🔣 С чего можно начать? На самом деле основных варианта я вижу 2: 1) Unity CI/CD - решение от самих юнитеков. Из плюсов довольно просто интегрируется с юнькой, но при этом есть ограничения по кастомизации. Можно попробовать бесплатно, но все таки, чтобы более менее нормально работать нужно будет платить денежки 2) CI/CD на Gihub actions - как по мне самый интересный вариант, опять же довольно не сложный по настройке, можно писать кастомные пайплайны сборок + можно жить даже бесплатно (по крайней мере если у вас нет сборок на 10 платформ параллельно и не сильно большая команда). Там есть и бесплатное харнилище под созданные сборки и под кэш для ускорения сборок, так что я бы наверное советовал глянуть в эту сторону. Получите и довольно полный опыт настройки CI/CD и при этом не потеряете сильно в удобстве Есть и более продвинутые системы по типу team city или jenkins, но на самом деле я бы не лез туда, т.к. там очень много кастомизации и надо за всем следить, если у вас нет отдельных ресурсов под настройку и поддержку этого дела, то стоит скипнуть p.s. если хочется продолжения этой темы, то ставьте 🔥:)

  • 28 июн.4 972673

    К вам вопросик по предстоящему ролику:) Реакций собрали много - получается делаю материал) План такой, что разберем сначала теоретически в чем вообще суть и какие проблемы разработки игры ECS помогает решить + будем на практике разбирать примеры в сравнении с ООП реализацией, чтобы было чему именно надо щелкнуть в голове Будем разбираться на примере фреймворка Entitas ECS - как по мне самый лучший вариант, чтобы начать разработку в этой парадигме и реально ускорить/упростить производство игры + уже 100 раз обкатан в продакшене (да, знаю, что он может быть не такой максимально производительный как некоторые другие реализации, но чаще всего сверх производительности в замен удобству никому и не надо, да и перейти на другой ECS фреймворк, понимая суть работы не так сложно) + мы на проектах также его используем 😅DOTS от юнити брать не хочу, т.к. он постоянно допиливается + в течении 2-3 лет я так понимаю юнитеки там снова все переделают чертовой бабушке Единственное у меня есть вопрос к вам: 🔣 Хочется по длиннее ролик (с установкой фреймворка/генератора кода, немного по больше механик/объяснений), или по короче (минут 15-20 сравнить основные аспекты)?

  • 26 июн.4 8114094

    Ребят, хотите видос по смене мышления с ООП на ECS? Т.е. как переключиться на ECS после ООП, аналогии между подходами, как одно и то же реализуется в двух подходах возможно и тп. В общем некоторое введение в ECS, чтобы можно было стартовать с каким-то пониманием происходящего? да - 🔥 лучше другую тему - 👎

  • 24 июн.5 784366

    UI Toolkit стал лучше? Наверное одна из моих самых нелюбимых частей разработки игры - это верстка интерфейсов на наших любимых канвасах. Каждый раз это ощущается как прохождение через боль (немного преувеличиваю, конечно, но процесс не самый приятный) 🧐 И вот вроде есть UIToolkit, который должен эти проблемы решить и сделать верстку UI понятной и удобной, но я никак не решаюсь его тянуть где-нибудь в продакшн. Он постоянно кажется недоработанным (как и DOTS, NetCodeForGO и тд. СПАСИБО ЮНИТИ). Однако начиная с версии 6.4 там много чего приятного добавили в виде UI шейдеров, нормальную поддержку world canvas'ов, даже поддержку SVG! И я это все попробовал - в целом круто, однако смотришь потом треды тематические и понимаешь, что при глубоком использовании снова вылезает куча проблем и недоработок В связи с чем хотелось бы у вас узнать ребят, кто уже реально тянул к себе в проект этот пакет (именно в геймплей, а не для редактора) и как оно ощущается/работает в долгосроке?

  • 21 июн.5 5995344

    🧐 Как ПРАВИЛЬНО начинать пользоваться нейронками в разработке игр? Хочется, чтобы вы, ребят, переставали бессмысленно вайбкодить недоделанные игрульки как было в одном из моих забавных недавних роликов и смотрели на агентов уже все таки больше как на реальный инструмент разработки умножающий ваши имеющиеся навыки Поэтому выложил новый видосик, где разбираю первые основные шаги, которых ОБЯЗАТЕЛЬНО надо придерживаться, чтобы стартовать освоение этого инструмента + делюсь опытом из студии 👀 Смотреть тут -> https://www.youtube.com/watch?v=5EBTIKAV05k p.s. отпишитесь в комментариях, как вам такой формат видосов, где я прям вживую показываю/рассказываю те или иные штуки?) ❗️ p.s.s. ОБЕЩАННЫЕ ФАЙЛЫ ИЗ ВИДОСА В КОММЕНТАРИЯХ К ЭТОМУ ПОСТУ ❗️