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

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

@yakovlev_gamedev

Unity и разговоры про разработку.

Честно о том, как всё работает на практике: «затыки» в геймдеве, странные решения и почему иногда «неидеально» - это нормально.
Научишься понимать логику решений, а не просто повторять шаги из туториалов.
Subscribers
6.88K
Photos
439
Videos
46
Links
304
Recent Posts 18 shown
Post #898 1.2K

This post (sticker, poll or similar) has no web preview. Open in Telegram

  • 🔥 59
  • ❤ 29
  • 👍 9
  • 🐳 3
  • 💯 2
  • 👎 1
Post #897 2.78K
Кстати, ребят, кто хочет попасть в геймдев через устройство на работу - щас очень хорошее время для поиска вакансий.

Уже просто несколько учеников написали, что после +- затишья летом щас пошли отклики и тестовые, поэтому решил напомнить что хорошие сезоны для поиска вакансий - это осень и конец зимы-начало весны

Пара моментов:

1) Не ограничивайте поиск только HH. Есть куча ТГ каналов с вакансиями, альтернативные сайты есть (например gdjob, который скоро обновиться и тп), плюс куча ИИшных сервисов щас появилось, тоже можно использовать

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

3) Пробуйте не только на Джуна вакансии, но и на миддла. Да знать надо по больше, но будет и гораздо больше выборка вакансий

4) Указывайте в качестве города Москву или большие города вашей страны + не бойтесь подаваться на удаленку в другие страны. Часто Русскоязычные компании бывают, и вопросы с оплатой так или иначе решаются

Ну и фигачьте оставляйте отклики и не останавливайтесь, если у вас есть цель! Отказы будут, игноры будут, но вам надо всего лишь один раз победить:)
  • ❤ 52
  • 😁 6
  • 🐳 4
  • 🔥 3
  • 👎 1
Post #896 2.98K

This post (sticker, poll or similar) has no web preview. Open in Telegram

  • 🔥 47
  • ❤ 28
  • 🐳 5
Post #895 3.73K
🔥 Замена mixamo?

Продолжаю делиться интересными находками.

Если вы хоть раз делали персонажа для своей игры, то наверняка знаете миксамо - сервис от Adobe, где на свою 3D-модельку можно накинуть скелет и готовые анимации. Пользуются им плюс-минус все, но вот Adobe на него давно подзабил как будто

На просторах интернета нашел интересный аналог Mesh2Motion.

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

Самое крутое, что риги и анимации есть не только под гуманоидов: там и птицы, и пауки, и даже кайдзю)
Всё бесплатно, в коммерческих проектах использовать можно, исходники открыты

🔥 Кроме того можно импортать прям в блендер анимации и там, например, дорабатывать с нейронками как вариант

Кстати щас тоже постепенно перебираю варианты пайплайнов для работы с ИИ над анимацией/графикой/балансом, чтобы можно было более менее в соло какие-то проекты закрывать. Было бы интересно такое? - ❤️
  • ❤ 92
  • 🔥 28
  • 👍 10
  • ⚡ 2
  • 🐳 2
  • 🤝 1
Post #894 3.96K
🔥 5 ошибок в архитектуре игр с ECS! 🔥

Новый ролик на канале, в котором начинаем разбираться с разными аспектами разработки игр на ECS.

https://youtu.be/lRCqkmoaql0 - смотреть тута:)

Если вам зайдет ролик, то думаю выпустить несколько подобных частей - как мне кажется будет очень полезная серия практических уроков

Жду вашей поддержки и комментариев на ролике, всем спасибо!)
  • 🔥 58
  • ❤ 7
  • 👍 3
  • 🐳 2
  • 🥰 1
Post #893 3.91K

This post (sticker, poll or similar) has no web preview. Open in Telegram

  • 🔥 46
  • ❤ 15
  • 👍 3
  • 🐳 2
Post #892 3.78K
Одна из самых зеаб**х вещей которую всей душой ненавижу 🤬

Это обновление каждый год наверное, а то и чаще всех игр со стора на новый API level, иначе гудбай (вот на днях снова попросили)

В целом окей для игрушек над которыми прям сейчас работаешь или над которыми не так давно работал, но если игра какая-от давняя, то это ее искать, возможно чтобы обновить api level надо будет че-то еще обновить, при этом дай бог чтобы ничего лишнего не полетело и тд.

Раньше еще когда под разных издателей проекты пилили, то это было ну совсем неприятно:)))

Просто крик души...

Хотя вру, самая заебная вещь - это GDPR (пусть сгорит тот кто это придумал)

А вас что больше всего бесит в разработке?:))))
  • 🎉 28
  • 💯 17
  • 🤣 9
  • 👍 2
  • 🐳 2
  • 😡 1
Post #891 3.37K
🧐 Как выстроить апдейт игры, чтобы порядок работы не превращался в кашу?

#разработка_на_практике

Не важно делаете вы игру на ООП или на ECS - всегда нужно контролировать порядок исполнения кода в вашей игре, хотя бы на верхнем уровне, иначе неизбежны проблемы, когда логика выполняется вперед ввода игрока (привет инпут лаги) или, например ИИ принимает решение по данным, которые уже не актуальны и тп.

✔️ Мы уже давно выработали простой и работающий подход:
думать не про выполнение отдельных механик, а про целые фазы выполнения игры, обычно их 5-10 штук.


Фазой можно назвать некоторый кусок игры который описывается логически какой-то слой выполнения игрового кадра. Внутри каждая фаза может состоять из тех или иных механик, естественно. Например фаза принятия решений ИИ, а внутри разные системы по выполнению логики ИИ, чтобы они могли принять решение о том, что делать игровым персонажам в этом кадре

Давайте, чтобы было понятнее распишу минимальный цикл, который у нас прослеживается почти в любой игре:

🔄 Синхронизация с Unity (в случае работы с ECS, с ООП обычно такого не надо).
В начале кадра надо с юнити подтянуть необходимые данные в ECS мир, потому что между кадрами могла посчитаться какая-то физика, коллизии и тп.

🕹 Ввод пользователя.
Считываем ввод пользователя в начале кадра, чтобы дальше геймплейная логика могла его обработать

🤖 Принятие решений ИИ.
Фактически считывание ввода от ИИ. Тут искуственный интеллект принимает решение о том, что надо сделает и также переводит это в некоторый ввод для геймплея

⚙️ Геймплей.
Тут идет основная симуляция: движение, бой, смерть, таймеры, абилки и тп. Тут меняется игровое состояние - всё, что реально происходит в игре, живёт тут

🎨 Презентация.
Берём итоговое состояние и отражаем его в Unity: дёргаем Animator, обновляем UI, спавним партиклы и звуки. Обычно этот слой только читает состояние и пишет в Unity - геймплейные данные она не трогает

🧹 Очистка.
Тут можно подчистить какой-то накопившийся за кадр мусор, если он есть

❓Почему порядок именно такой?
Каждая фаза готовит данные для следующей: Unity → ввод → логика → презентация → обратно в Unity. Данные текут в одну сторону - и это, наверное, самое важное правило

👀 Что это даёт?
- Когда фазы явные и зафиксированы, баги и тп. можно искать по стадиям и удобно сужать область поиска, а не бегать по всему проекту
- ИИ Агенту в 10раз проще отдавать какую-то работу, т.к. он прекрасно понимает куда что надо встраивать, может оценить порядок работы, и стабильнее делать качество
- Нет глупых логических гонок, которые надо постоянно фиксить
- Появляется что-то принципиально новое в игре, опять же это вписывается в общую концепцию. Например с мультиплеером вписывается какая-нибудь фаза синхронизация ввода, какие-то фазы или часть фазы можно вынести на сервер и тп.
- Повышается в целом понимание игровой системы, как человеком, так и агентом
- Для добавления новой механики тебе в 80% случаев достаточно просто выбрать нужную фазу (это уже фиксит многие проблемы), а оставшихся 20% надо выбрать порядок выполнения внутри своей фазы

🖥 Как это реализовать?
- В случае разработки на ECS на самом деле все просто и понятно. Располагаешь в нужном порядке системы, а сами системы упаковываешь в группы(фазы) по логике выполнения. Тут скажем так из коробки вся эта логика работы идет, я даже немножко упоминал это дело в недавнем ролике по ECS

- В случае ООП стоит завести какой-то классик типа GameLoop, который будет собирать в себя все верхнеуровневые сервисы какие у вас есть (спавнеры, классики инпута, сервис, который держит и обновляет мозги ботов и тп) и явно обновлять их работу. Обычно когда ты делаешь игрушку на ООП, то у тебя все довольно сильно завязано на событиях, что так или иначе скорее всего будет ломать порядок выполнения, но жить зачастую можно, если у тебя нет статик событий, через которые общается весь абсолютно геймплей

Мы в целом и так и так работали, собственно жить можно и так и так. Да с ECS это все нативнее получается, но там и к организации кода строже надо быть

Собственно, можно накинуть огонек, если было полезно🔥
  • 🔥 73
  • ❤ 9
  • 👍 3
  • 🐳 3
  • 💩 2
Post #890 3.41K
GPT 6 Astra - конец разработчиков и закат человечества

Вышла тут на днях новая модель от OpenAI (убийца всего и вся) и снова полетели ролики с убийственными сайтами, играми с одного промпта и тд.

Я как хомячок не мог пройти мимо таких заявлений (ну когда ролики по 100-500к просмотров набирают, то хочешь не хочешь, а глаз цепляется) и решил потестить у себя на проектах. И вы не поверите...

Нихера особо с точки зрения разработки не поменялось. Ну отвечает местами по быстрее чем fable у Claude, но существенных различий за несколько дней использования не заметил (кроме того, что подписку сжирает с удовольствием)

Возможно если давать абстрактные задачи по типу сделай мне красивый сайт или сделай мне крутую игру про караваны, то astra выдаст результат по лучше (хотя это оч субъективно), но когда ты понимаешь чего хочешь, какую задачу решаешь, то как по мне и opus'а с головой хватает

Но признаюсь лендинги всякие или 3д модельки какие-нибудь делать не пробовал, ток в сторону разработки игр юзал, возможно в других областях что-то координально поменялось

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

Кто нибудь тестил? Какое у вас впечатление?
  • ❤ 47
  • 🐳 6
  • 👍 5
  • 🔥 3
  • 🤝 3
  • ❤‍🔥 1
Post #887 3.85K
Осень намечается интересная🤯

Что-то пропустил начало осени - щас много работы))) Но эти три месяца должны стать очень интересными:

1) Наконец то релизнем наш GooParty (ушли от прошлого названия), щас уже на исходе сил, но с верой в лучшее допиливаем UI, игровой туториал, заводим звуки и тп. И наконец сможем собрать новые метрики, а дальше решать вопрос развития проекта и привлечения инвестиций (ну либо произойдет совсем плохой плейтайм с рентеншеном и будем думать, что делать с этим соответственно)
p.s. кому интересно некоторые кадры последних дней из рабочего чатика прикрепил

2) Релиз новой обучающей программы для продвинутых ребят (реализация проекта продакшн уровня с ECS, UI MVP, addressables, DI, UniTask, CI/CD, как к этому подвязать ИИ и тд). Это будет 3-х месячная программа про то как делать серьезные проекты подконтрольно и не сойти сума. Про нее расскажу подробнее немного позже

3) Планируется интервью с мобильным издателем. Думаю многим тут будет оно полезно (насколько знаю даже некоторые из моих учеников уже обращались к ним)

4) Ну и уже несколько сценариев для новых роликов есть (главное чтобы хватило сил их реализовать)

В общем сезон огонь, хоть и не очень люблю осень🔥
  • 🔥 50
  • ❤ 6
  • 👍 2
  • 🐳 2
Post #886 3.81K
Давненько не стримил

Думаю в сентябре - октябре возобновить проведение стримчиков, но наверное под это хочется какую-то тематику/форматы подумать, если зайдет и по времени сложится, то может и на регулярную основу вынесем🧐

Может проекты ваши посмотрим, по коду пройдемся, заведем какой-нибудь топик с вопросами и тд

По кидайте в комментах идеи, может родим что-нибудь прикольное🔥
  • 🔥 30
  • 🐳 5
  • ❤ 3
Post #885 4.27K
Как делаются системы способностей. Часть 1

#система_способностей #разработка_на_практике

Системы способностей в играх - это, наверное, одна из самых фундаментальных систем в очень большом количестве жанров - от разных магических/технологических игр, до самых обычных платформеров, инкременталок, айдлеров и тп, поэтому хочется поделиться с вами своим опытом проектирования подобных штук, чтобы вам было на что опираться при создании своих игр:)

Если хочется продолжения или вам что-то из этого интересно подробнее не стесняйтесь ставить 🔥 и писать в комментах:)

И начать хочется с того из каких частей эта система может состоять

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

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

🔣Статы и модификаторы
Статы - изменяемые харакеристики игровых объектов: макс. здоровье, урон, скорость и тп. А модификаторы - то, как их можно менять: процентное изменение, плоская базовая добавка и тд. Т.е. у персонажа есть базовый урон 10, а вы взяли накинули на него список модификаторов на увеличение и теперь, пока висят модификаторы, у него 20 урона

🔣Статус эффекты
Их отличие от мгновенных в том, что эти живут какое-то время. Например баф скорости или урона (статус, который накидывает модификаторы персонажу и на время изменяет его статы). Или статусы можно рассматривать как геймплейные механики, например: горение, стан, инвиз. Т.е. у статус эффектов появляется своя механика длительности, тики, правила стакания при необходимости и тп.

🔣Таргетинг
Почему-то редко вижу упоминания этой вещи как отдельного модуля, хотя это довольно важная вещь. Нам очень часто надо задавать правила того, по кому прилетит урон, фильтровать объекты для применения способности и тд. Т.е. этот модуль отвечает за то, чтобы мы могли настраивать области действия способностей/эффектов

🔣Абилки (сами способности)
Это уже некоторая единица, которая собирает все вышеупомянутое и добавляет этому цену использования, кулдаун, условия применения и тд. Т.е. абилка выступает в роли некоторого агрегатора остальных модулей. Сама по своей сути ничего не делает обычно - она дирижёр со своим жизненным циклом и условиями использования

🔣 Система событий и реакций
Часто в играх хочется иметь в том числе некоторую возможность реагировать на те или иные вещи. Например, если кто-то в округе умер - добавить себе хп или если кто-то получил критический урон - потрясти камеру. И в таких случаях стоит задуматься о том, чтобы игровой мир мог выкидывать наружу события, а мы могли подхватывать их, фильтровать и как-то реагировать

🧐 Что нам даёт такое разбиение?
Какой-нибудь файрбол перестаёт быть скриптом "Fireball.cs" и становится комбинацией: таргетинг (точка и область вокруг нее) + мгновенный урон + статус "горение". Хочется сделать ледяную стрелу? Делаем эффект создания проджектайла, и при попадании он накладывает статус замедления. Вампиризм - это реакция на нанесение урона в виде создания эффекта хила на источник урона. Т.е. новые способности собираются из готовых частей, а не пишутся с нуля и баланс правится в данных, а не в коде

❗️ВАЖНАЯ ВЕЩЬ О КОТОРОЙ СТОИТ ЗАДУМАТЬСЯ ВСЕМ
Иногда стоит относиться к системе способностей не как к основе для сложной магической системы, а как к базовой вещи в игре. Прыжок, дэш, пассивная добыча денег, обычная атака - все это тоже можно рассматривать как условные абилки. Это потом дает удобные возможности для добавления разных механик. Стан блокирует условный дэш, баф скорости ускоряет тебя, можно выдавать механики как некоторые способности по ходу игры, ускорение добычи золота в айдлерах повышать модификаторами и так далее. Разница просто в том, какие модули вам надо для игры реализовать, т.е. не всегда система способностей обязана выглядеть как в какой-нибудь доте, иногда она может проявляться в упрощенном или скрытом от игрока виде

В следующей части можем закопаться в статы например:) Почему не надо плодить типы данных, какие вещи удобно выражать статами и тп. 🔥
  • 🔥 116
  • ❤ 16
  • 🐳 4
  • 💩 1
Post #884 5.22K
Ребят, нужна ваша поддержка крутого релиза!)

Буквально вчера в стиме в релиз вышла игрушка под названием Divinum - это экшен платформер с очень крутой боевкой.

Над ним работал один из моих учеников с командой и я бы очень хотел поддержать ребят и попросить вас игрушку добавить в вишлист/оформить в свою библиотеку🥰

Ребята уже неплохо стартанули, поэтому хочется помочь немножко с разгоном!)

p.s. по возможности распространите по своим чатикам! Спасибо🔥
  • 🔥 57
  • ❤ 20
  • 👍 8
  • 🎉 4
  • 🐳 2
Post #883 4.39K
🔥 Unity MCP - как еще можно использовать?

Новый ролик на канале! Как установить MCP, какой выбрать, как можно использовать, конкретные примеры - все как вы любите:)

Поддержите лайком и комментарием😍

🔣 https://youtu.be/kKizb0LY4Sw - смотреть тут:)

p.s. ссылка на пост с крутой тулзой для анализа производительности
  • 🔥 49
  • ❤ 9
  • ✍ 4
  • 🐳 2
Post #882 4.68K
Рубят, а вам длинные посты интересны вообще?

Я тут выше экспериментировал с новым редактором в телеге как могли заметить, но по реакциям не очень понятно стоит ли заморачиваться

Давайте тут решим этот моментик:

🔥 - да, крутой формат
👎 - не стоит такое делать
  • 🔥 319
  • 👎 31
  • 🤔 8
  • 🐳 2
  • ❤ 1
Post #881 5.01K

This post (sticker, poll or similar) has no web preview. Open in Telegram

  • 🔥 136
  • ❤ 26
  • 🤔 3
  • 🐳 3
  • 🆒 2
  • 👍 1
  • 👎 1
Post #880 4.49K
Возможно вы и не думали так применять ИИ при разработке

Хочу поделиться интересным кейсом как мы балансили некоторые режимы в нашей игре

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

❌Классический путь понятен:
Правишь цифры в конфигах -> садишься и играешь сам -> чувствуешь "вроде норм" -> правишь дальше. И так по кругу, на каждый режим. Долго, муторно + глаз замыливается довольно быстро, и "вроде норм" перестаёт что-либо значить.

✔️ Что сделали мы:
Запустили в режим пачку ботов, которые друг с другом соревнуются и сверху посадили агента: он сам запускал матч за матчем и снимал замеры плейтайма. На выходе получаем не ощущения, а цифры: вот настройки - вот какой плейтайм они дают. Соответственно стартовый баланс даже могли дать поправлять агенту между итерациями

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

🧐 Почему это оказалось так удобно
Агент гоняет матчи, пока ты занимаешься другими задачами. Количество прогонов перестаёт тупо упираться в твоё время и терпение и решения сначала принимаются по статистике, а потом уже полируются по ощущениям

Да, боты — не люди. Они там не скажут скучно или нет играть, поэтому финальную проверку руками никто не отменял - сначала грубо делаем агентом, потом дополишиваем

Но сама идея довольно интересная и мне кажется имеет право на жизнь)

Было бы интересно еще подобных кейсов послушать?🔥
  • 🔥 90
  • ❤ 12
  • 👍 4
  • 👏 2
  • 🐳 2
Post #879 4.22K

This post (sticker, poll or similar) has no web preview. Open in Telegram

  • 🔥 101
  • ❤ 5
  • 👍 5
  • 🐳 4
Older posts →

About this channel

How can I read @yakovlev_gamedev without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Яковлев Илья | Всё про Unity-разработку: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Яковлев Илья | Всё про Unity-разработку have?
Яковлев Илья | Всё про Unity-разработку (@yakovlev_gamedev) has 6.88K subscribers on Telegram, refreshed roughly every 30 minutes.
Does Яковлев Илья | Всё про Unity-разработку know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →