#8 Быстрая и простая архитектура проекта в Unity для новичков

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 มิ.ย. 2023
  • Извините за качество записи, разберусь с этим.
    В этом ролике мы разберем БАЗОВУЮ архитектуру для небольшого проекта с которой вам будет удобно работать. Это идеальный баланс между скоростью, расширяемостью и простотой.
    Скинуться на геймджем: boosty.to/michaelgamedirector
    Проверенный ассет для сейвов: assetstore.unity.com/packages...
    ➡ Telegram:t.me/game_director
    ➡ Группа MYINDIE в ВК: myindieru

ความคิดเห็น • 103

  • @BaTTeRFeeD
    @BaTTeRFeeD 4 หลายเดือนก่อน +13

    Вот он, человек со светлой темой в VisualStudio)

    • @GameDirectorMichael
      @GameDirectorMichael  3 หลายเดือนก่อน +2

      Да это удобно когда компьютер стоит рядом с окном, иначе днём ничего не видно.

  • @tglstudio2655
    @tglstudio2655 11 หลายเดือนก่อน +8

    Я новый подписчик, нравится твоя подача и хотел бы видеть больше таких тем, как в этом ролике, ибо она очень интересная)

  • @LFirm
    @LFirm 5 หลายเดือนก่อน +2

    Дерзкий мужик!!! Научите нас пожалуйста делать игры с нуля до суперпупер профи!!!

  • @Daragni
    @Daragni 11 หลายเดือนก่อน

    "Это не человек, это ангел!"
    Благодарю!

  • @co6op13
    @co6op13 11 หลายเดือนก่อน

    Спасибо. давай ещё. Ждём следующий видос

  • @flugenkehhannen
    @flugenkehhannen 6 หลายเดือนก่อน

    прикольно что оказывается все рано или поздно приходят примерно к одним и тем же решениям)

  • @NoobittoBoy
    @NoobittoBoy 11 หลายเดือนก่อน +1

    Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?

  • @RS-nj2dv
    @RS-nj2dv 10 หลายเดือนก่อน

    Какой душевный мужик🙂

  • @Veles017
    @Veles017 11 หลายเดือนก่อน

    Моё почтение автору канала!

  • @albertnikitin8071
    @albertnikitin8071 26 วันที่ผ่านมา

    А в какой момент Bootstrap переключается на следующую сцену? Имею ввиду что на сцене создается множество менеджеров, как отследить что все менеджеры создались и можено загружать следующую сцену?

    • @GameDirectorMichael
      @GameDirectorMichael  26 วันที่ผ่านมา +1

      если сцена полностью загружена, то все префабы что были на ней в редакторе загрузились, иначе сцена не появится. Но несколько кадров все таки нужно оставить чтобы Unity точно успел все Awake и Start выполнить. Я не парюсь и ставлю в этой сцене 2 секунды до след. сцены. Но в более сложных играх где прогружается много ресурсов лучше контролировать это.

  • @ue1angeange317
    @ue1angeange317 11 หลายเดือนก่อน

    спасибо! классный контент!

  • @AntonTechDev
    @AntonTechDev 11 หลายเดือนก่อน +1

    Приветствую, Михаил! Ты сказал что игра на Стиме! Как там с монетизацией? Я имею ввиду если находишься в России, с монетизацией, переводами дохода со Стима на счёт в руб., проблем нет?

    • @GameDirectorMichael
      @GameDirectorMichael  11 หลายเดือนก่อน +1

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

    • @AntonTechDev
      @AntonTechDev 11 หลายเดือนก่อน

      @@GameDirectorMichael Благодарю за ответ! Формат видео зачёт)

  • @user-pp4tq3td7d
    @user-pp4tq3td7d 4 หลายเดือนก่อน

    Привет, вопрос к открывающей сцене, она подгружает большинство систем и билд прекрасно работает. А как быть на этапе разработки, например, проверить сцену, ты не сможешь этого сделать, так как не все системы будут инициализированы. Сам новичок, и пришел к такому решению:
    #if UNITY_EDITOR
    [RuntimeInitializeOnLoadMethod]
    #endif
    private static void InitializeData()
    {
    }
    Хорошее это решение или нет?

    • @GameDirectorMichael
      @GameDirectorMichael  4 หลายเดือนก่อน

      Хороший кстати вопрос. Я обычно создаю еще префаб который будет загружать все элементы и кидаю его на сцену где мне нужна проверка. Так как это касается только Эдитора, то тут любое самое простое решение подойдет.

    • @user-pp4tq3td7d
      @user-pp4tq3td7d 4 หลายเดือนก่อน

      @@GameDirectorMichael Спасибо

  • @flaxshow8796
    @flaxshow8796 11 หลายเดือนก่อน

    четко и по факту говоришь,продолжай делать контент

  • @alexeytrusovru
    @alexeytrusovru 11 หลายเดือนก่อน

    Лайк поставил авансом перед просмотром. :) Не разочаровался! Спасибо! :)

  • @dm1tryrin
    @dm1tryrin 9 วันที่ผ่านมา

    Опа! Я спалил локализацию))) Было бы интересно посмотреть как делать локализацию игры хотя бы на два языка!)))

  • @kowaruss
    @kowaruss 10 หลายเดือนก่อน +1

    Ааааа.... Хочу вторую часть. Плиз. Очень очень очень надо

    • @GameDirectorMichael
      @GameDirectorMichael  10 หลายเดือนก่อน

      Извини, были важные дела, на этой неделе запишу

  • @Arve62
    @Arve62 11 หลายเดือนก่อน

    Добрый день, гений ютуб шортсов))) Какой ассет использовать для локализации?

    • @GameDirectorMichael
      @GameDirectorMichael  11 หลายเดือนก่อน +1

      Simple localization with Google Sheets

  • @zimdd405
    @zimdd405 11 หลายเดือนก่อน

    настоящий клад для меня !

  • @r2d2-vw9wc
    @r2d2-vw9wc 3 หลายเดือนก่อน

    А для простых игр для сохранения лучше использовать PlayerPrefs, или тот ассет?

    • @GameDirectorMichael
      @GameDirectorMichael  2 หลายเดือนก่อน +1

      Без разницы, если сохранять только цифры то достаточно player prefs

    • @user-gg1wk1fx4b
      @user-gg1wk1fx4b 19 วันที่ผ่านมา

      Я делал один класс SaveManager и во всех играх использую его. Делаешь в этом классе 3 метода Load, Save, ClearData и еще один класс пишешь в скрипте в этом куда будешь все сохранять SaveContainer и сверху пишешь модификатор [Serialize]. В контейнере делаешь что будешь сохранять допустим int a, и в SaveManager int a, в методе Save просто их приравниваешь a=a, затем делаешь класс Singlton и сохраняешь из любого места программы

  • @user-lg7wy4km3y
    @user-lg7wy4km3y 11 หลายเดือนก่อน

    Привет, спасибо за контент. Скажи, а как трудн осейчас найти работу джуну юнити?

    • @GameDirectorMichael
      @GameDirectorMichael  11 หลายเดือนก่อน

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

  • @dmitriypermyakov5402
    @dmitriypermyakov5402 8 หลายเดือนก่อน

    А можно Kingdom Come включить на послушать?

  • @user-mm7ch3xw4e
    @user-mm7ch3xw4e 11 หลายเดือนก่อน +1

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

    • @GameDirectorMichael
      @GameDirectorMichael  11 หลายเดือนก่อน +4

      Скорее всего будет лучше от книг, но мне кажется до книг нужно дойти, сначала нужно приобрести интерес, а потом уже его развивать с помощью книг

    • @user-mm7ch3xw4e
      @user-mm7ch3xw4e 11 หลายเดือนก่อน +1

      @@GameDirectorMichael Вот тут согласен на 100%. Некоторые книги могут убить желание начинать что-то делать практически с первой страницы))) Я про Рихтера например)

  • @user-oe1hf4lu3x
    @user-oe1hf4lu3x 11 หลายเดือนก่อน

    имбаа видос

  • @goshacar2273
    @goshacar2273 9 หลายเดือนก่อน +1

    Привет. Наткнулся на твой канал, прикольная подача, интересно рассказываешь)
    Хотел сказать по поводу реализации синглтона: instance нужно делать обязательно свойством с приватным сеттером.
    На уровне новичков, которые в одиночку пилят свою игру это не повлияет, но в среднем проекте с командой хотя бы человек в 5-6 (не говорю уже о чём-то большем) всегда найдётся умник, который захочет перезаписать instance в другой части программы и всё сломается. Особенно руководствуясь принципом "нужно срочно, потом подрефакторим". Проверено на практике.
    Ну и как по мне паттерны проектирования для новичков рассказывать - не очень хорошо. Многие новички не понимают разницы между классом и экземпляром класса. А им это на практике применить нужно... Так что отвечая на вопрос есть ли что-то проще синглтона? Да, есть))

    • @GameDirectorMichael
      @GameDirectorMichael  8 หลายเดือนก่อน +2

      Да, полностью согласен с синглтоном. По поводу простоты, тут мне субъективно кажется он очень простым для понимания, даже проще чем наследование например.

  • @wofogames1139
    @wofogames1139 11 หลายเดือนก่อน

    Don't destroy on load можно внутри if написать.

  • @MaxHarperMusic
    @MaxHarperMusic 11 หลายเดือนก่อน +1

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

  • @user-ef8yw9mq8p
    @user-ef8yw9mq8p 2 หลายเดือนก่อน

    уф, мужик)) оочеень странно, но может и полезно) я просто программист по профессии) смотрю и плачу) вообще, может и подходит для кликеров такое, но запутаться всё равно местами можно будет очень больно после этого...

    • @GameDirectorMichael
      @GameDirectorMichael  2 หลายเดือนก่อน

      Если есть примеры более простой реализации чтобы игра могла работать и при этом разработчик понимал что где у него, то я действительно рад буду о них узнать))

  • @teawizzard
    @teawizzard 11 หลายเดือนก่อน +1

    Я ждал что жэ ето такое XD

  • @brollerchannel819
    @brollerchannel819 หลายเดือนก่อน

    0:21 как песня называется?

    • @GameDirectorMichael
      @GameDirectorMichael  หลายเดือนก่อน +1

      Чтоб я знал, что то с библиотек бесплатных

  • @StratoCatster
    @StratoCatster 11 หลายเดือนก่อน +1

    Большие дяди не разрешают в script execution order лезть)
    Лучше точку входа сделать единую где иницилизировать один сервис локатор и в него положить все фичи)

    • @GameDirectorMichael
      @GameDirectorMichael  11 หลายเดือนก่อน

      Да поэтому я и сказал что лучше его не трогать :) но в целом это не так страшно как все пугают. Просто если будут ошибки их сложно будет отследить

  • @user-fk6kg3qt7g
    @user-fk6kg3qt7g 6 หลายเดือนก่อน +1

    Все хорошо, только вот код плохо видно, даже в качестве 1440

    • @GameDirectorMichael
      @GameDirectorMichael  6 หลายเดือนก่อน +1

      Постараюсь более чётче делать

  • @user-xb4lj2lo8l
    @user-xb4lj2lo8l หลายเดือนก่อน

    Мотнул в случайное время, увидел Singleton без объявления его минусов, изменения Script Execution ордер и вышел с видео. С такими подходами вы далеко не уедите. Изучите DI/IOC. Поставьте себе extenject, а лучше VСontainer чисто для DI и офигейте от того, как у вас легко всё инициализируется по порядку, а скрипты не ломаться от нулрефов.

    • @GameDirectorMichael
      @GameDirectorMichael  หลายเดือนก่อน

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

  • @ilyamedvedev8943
    @ilyamedvedev8943 7 หลายเดือนก่อน +1

    Ммммм антипаттерн🥲 композит рут один из лучших архитектурных решений.

    • @GameDirectorMichael
      @GameDirectorMichael  7 หลายเดือนก่อน

      Нету такого понятия Антипаттерн, это придумано какими-то снобами с комплексами, поэтому не рекомендую это слово использовать 😸

  • @Doctor_Leo_LS
    @Doctor_Leo_LS หลายเดือนก่อน

    Я, как новичок, ответственно заявляю, что далеко не глупый. Но вот вообще нет тех объяснений, что хотелось бы получить. Очень тяжело к усвоению. И самое печальное то, что сильно лучше тоже найти ничего не могу.

    • @GameDirectorMichael
      @GameDirectorMichael  หลายเดือนก่อน

      Напиши пожалуйста подробнее, чего именно тебе не хватило

  • @KINOSHOT999
    @KINOSHOT999 หลายเดือนก่อน

    Так я и не понял как пользоваться этим синглтоном. Ссылки на объекты как я к нему покинуть не могу, ну и зачем тогда он вообще нужен?

    • @GameDirectorMichael
      @GameDirectorMichael  หลายเดือนก่อน

      Почему ты не можешь прокинуть ссылки в Singleton? Создавай любые Public или защищенный поля и обращайся к ним

    • @GameDirectorMichael
      @GameDirectorMichael  หลายเดือนก่อน

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

    • @KINOSHOT999
      @KINOSHOT999 หลายเดือนก่อน

      @@GameDirectorMichael да, разобрался уже. Спасибо

  • @Niakita
    @Niakita 7 หลายเดือนก่อน

    1 файл - 1 класс, или в юнити по другому и в 1 файл пихают кучу классов?

  • @mastervolodsobeck5176
    @mastervolodsobeck5176 11 หลายเดือนก่อน

    Скинхед от мира программистов :)
    Мастер, а ты крут.

  • @xantezzv
    @xantezzv 5 หลายเดือนก่อน

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

  • @domiurk
    @domiurk 5 หลายเดือนก่อน

    Привіт, всі хвалять твою подачу, з ними згоден подаєш прикольно, надіюсь не закинеш цю справу, ооо і ще, було б класно якби ти хоча б в коментах залишав пакети які ти юзав, думаю комусь буде інтересно

  • @kapik10793
    @kapik10793 11 หลายเดือนก่อน

    извините , почему при билде игры на web Gl выскакивают 11 ошибок

    • @GameDirectorMichael
      @GameDirectorMichael  11 หลายเดือนก่อน

      Честно говоря сам ещё только начинаю делать билды под WebGL

  • @NoobittoBoy
    @NoobittoBoy 11 หลายเดือนก่อน

    А есть вообще такое место в интернете где програмисты скидывают какието свои наработки, хвалятся какие они молодцы, хвастаются кодом, и т.д.?

    • @GameDirectorMichael
      @GameDirectorMichael  11 หลายเดือนก่อน

      Привет! Ты про игры или конкретно про программирование? Если про программирование - это это Гитхаб

  • @plexoid
    @plexoid 7 หลายเดือนก่อน

    0:54 ладно(

  • @r2d2-vw9wc
    @r2d2-vw9wc 3 หลายเดือนก่อน

    А почему мобильные проекты фигня? В Steam размещать игры выгоднее?

    • @GameDirectorMichael
      @GameDirectorMichael  3 หลายเดือนก่อน +2

      Я думаю что инди разработчику в стим залететь больше шансов. Хотя возможно больше в Web :)

  • @golodnenkiy
    @golodnenkiy 8 หลายเดือนก่อน +1

    Ролик только для новичков, если автор говорит про паттерн singleton должен предупреждать, что его использование дурной тон в более серьезных программистских кругах (почему думаю писать не надо, много информации в интернете). Архитектурой тут не пахнет. Используйте DI и будет вам счастье.

    • @GameDirectorMichael
      @GameDirectorMichael  8 หลายเดือนก่อน

      Синглтон топ, если игру делает меньше трех человек.

    • @ziiron322
      @ziiron322 20 วันที่ผ่านมา +1

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

  • @SanekKerman
    @SanekKerman 10 หลายเดือนก่อน

    Братан ты конечно молодец, но все твои ролики все равно ооочень сложны для новичков, я вот не знаю что такое инстанс, синглтоны и остальные всякие сложные штуки, тебе бы запистаь полный курс по юнити от самого начало до конца на несколько часов как на канале у сакутина по c#, потому что на ру ютубе такого нет и вся инфа очень разбросана и устарела. И я вангую у тебя будет сотни тысяч просмотров и куча донатов на бусти

    • @GameDirectorMichael
      @GameDirectorMichael  10 หลายเดือนก่อน +1

      Так Синглтон это самая простая штука, проще уже просто нечего придумать, видимо нужно лучше мне объяснять :)

    • @igor_mutny
      @igor_mutny 10 หลายเดือนก่อน

      Instance - это просто статическое поле, ссылающееся на объект. Можно назвать его как-то по-другому, хоть HeyYouComeHereNow 😄 просто сложилась такая традиция при создании синглтонов называть это поле "инстансом".
      Синглтон - это простейший паттерн объектно-ориентированного программирования. Он реализуется на любом ООП-языке и применяется далеко не только в геймдеве (как и любой другой паттерн).
      Все эти темы не имеют прямого отношения к Unity, - это такая универсальная база, которую нужно знать, чтобы мочь накодить хоть что-то мало-мальски серьезное. Вне зависимости от того, каким языком программирования ты пользуешься и какой отраслью программирования занимаешься.

  • @GbyGRus
    @GbyGRus 11 หลายเดือนก่อน +1

    Блин реально было интересно это сингтон или что-то новое. Могу сказать от себя это действительно популярный подход к архитектуре в Unity. Уже говорит о том что автор может чему-то научить новичков.

  • @bonbad612
    @bonbad612 11 หลายเดือนก่อน +1

    Di лучше чем Singleton)

    • @GameDirectorMichael
      @GameDirectorMichael  11 หลายเดือนก่อน +1

      Возможно но опять же это сложнее, первую игру лучше делать без этого

  • @DarkIllusoire
    @DarkIllusoire 8 หลายเดือนก่อน +3

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

    • @kellerkey
      @kellerkey 7 หลายเดือนก่อน

      !хороший же код, !будем делать так же

    • @DarkIllusoire
      @DarkIllusoire 7 หลายเดือนก่อน

      @@kellerkey делай, благословляю

  • @ode2877
    @ode2877 8 หลายเดือนก่อน

    Синглтоны то что нужно для старта новичков, и в том чтобы быть новичком нет ничего плохого,

  • @minithanos20
    @minithanos20 9 หลายเดือนก่อน

    DontDestroyOnLoad не переносит объект из сцены в сцену,а копирует его

  • @Bushido_Cat
    @Bushido_Cat 11 หลายเดือนก่อน

    Очень интересно но ничего не понятно. Было бы круто если бы ты показал это на практике по этапно. А не на готовом проекте, хаотично открывая и дергая туда-сюда эти скрипты. Получается каша а не урок. Такое впечатление, что ты просто хочешь показать какой ты хороший программист и похвастаться. Точно не для новечков.

    • @GameDirectorMichael
      @GameDirectorMichael  11 หลายเดือนก่อน

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

  • @Vjuh_and_kx
    @Vjuh_and_kx 11 หลายเดือนก่อน

    2:17 Асуждаю! Мобильные проекты тоже бывают норм... тем более они приносят заработок в разы больше чем любые другие платформы! Что уже говорит само за себя, а именно что эти ваши стимы и епики фигня!)

    • @GameDirectorMichael
      @GameDirectorMichael  11 หลายเดือนก่อน

      Естественно если делать заработок то можно сделать что угодно, и лучше даже не игры)) среди мобильных игр тоже есть свои шедевры, но в среднем это просто помойка, извините, не могу по-другому выразиться глядя на какой-нибудь Google play.

    • @Vjuh_and_kx
      @Vjuh_and_kx 11 หลายเดือนก่อน

      @@GameDirectorMichael Не я не спорю что там много мусора. Но разработчики тоже вроде как стараются.

  • @GamDevRus
    @GamDevRus 11 หลายเดือนก่อน

    как же много воды...

    • @GameDirectorMichael
      @GameDirectorMichael  11 หลายเดือนก่อน

      Я называю это развлекательный контент 😉

  • @GERGONable
    @GERGONable 3 หลายเดือนก่อน

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

    • @GameDirectorMichael
      @GameDirectorMichael  3 หลายเดือนก่อน

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

  • @YACommunity
    @YACommunity 8 หลายเดือนก่อน +2

    слышу синглтон, выключаю ролик и всем советую

  • @hea7enn
    @hea7enn 11 หลายเดือนก่อน

    а чё класс бы не сделать статичным?

    • @GameDirectorMichael
      @GameDirectorMichael  11 หลายเดือนก่อน

      Я там вроде упоминал, тогда его не видно в инспекторе и сложнее понять что где, а так все очевидно, для новичка это важно.