#пилимигру

  Рет қаралды 2,083

Лавка Разработчика

Лавка Разработчика

Күн бұрын

Пікірлер: 29
@grootkroot22
@grootkroot22 4 ай бұрын
Смотря все видео из этой линии, узнаю много мелких и удобных штук, про которые не говорят другие ютуберы и понимаю, что нужно больше применять реактивность, тк она очень удобная. Лучшая серия видосов)
@МихаилЗайлогин
@МихаилЗайлогин 15 күн бұрын
С каждым видео все интереснее и интереснее, по началу многие штуки казались странными но постепенно они начинают приобретать смысл)
@whatareulookingat235
@whatareulookingat235 4 ай бұрын
Как всегда полезно! Хотелось бы также увидеть UI и Settings Menu в частности. Хотелось быть уточнить, в текущем подходе - настройки будут инициализироваться в GameEntryPoint? То есть достаём прокси настроек и сетим значения к примеру в аудио микшер.
@gamedevlavka
@gamedevlavka 4 ай бұрын
@@whatareulookingat235 скорее нужен какой-то биндер для настроек, который да цепляется на прокси и перекидывает значения в микшер, как только они обновляются
@Magic__Man
@Magic__Man 4 ай бұрын
Круто! Смотрим!
@AleksandrSknarin
@AleksandrSknarin 2 ай бұрын
Кстати интересно как прикручивается логика MVVM если например я хочу использовать юнитевскую физику? Чем в данном случае будет физика - модель (потому что непосредственно влияет на логику) или вью (потому что юнити+монобех)?
@gamedevlavka
@gamedevlavka 2 ай бұрын
@@AleksandrSknarin физика как таковая не влияет на логику, влияет результат обработки физики. И этот результат обработки можно интерпретировать, как инпут. Персонаж наступил на монетку, коллайдеры пересеклись, сигнал полетел в модель "давай, добавляй монетку". Тоже самое можно представить в виде консольного приложения: пользователь пишет "я наступил на монетку", сигнал идёт в модель: "добавить монетку"
@grootkroot22
@grootkroot22 4 ай бұрын
Допустим у меня есть скрипт с монобехом и публичным методом Initialization(SomeSystem someSystem), как мне в него передать эту систему, допустим в геймплейной сцене? У меня в голове только это: сделать сереализуемое поле в геймплейной точке входа, пробросить через инспектор и вызвать метод инитиалищации в этой точке входа. Как лучше сделать?
@gamedevlavka
@gamedevlavka 4 ай бұрын
Все правильно думаешь. Вся инициализация - через точку входа, где ты увидишь, как и из чего состоит сцена. Но есть один нюанс. Очень похоже на MVVM, только тогда скрипт с монобехом будет что-то вроде MyObjectBinder : Monobehaviour, система будет вьюмоделью MyObjectViewModel. И метод называться Bind(MyObjectViewModel viewModel) В случае MVVM ты можешь прокидывать зависимости в глубину. Условно у тебя есть некий WorldRootBinder - что является корневым баиндером, который и кидается в поле EntryPoint, как ты и написал. Но может быть внутри WorldRootBinder есть како-нибудь CharactersBinder, а внутри CharacterBinder - SomeSpecificCharacterBinder. И тогда зависимости спускаются соответственно через WorldViewModel дальше CharactersViewModel, дальше в SomeSpecificCharacterViewModel - как пример. Надеюсь понятно объяснил и не запутал. Мы будем это проходить чуть позже, в ближайшие 3 видео
@binarchik039
@binarchik039 4 ай бұрын
УРА
@ВладимирАсланов-э3ш
@ВладимирАсланов-э3ш 4 ай бұрын
Мне кажется с точки зрения загрузки игры, было бы лучше использовать какой нибудь unitask, чтобы не делать всякие флаги на загрузку и использовать await. Да и интерфейс провайдера настроек надо делать по хорошему сразу для работы с ожиданием. Иначе все равно придётся лезть в реализацию и изменять тип возвращаемого значения.
@gamedevlavka
@gamedevlavka 4 ай бұрын
@@ВладимирАсланов-э3ш да, можно подрубить uniTask, или ещё что, станет лучше конкретно в этом месте, но в остальном проекте они не понадобятся, так что оставлю пока так. Если прижмёт, то поменять - 5 минут
@NewUser78654
@NewUser78654 4 ай бұрын
Мне кажется надо сделать 1 статический класс и 1 БД SQLite и не пихать всё что есть в языке туда, где это не надо. Люди, 2024 храните данные в БД - это же очевидно. Используйте всю мощь SQL - всё масштабируется, синхронизируется, да что угодно - недостатков нет. Опционально пойти на курсы программистов майкрософт, которые ведут сертифицированные преподаватели со стажем и внимательно посмотреть где используются те или иные языковые конструкции. За 20 лет уже надоело, что каждый программист из страха показаться не профессионалом показывает знания всех паттернов, языковых конструкций, всех встроенных возможностей языка в одном решении . Впихнуть всё. Доколе?
@lDyamonagl
@lDyamonagl 4 ай бұрын
У Васяна и Стасяна удалили подписьки....
@nepochat
@nepochat 4 ай бұрын
👾💜
@MrGolovewkin
@MrGolovewkin 4 ай бұрын
Cool!
@AlexdV-Channel
@AlexdV-Channel 4 ай бұрын
Вопрос что смотреть за обедом отпал сам собой)
@MightyBlow
@MightyBlow 18 күн бұрын
Для чего вообще создается папку Root внутри какой-нибудь папки? Если рядом с Папкой Root лежат файл, это место и считается корнем. А мы зачем-то дополнительный "корень" создаем в котором вообще не понятно что тогда содержится. Надеюсь понятно объяснил своё непонимание/
@boost_456
@boost_456 4 ай бұрын
Как с помощью R3 сделать публичное реактивное свойство, но чтобы у него был сеттер, ограничивающий Math.Clamp'ом подаваемые значения?
@gamedevlavka
@gamedevlavka 4 ай бұрын
Никак, реактивные свойства для этого не созданы, они как уведомлялки
@boost_456
@boost_456 4 ай бұрын
@@gamedevlavka решил эту проблему, создав подписку на реактивное свойство внутри этого же класса
@KontAin
@KontAin 4 ай бұрын
сможешь помочь мне с ошибкой при билде на андроид?
@gamedevlavka
@gamedevlavka 4 ай бұрын
Залетай, тут помогают: t.me/gamedevtavern/18991
@lazybee6969
@lazybee6969 3 ай бұрын
Вот смотрю я уже 6 ролик и у меня возникает стойкое чувство "А это вообще все нужно?". Сейчас я объясню, что имею ввиду. Мы пишем код, код безусловно красивый и умный, расширяемый и гибкий, и вообще просто вах вах, в плане архитектуры. (мне и самому нравится как это все выглядит) НО тут возникает главный вопрос "Зачем?". 80% зрителей этого канала это инди-разработчики, которые не будут писать такие монструозные проекты, которые будут поддерживать на протяжении нескольких лет. Так зачем закладывать фундамент, на котором будет построен шалаш. Не проще ли создать рабочий (кривенький, косенький, в некоторых местах сильно связанный) проект и вообще посмотреть выстрелит ли он. А после, когда пройдет год, и проект все еще будет актуальный, то просто полностью переписать его (или вообще создать 2 часть 😄). Как по мне главное не уходить вообще в абсолютный говнокод, думать "Тут у меня данные, тут бизнес логика , тут ui, тут контроллер, которое все связывает, да контроллер скорее всего разрастётся до огромных масштабов, но к тому времени я уже закончу проект", даже наверное не надо это все делить на уровне архитектуры, просто поделить на отдельный классы. Стараться придерживается принципов solid (хотя как по мне 3 принцип, какая то фигня убивающая наследование) использовать некоторые удобные паттерны и все. Может я чего-то не понимаю или еще не дорос, не знаю.
@gamedevlavka
@gamedevlavka 3 ай бұрын
На самом деле, ты все правильно понимаешь) Но есть нюанс, как раз до которого ты немного не добрался) Зная все вот эти приколы с архитектурой, как связывать, как входить, как управлять - можно делать игру на коленке, при этом минимизировав количество костылей и нестабильного кода. Просто будешь писать код на коленке, на синглтонах, или сервис локаторе, но понимать как сделать так чтобы работало и работало хорошо)
@nightkot4917
@nightkot4917 2 ай бұрын
Тут весь фокус в том, что 80 процентов Разработчиков не пишут средние и большие игры. Для мелких типа Одноразовый "Тетрис" и Одноразовый "Три в Ряд" - Архитектура не нужна. Достаточно просто опрятно написать. "Все ЭТО" нужно, когда собираешься создавать что то долгоиграющее, типо Stardew Valley, WorldOfWarCraft или FalloutShellter... И все в таком духе.
@nightyonetwothree
@nightyonetwothree 3 күн бұрын
@@nightkot4917 я вот диаблоид думаю написать. И геймплейный код меня не интересует - имел опыт в модмейкерстве. А вот архитектура для меня более важный вопрос. Я конечно и сам могу додуматься за 5 лет, но лучше посмотрю, полайкаю, а сделаю для себя чуть попроще.
@NewUser78654
@NewUser78654 4 ай бұрын
Все очень печально. Автору стоит серьезно подумать над тем, что он делает и почему для простейших решений (которые уже есть у более опытных разработчиков) он строит такого вот "монстра". Смотрю на всё это и мне страшно. Страшно - мы не знаем что это такое, если бы мы знали что это такое - мы не знаем что это такое. Если честно, у меня даже есть мысль, что автор троллит. Статический класс и БД SQLite. Всё. Без подписок, отписок, абстракций...они не для этого были созданы. Не надо показывать знания всего и толкать это всё туда, где ему не место. Не надо. Решение просто ужасно. И это выяснится на большом и реальном проекте. Это когда вы будете работать со стим и 100500 пользователями. Так сказать небольшая ответственность. И вам надо будет контролировать, загружать, изменять кучу ресурсов, обновления игры, модифицировать структуру сохранений. И вот с этим, что на видео, вы хлебнете горя.
@gamedevlavka
@gamedevlavka 4 ай бұрын
@@NewUser78654 Окей, засуну опыт работы над крупными проектами со Scopely (~200 человек на проекте, из них 40 программистов), откуда и взялся мой опыт работы с MVVM, реактивностью и клиент-серверным взаимодействием куда подальше. А если серьезно, то как раз такие решения используются на крупных проектах, и меня сложно будет переубедить, т.к. я имею немалый опыт работы с крупными проектами. Но ради справедливости скажу, что строить такого монстра я и не заставляю, я просто делюсь знаниями, использовать их или нет - дело ваше. Не стоит расписаться по поводу статики и базы данных, эта комбинация смертельна для мультиплатформенный проектов сложнее гиперказуалки (в долгосроке, конечно же). А простую игру можно на коленке написать часов за 8-16 без визуала
Паттерн Прокси (Proxy) в C#. Как использовать в Unity?
18:18
Лавка Разработчика
Рет қаралды 2,7 М.
Ozoda - Alamlar (Official Video 2023)
6:22
Ozoda Official
Рет қаралды 10 МЛН
Почему Катар богатый? #shorts
0:45
Послезавтра
Рет қаралды 2 МЛН
«Жат бауыр» телехикаясы І 26-бөлім
52:18
Qazaqstan TV / Қазақстан Ұлттық Арнасы
Рет қаралды 434 М.
#behindthescenes @CrissaJackson
0:11
Happy Kelli
Рет қаралды 27 МЛН
Нейросеть выпустила 70 игр в Яндекс Играх (наверное)
5:32
GuFFi snup - Разработка игр
Рет қаралды 2,2 М.
#пилимигру 13. Организация UI в играх на Unity
1:01:04
Лавка Разработчика
Рет қаралды 502
Как сделать плавный движение камеры как в RTS в Unity?
23:54
Лавка Разработчика
Рет қаралды 863
#пилимигру 10. Организация конфигов в игре на Unity
34:14
Лавка Разработчика
Рет қаралды 1,2 М.
#пилимигру 11. Состояние игры по умолчанию. Unity
36:57
Лавка Разработчика
Рет қаралды 824
Ozoda - Alamlar (Official Video 2023)
6:22
Ozoda Official
Рет қаралды 10 МЛН