Изучая многие шаблоны проектирования, часто видишь в интернете примеры для использования в каких-либо приложениях, но про игры почти никогда не пишут, и не очень понятно, как перенести на игровую логику какой-либо из этих паттернов. В этом и в следующих роликах на данную тему, если они будут, я буду рассказывать, как я сам это вижу. Паттерны, возможно, будут несколько адаптированы под игровую разработку, что иногда может исказить их основную суть. Поэтому, если вы несогласны с правильностью применения - пишите в комментарии, обсудим. :)
Да, да и еще раз да! ) На каких нидь стрингах примеры показывают и хз че с этим ваще делать ) Вообще попадалась в электронном виде вроде эта книга: www.litres.ru/elizabet-robson/head-first-patterny-proektirovaniya-39123671/otzivi/ Вроде Java там, но на полуигровых примерах было. Неудобно было читать, поэтому хз насколько хорошо в итоге рассказывается.
@@insaneone-7220 "Не суди книжку по обложке" ) ну глянешь потом расскажешь че как) В принципе даже джаву то знать не надо, на шарп издалека похоже, а принцип понять не сложно уже будет. Я вот купил теплякова, там как раз дотнет, но там именно стринги, логи и прочая хрень. Надо было брать другую)
Есть ещё книга "Шаблоны Игрового Программирования" Роберта Найстрома. Рассказывает о применении популярных шаблонов на примерах из геймдева, а не на примере банковских счетов)
Действительно крутые темы разбираются на канале! Начал тебя смотреть, когда было 200 подписчиков, а уже 1.5к, это говорит о том, что твой контент очень важен, спасибо за ролики!)
Словно Brackeys и не уходил, а просто выучил русский) паттерны очень полезная тема, спасибо за интересный кейс использования паттерна, жду больше такого контента)
Спасибо большое за видео. Не смотря на свой 7 месячный опыт разработки игр я не смог понять для чего это, просмотрев ролик 3 раза и постоянно перематывая. Возможно я очень глуп, но я думаю, что это для более опытных разработчиков
Упрощённая версия подобного алгоритма на основе Switch + какого-нибудь Enum в принципе очень хорошо может лечь в основу какого-нибудь простого ИИ врагов, которые должны перемещаться, перепрыгивать через препятствия или стрелять в игрока. Тут сразу видно как минимум 3 состояния, которые можно описать через Enum и затем переключать в зависимости от условий. Может, так будет понятнее)
очень крутой шаблон проектирования, почти как год уже в своих проекте использую его, с опытом понял что так намного удобней делать многие вещи, кстати под прошлым виде в нашем диалоге scriptableObject vs json я говорил, что в игре над которой я работаю все юниты формируются из json данных и они как раз работают по этому шаблону)
Надеюсь ещё увидим тебя. Особенно интересно развитие темы с ECS и более углубленный подход в этом направлении т.к. очень мало курсов и туторов. Возможно какой-то анализ плюсов и минусов встроенной системы Unity и других систем. Как исходя из особенностей хранения данных выбрать необходимый подход и построить правила кода в зависимости от ситуации. Приятно было бы увидеть подобный анализ, который мог бы быть полезен людям на старте проекта.
Так лучше когда готовый код показываешь а не набираешь, ато итак темп высокий, я бы не успел улавливать смысл если бы ещё смотрел на набираемый код. Спасибо большое, полезные вещи рассказываешь!
Очень важно еще, чтобы ни одна сущность системы не спрашивала у стейт машины что-то типо if(_currentState == someState). К сожалению, часто такое вижу, очень грубое нарушение ООП и паттерна в целом. Со scriptable objects хорошо придумал)
Разве реализация получилась хорошая? Плюсы конечно есть, но хотя бы енумами переключаться. А-то получается что бы сменить стейт мы ссылаемся на паблик метод и передаем паблик поле для инстантиатора. Не говоря уже о том что можно отправить SetState(null) и получить ошибку
Такой вопросик. Может быть ты(или кто-то) знаешь как делают игры вроде Civilization или Plague Inc. где есть обширные ветви прокачки разных сущностей и взаимодействие между ними? Может быть, у этого есть какое-то специальное название что бы загугнить? И может это все делается на определённом паттерне?
Привет. Отличные видео! Сделай плиз видосы по внедрению геймменеджера/аудиоменеджера и диалоговой системы в игру! Или хоть чего-то из этого) Нормальной информации на эту тему нет не только в русском ютубе, а практически нигде! И я не про очевидный способ с условным добавлением аудиосорса, с последующим проигрыванием из скрипта, я про способ, который не сломается при масштабировании. Так сказать, хорошие привычки. Например, у Brackeys есть видеоролик про диалоговую систему. В принципе, все нормально, но в комментариях заметили, что при локализации переводить каждый фрагмент текста по отдельности будет адово. Интересно все-таки узнать такие базовые вещи, но реализованные опытным разработчиком, а не контент мейкером. Надеюсь, оценишь.
Не мне лично легко заходит, когда когд заранее написан, я и сам так записываю видео. КОД пишу заранее, потом освещаю, да и так короче. Плюс я всегда скидываю ссылку на демонстрационный проект из видео под описание.
Ты используешь ScriptableObject для организации состояния. Но разве используя один и тот-же ScriptableObject несколькими GameObject на сцене, не сломает их поведение? Ведь они оба будут использовать и влиять на его параметры.
Да, в видео - лишь пример реализации. Это всё при желании можно гораздо более компактно и эффективно сделать. В данном случае таким способом было проще показать суть подхода.
Изучая многие шаблоны проектирования, часто видишь в интернете примеры для использования в каких-либо приложениях, но про игры почти никогда не пишут, и не очень понятно, как перенести на игровую логику какой-либо из этих паттернов. В этом и в следующих роликах на данную тему, если они будут, я буду рассказывать, как я сам это вижу. Паттерны, возможно, будут несколько адаптированы под игровую разработку, что иногда может исказить их основную суть. Поэтому, если вы несогласны с правильностью применения - пишите в комментарии, обсудим. :)
Да, да и еще раз да! ) На каких нидь стрингах примеры показывают и хз че с этим ваще делать )
Вообще попадалась в электронном виде вроде эта книга:
www.litres.ru/elizabet-robson/head-first-patterny-proektirovaniya-39123671/otzivi/
Вроде Java там, но на полуигровых примерах было. Неудобно было читать, поэтому хз насколько хорошо в итоге рассказывается.
@@AlexStraga интересная информация по книге, спасибо. Сам бы я ничего с такой обложкой никогда не купил, правда :D
@@insaneone-7220 "Не суди книжку по обложке" ) ну глянешь потом расскажешь че как) В принципе даже джаву то знать не надо, на шарп издалека похоже, а принцип понять не сложно уже будет. Я вот купил теплякова, там как раз дотнет, но там именно стринги, логи и прочая хрень. Надо было брать другую)
С нетерпением жду подобных видео, очень хорошо заходят на родном языке! Спасибо!
Есть ещё книга "Шаблоны Игрового Программирования" Роберта Найстрома. Рассказывает о применении популярных шаблонов на примерах из геймдева, а не на примере банковских счетов)
Архитектура игр одна из самых плохо освещённых тем в рунете. Спасибо больше за ролик!
Наконец-то архитектурные темы в ру сегменте ))
Конечно продолжайте, где Вы раньше то были) на самообучении я это как раз не проморгал, будет интересно что то еще в этом духе))
Автор, ты лучший. Канал - глоток свежего воздуха.
На данный момент, мне это очень интересно было увидеть) Спасибо
интересно кк, давай больше про патерны, тяжело найти простые коротткие видосы на эту тему.
Очень крутой урок, какраз изучаю патерны)
Спасибо, очень интересный канал, много уникального контента, продолжай в том же духе, не забрасывай.
Спасибо за контент, снимай больше про паттерны в юнити
Альберт, как твои симуляторы кейсов поживают?
Действительно крутые темы разбираются на канале!
Начал тебя смотреть, когда было 200 подписчиков, а уже 1.5к, это говорит о том, что твой контент очень важен, спасибо за ролики!)
Очень жду ролик по векторам, спасибо за ваш труд!
Словно Brackeys и не уходил, а просто выучил русский) паттерны очень полезная тема, спасибо за интересный кейс использования паттерна, жду больше такого контента)
Классный контент, автор молодчага!
Тема огонь, давай больше про шаблоны проектирования видосов
спасибо, очень полезный и лаконичный урок про паттерны в gamedev.
Один из самых лучших каналов по Unity! Большое спасибо за подробные уроки! Жду с нетерпением новых видео :)
Очень хочется услышать про тему StateMachuneBehaviour, так что продолжай в том же духе! А с меня лайк. X_X
Brackeys ушел, но в этот город приходят новые герои.
Немного иронично вышло, раз уж я написал этот комментарий. Ты куда делся?
@@call_me_ondreo лол, мужик, ты что наделал
@@Digildon ну я типо как Танос, щелкнул пальцами чтобы мир стал лучше, но чет не пошло.
@@call_me_ondreo просто не ту половину
Спасибо за крутой ролик, буду ждать еще паттернов ну и вообще каких-либо роликов
Спасибо большое за видео. Не смотря на свой 7 месячный опыт разработки игр я не смог понять для чего это, просмотрев ролик 3 раза и постоянно перематывая. Возможно я очень глуп, но я думаю, что это для более опытных разработчиков
Упрощённая версия подобного алгоритма на основе Switch + какого-нибудь Enum в принципе очень хорошо может лечь в основу какого-нибудь простого ИИ врагов, которые должны перемещаться, перепрыгивать через препятствия или стрелять в игрока. Тут сразу видно как минимум 3 состояния, которые можно описать через Enum и затем переключать в зависимости от условий. Может, так будет понятнее)
@@insaneone-7220 спасибо большое за ответ! Делайте больше подобных видеоурок
очень крутой шаблон проектирования, почти как год уже в своих проекте использую его, с опытом понял что так намного удобней делать многие вещи, кстати под прошлым виде в нашем диалоге scriptableObject vs json я говорил, что в игре над которой я работаю все юниты формируются из json данных и они как раз работают по этому шаблону)
1:03 - описание моей жизни
Очень информативно, ни одного видео не пропускаю))
Спасибо за ролик. Очень полезно.
Нужно Больше подобных видео:) Ещё про математику было познавательно, можно что-то наподобие, но с конкретными примерами.
Надеюсь ещё увидим тебя. Особенно интересно развитие темы с ECS и более углубленный подход в этом направлении т.к. очень мало курсов и туторов.
Возможно какой-то анализ плюсов и минусов встроенной системы Unity и других систем.
Как исходя из особенностей хранения данных выбрать необходимый подход и построить правила кода в зависимости от ситуации.
Приятно было бы увидеть подобный анализ, который мог бы быть полезен людям на старте проекта.
Спасибо за видео, доходчивое и понятное!
Супер! Хотелось бы про Ваше видение на Visitor в Game Dev посмотреть!!!
Один из лучших каналов по юинити на русском ютубе
спасибо за урок!!
жду продолжение, хороший формат
Отличные уроки!
От души, душевно!!!!!
Твоё видео про ESC получилось отличным! Можешь сделать ещё видео про то как сделать так что бы код работал в Multi Thread
Крутой ролик! 👍
Так лучше когда готовый код показываешь а не набираешь, ато итак темп высокий, я бы не успел улавливать смысл если бы ещё смотрел на набираемый код. Спасибо большое, полезные вещи рассказываешь!
Супер интересная тематика
спасибо, крайне ценно
Кстати прикольная книжка Швец А. - Погружение в паттерны проектирования... Читается довольно легко новичком в программировании.
Очень круто
У тебя должно быть больше просмотров
как всегда лайк не глядя
Чувак, классно объясняешь
Спасибо! Реально помог
Тема очень интересна,спасибо,когда продолжение? Так же про StateMachine очень интересно глянуть
Давай ещё паттернов для разработки игр!
спасибо за урок, интересная тема! лайк поставил, а подписан уже давно)
Очень важно еще, чтобы ни одна сущность системы не спрашивала у стейт машины что-то типо if(_currentState == someState). К сожалению, часто такое вижу, очень грубое нарушение ООП и паттерна в целом. Со scriptable objects хорошо придумал)
Оно конечно так, но у вас гораздо лучше и грамотнее описан данный паттерн :D
Разве реализация получилась хорошая?
Плюсы конечно есть, но хотя бы енумами переключаться.
А-то получается что бы сменить стейт мы ссылаемся на паблик метод и передаем паблик поле для инстантиатора.
Не говоря уже о том что можно отправить SetState(null) и получить ошибку
Нам нужно больше паттернов!
Почти 2к просмотров и всего 200 лайков. Блин ребят камон, лайк вам ничего не сделает но парень будет стараться и помогать вам в первую очередь
Куда ты пропал, мужик, у тебя был самый высококачественный контент в ру сегменте по юнити!
Не пропал и надеюсь выпускать видео и дальше, но пока что не было возможности это делать. :(
Круто!Спасибо за ролик, но это количество ифов и элсов немного пугает)
Это сделано исключительно для наибольшей понятности примера, разумеется такой хардкод в реальном проекте использовать нежелательно)
@@insaneone-7220 Спасибо) Меня тимлид по лицу бьёт за каждый if, потому они немного бросаются уже в глаза
не видел на руЮтубе видосов на такие темы, так держать)
Слушай, а можешь посоветовать годные книги по c#, паттернам и юнити?
Классно)
Напоминает стэйт машину... xD эти и есть FSM (Finite State Machine)
Класс
о. Таки есть какая та встроенная стейтМашин в Юньке? Норм, надо будет изучить. Спасибо. Пиши "исчо")
Пушка
Такой вопросик. Может быть ты(или кто-то) знаешь как делают игры вроде Civilization или Plague Inc. где есть обширные ветви прокачки разных сущностей и взаимодействие между ними? Может быть, у этого есть какое-то специальное название что бы загугнить? И может это все делается на определённом паттерне?
я тебе одно скажу, ты - гениален!
Жду новых роликов ;)
Жду стэйт машину от unity.)))
Привет. А сам игры делаешь свои? Или на заказ?
Возмлжно ли как то заменить проверку на ввполненность состояния в Update на событие? Чтобы не проверять каждый апдейт
Привет. Отличные видео! Сделай плиз видосы по внедрению геймменеджера/аудиоменеджера и диалоговой системы в игру! Или хоть чего-то из этого) Нормальной информации на эту тему нет не только в русском ютубе, а практически нигде! И я не про очевидный способ с условным добавлением аудиосорса, с последующим проигрыванием из скрипта, я про способ, который не сломается при масштабировании. Так сказать, хорошие привычки. Например, у Brackeys есть видеоролик про диалоговую систему. В принципе, все нормально, но в комментариях заметили, что при локализации переводить каждый фрагмент текста по отдельности будет адово. Интересно все-таки узнать такие базовые вещи, но реализованные опытным разработчиком, а не контент мейкером. Надеюсь, оценишь.
Был пацан, и нет пацана(
Хотелось бы гайд как сделать реалестичную физику воды как в Halo 3
Не мне лично легко заходит, когда когд заранее написан, я и сам так записываю видео.
КОД пишу заранее, потом освещаю, да и так короче. Плюс я всегда скидываю ссылку на демонстрационный проект из видео под описание.
Все очень интересно, но ничего не понятно. Но думаю дело во мне)
мм, а как на счет CurrentState = Instantiate(state) - это разве не "забъет" память?
У тебя переходы разбросаны и в стейте и в переходах у Character, лучше наверное когда стейт какой-то результат возвращает как в bt
Ты используешь ScriptableObject для организации состояния. Но разве используя один и тот-же ScriptableObject несколькими GameObject на сцене, не сломает их поведение? Ведь они оба будут использовать и влиять на его параметры.
В видео упоминаю, что нужно клонировать из через Instantiate в таком случае. Тогда всё будет в порядке.
@@insaneone-7220 тогда лучше использовать обычный класс, разве нет?
Как называется плагин для райдера, который отображает справа от текстового редактора код широкой полосой и позволяет проще скроллить?
CodeGlance
Очень жаль, что на канале перестали выходить видео.
Дружок-пирожок, ну и куда ты пропал?
бро ты куда исчез? (((
Пока нет возможности записывать новые ролики. Но я надеюсь, она появится)
@@insaneone-7220 Понимаю))) Приятно знать, что с тобой ничего не случилось
Можно ли обойтись без такого количества ифов в апдейте?
Да, в видео - лишь пример реализации. Это всё при желании можно гораздо более компактно и эффективно сделать. В данном случае таким способом было проще показать суть подхода.
Ну ребят,ну выложите вы код на гит пожалуйста, ну сложно что ль?)
Кошерный паттерн. Понятная подача лектора
Где новые видео
Если честно, даже на примере игры ничерта не понял.
Ну, возможно я просто хлебушек
Что не понятно?
Канал R.I.P?
Нет)
@@insaneone-7220 Походу все же да(
@@gameviewer5693 нет) Даже видео есть в работе :D
@@insaneone-7220 теперь то точно да
Благодарю, полезно и доходчиво.
Очень интересно, спасибо.