- 47
- 76 307
Code Craft: Unity Edition
เข้าร่วมเมื่อ 22 พ.ค. 2023
Hi all, my name is Igor and I'm a Senior Unity Developer who will be sharing practical knowledge on game development in Unity. On the channel you will see me creating an RTS game step by step, sharing useful information on how to develop certain features in the game, looking at feed mechanics, metagame, artificial intelligence and networking. Join me to start creating your own cool projects!
Анонс курса Full-Stack Unity Developer
Всем привет! Объявляю набор на второй поток полностью обновленного моего курса по разработке игр на Unity 🚀
Записаться на курс можно через телеграмм: t.me/starkre22
Количество мест ограничено)
Ссылка на курс: unitycodecraft.ru
Телеграм канал: t.me/unitycodecraft
Атомарный фреймворк: github.com/StarKRE22/Atomic
Записаться на курс можно через телеграмм: t.me/starkre22
Количество мест ограничено)
Ссылка на курс: unitycodecraft.ru
Телеграм канал: t.me/unitycodecraft
Атомарный фреймворк: github.com/StarKRE22/Atomic
มุมมอง: 1 049
วีดีโอ
Игровой цикл на Zenject. Вебинар (27.03.24)
มุมมอง 1.4K3 หลายเดือนก่อน
Игровой цикл на Zenject. Вебинар (27.03.24)
MVVM на Unity c нуля. Учимся разрабатывать игровой интерфейс
มุมมอง 6K6 หลายเดือนก่อน
MVVM на Unity c нуля. Учимся разрабатывать игровой интерфейс
Поиск пути в Unity: кастомная реализация для RTS
มุมมอง 2.1Kปีที่แล้ว
Поиск пути в Unity: кастомная реализация для RTS
Приказы для юнитов на ECS. Учимся переиспользовать механики
มุมมอง 1.8Kปีที่แล้ว
Приказы для юнитов на ECS. Учимся переиспользовать механики
Выделение группы юнитов: применяем архитектурные принципы на практике
มุมมอง 2Kปีที่แล้ว
Выделение группы юнитов: применяем архитектурные принципы на практике
Перемещение юнитов в RTS: Роевой метод в Unity
มุมมอง 3.6Kปีที่แล้ว
Перемещение юнитов в RTS: Роевой метод в Unity
Разработка кастомного ECS на Unity: Учимся делать RTS c нуля
มุมมอง 14Kปีที่แล้ว
Разработка кастомного ECS на Unity: Учимся делать RTS c нуля
Создаем RTS игру в Unity: Введение в мир стратегий (Creating an RTS Game in Unity)
มุมมอง 6Kปีที่แล้ว
Создаем RTS игру в Unity: Введение в мир стратегий (Creating an RTS Game in Unity)
отличный урок, хотелось бы чтобы автор продолжал и приводил примеры ECS для самых различных случаев в GameDev-е. толковой инфы с подробным разложением от и до, от 0 до реализации очень мало в инете. + мне очень нравится гибридный подход автора к реализации ECS.
просто добавил новый класс который назвал binder вместо vm
Вообще топ, даже смотреть не обязательно, можно просто фоном слушать и всё понятно будет) Хорошо ведёте👍
Ещё есть стратегия "костыль без паттернов и антипаттернов". Делать всё на монобехах и прокидывать для каждого объекта требуемые ссылки на публичные поля😁😁😁😁
Толкь сейчас посмотрел) Вы это упоминали) Извиняюсь)
18:45 что такое "стэн-контекст" и что за его "разворачивание"?
Разве Юнити не делалась для того что бы геймдизанеры и художники могли работать параллельно с программистами? Если Геймдиз подвигал и что то сломалось, то значит просто плохой прогер. Разве нет?
59 минута, объявляем параметр МувЕнейбл для того что бы трупы не ходили - очень плохо. На самом деле должна быть не переменная (или метод), а для персонажей написана нормальная МАШИНА СОСТОЯНИЙ. Сначала можем перемещаться не можем, потом можем стрелять или не можем стрелять, потом можем прыгать или не можем и так до бесконечности. С таким подходом потом точно что то забудем и трупы будут колдовать на себя лечение. Я уже не говорю о читаемости и избыточности кода. Код в Update() тоже вещь сомнительная. Удивительно слушать рассуждения о такой хрени как Зенджект и архитектурах, а потом видеть такое в простом примере. Кстати да, будь вы лидом, собеседование я бы у вас точно не прошёл. В нашем сумасшедшем доме под названием "геймдев" кто первый надел халат тот и доктор.
Когда следующий набор? Чем этот курс от otus отличается?
Вопрос от юнити новичка: как быть с компиляцией MonoViewBinder'a в билд? тип MonoScript переменных viewType и viewModelType используется только в эдиторе, в билд не компилируется..
Привет Игорь, гайды просто хай-левел. Смотрю пока только 3 вебинар. Вопрос почему не используешь ввод через InputSystem, а придерживаешься старых добрых if-ов? Я только учусь и прошники говорят, что input больше подходит для построения серьезной архитектуры
59:34 А если я хочу например получать префаб не через SerializeFiled, а из своего сервиса, какого-нибудь IAssetProvider? Как быть? И это нормальная практика в целом?
28:34 Т.е. этот ProductPopup у вас заранее создан и помещен на сцену? А хорошая ли это практика? Или лучше создавать его динамически из префаба при нажатии на товар?
отвратительно, блок Выводы должен стоять самым первым в видео. Автор час! все рассказывает, а потом такой: "Ой, а с анимированным UI не рабоатет, и вообще это все сложно и крайне избыточно для всех проектов, кроме очень больших с упором на UI, и мой фреймворк них*я не дописан, и вообще х*й вы свой напишите без большого опыта в этом". Но первый блок "Отличия MVVM от MVP" хорош: четко, понятно, со схемками.
По ручному выставлению импортов для кодогенератора, можно просто автоматически добавлять импорты через рефлексию, у типа можно просто посмотреть его нэймспейс, что бы убрать всю эту ручную настройку и упростить взаимодействие с фреймворком
Что это за редактор когда?
Rider
Благодарю за ответы. Счастья!
Cool
Классная подача. У меня возник вопрос, если в монобеховском классе мы создаем чистый логический C# класс и при переходе на другую сцену (т.е. при уничтожении монобеха, в котором был создан класс) сборщик мусора уничтожит логический класс или же он и дальше будет висеть в памяти?
Логический класс будет висеть в памяти, пока кол-во ссылок на него будет больше нуля)
Круто, спасибо
Короче если сообразительный джун понимает разделение на M+V, то хоть как их соединит - получится один из MVx паттернов. Может в ведьмином котле сварится passive View, а может MVC, а может MVVM
Фишка в том, что каждый паттерн решает свою проблему, и на рандом пикать - может получиться выстрел себе в ногу 😅
45:40 спасибо, отписался
😅
41:10 фикс багов наоборот интереснее смотреть, не волнуйся
Если бы ты попал на необитаемый остров, и можно было бы взять только 1 вещь. Ты бы взял SOLID или MVP?
Я бы взял KISS
Ждём MVVMPCViperHTTPGRASPVC, желательно сразу атомарную версию. Иначе не синьор
🤣
Благодарю за код!
Репозиторий не обновлялся несколько лет. Стоит ли сейчас на нём делать новый проект, который будет поддерживаться более года? Есть ли варианты DI получше?
Здравствуйте, Zenject стоит в любом случае знать, так как его используют во многих компаниях, а из нового рекомендую ознакомиться с атомарным фреймворком: github.com/StarKRE22/Atomic
а зачем его обновлять если всё и так работает хорошо
46:50 Это не MVP а Passive View В MVP и View и Presenter знают друг о друге ты cам себе противоречишь в разных видосах
MVP-Passive View является разновидностью MVP)
@@CodeCraftUnityEdition и что? Presentation Model тоже является разновидностью MVP. Разверни стрелки тогда у P и V и также оставь MVP в названии. По такой логике ты также сможешь сказать что это разновидность. Ты обобщил название слайда а схема от одной из разновидностей.
@@GameManagerController Спасибо большое за уточнение. Не заметил, что стрелочки между View и Presenter не должны быть пунктирные. 28 слайд в презентации поправил)
рад помочь будет круто если ты просто соберешь все этих схемы в одном месте, у тебя хорошо получается объяснять разницу между вариациями и смысл их применения, но у тебя часто меняются презентации и новичку сложно собрать все в одну общую картину
Спасибо за серию стримов, только благодаря вам смог нормально вникнуть и интегрировать Фьюжен в проект.
На утверждении что TDD помогает делать проект быстрее я потерял весь интерес в просмотре дальнейшего материала.
Я так понимаю для атомарного подхода тесты делаются достаточно быстро. Плюс сейчас уже есть ИИ в IDE, котоыре сами тесты могут сгенерировать. На длинной дистанции тесты могут время сэкономить, не придется кучу фич самому руками тестировать. А без тестов нет гарантий, что игра у тебя работает правильно после какой-либо доработки.
@@MrThrash90 TDD - это про то, что ты сначала пишешь тест, а уже потом под этот тест - код. Вряд ли ИИ такое может
@il35215 Скажите, пожалуйста, вы использовали TDD у себя в разработке? :)
явно большими проектами не занимался
Были б деньги, подписался бы не раздумывая! :D Но видимо сначала придется выпустить проект на юнити, заработать на нем, чтоб хватило денег записаться...
Здравствуйте! На самом деле вы можете пройти отдельные модули на курсе, которые вас интересуют, а по оплате можно и в рассрочку)
@@CodeCraftUnityEdition Благодарю за ответ)) Звучит гибко :)) +вам в карму!
С разбором кода это жестоко!!!! Видно что тебе небезразлично на курс. Удачи, сил и красоты.
Я надеюсь будет лучше чем у Романа Сакутина
А кто это?)
Так если прям с нуля, то лучше вначале к Сакутину) А потом уже сюда
Энвилоуп тема раскрыта
Но тема void_sex нет
Выглядит очень привлекательно😊
Спасибо большое!
Видео чёткое, описание блоков курса хорошее. Подскажи, в Otus ты продолжишь преподавать?
В Отусе я до сентября
Берём например Лео ECS, за неделю полностью понимаем как он работает. Убеждаемся что проще и быстрее уже не придумать, идем пилить год свою игру. По ходу понимаем что комьюнити сделало 100500 полезных фичей типа инспектора компонентов, систем и т.п. И только уже после этого пишем свой ЕЦС. А так да, адаптер вокруг массивов данных, причём без возможности крутить в отдельных потоках из за ссылочных типов в компонентах.
Спасибо, многое сразу понял о всех этих архитектурах. Жаль в моей компании такие чтуки не приветствуются. А на пэт проекте не охото так много писать. Но хоть буду знать, если на какой другой проект попаду.
А что если нужно посчитать дамаг игрока 1 по игроку 2 учитывая атаку игрока 1 и защиту игрока 2? Я хочу сказать, что когда я делал игру с двумя игроками мне пришлось сперва инжектить дочерние а потом родительские контексты. Потому что нужны были глобальные сервисы имеющие ссылки на сервисы обоих игроков чтобы организовывать их взаимодействие. У вас только стрелки вниз. Может я не понимаю как это сделать? Или у вас получается ecs косвенно ссылается на данные всех игроков?
Проблема Дублирование кода в состояниях - мне кажется эта проблема решается разбиением на две машины состояний. Одна отвечает за то, что юнит делает в данный момент, а вторая за его долгосрочную стратегию. Что по сути у вас и сделано высокоуровневые системы управляют низкоуровневыми
Почему бы подсветку не привязывать к юниту? Почему вы каждый кадр занимаетесь движением подсветки? Это явно сделано не для упрощения, видимо какая то глубокая цель у этого есть?
Записаться на курс: unitycodecraft.ru/
Спасибо. Просто и полезно.
Отличное видео, наконец-то поняла zenject и когда его стоит использовать🎉
Отличный урок. Теперь я наконец понял, почему Zenject не нужен. За три часа любой поймет что любой фреймворк - бесполезная вещь.
Годно. Про конструкторы согласен. Пописываю на юнити давно но непрофессионально. Когда более менее освоился - начал чуть ли не на всё писать конструкторы, что так себе идея, нужен здоровый минимум. И я пришёл к чему-то вроде MVC где класс / стракт это модель, UI/сцена - view, операции - controller, и только там где надо) Это может быть MC/MV/VC
разочарую вас этот подход как раз более простой и уже давно придуман, в юнити как раз реализован более сложный и более подходящий для игр архитектурный подход
Шикарная подача материала! Кажется нужно копить деньги на курсы 😅
Игорь, привет! Спасибо за видео! Оххх, сложно 😅 Посмотрел пока что только 50 минут и пощупал исходники. Сложилось впечатление, что для большинства небольших игр проще использовать паттерн MVP, особенно учитывая постоянное использование различных анимаций и малое количество повторяемых данных, но в целом MVVM для Data-Binding конечно шикарное решение, очень гибкое. На простых примерах кажется что оверкод с биндингом для казалось бы простейших действий в игре, но думаю что на масштабных проектах такой подход прибавит гибкости и стройности прям моё почтение =) Посмотрел в исходниках реализацию биндинга по атрибутам, мозг маленько поскрипел подымился, но вроде всё понятно. Вопрос: какие распространенные альтернативные подходы к реализации MVVM в Unity ты видел и в чем их преимущества и недостатки? Ещё раз, огромное тебе спасибо за твои материалы!
Блин, похоже мне надо было начинать смотреть с 1:04:18, а потом переходить на начало 😅
Игорь, спасибо за видео! Пересмотрел кучу видео и перечитал кучу материалов по Zenject, твоё видео самое доходчивое, при том, что оно ещё и достаточно развернутое =) Ты как-будто тумблер в моей голове переключил, и всё встало на свои места 😅 Спасибо!
Качественный контент, красивая презентация, спикер подробно и понятно обьясняет, а если не понятно, то автор канала уточняет и повторяет. Спасибо за запись стрима! С нетерпением жду следующего выпуска.