Стыд и позор! Неужели мы ТАК учим программировать? | Обзор кода C# и Unity

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 ก.ย. 2024
  • Блогеры опять лезут к нам в GameDev?
    Обучение разработке игр с нуля с гарантией трудоустройства - ijunior.ru/uni...
    Мой телеграм - t.me/sakutin_c...
    Моя студия Agava - agava.tech/
    Моя книга - csharpbook.saku...
    ЯЮниор:
    Группа - holymon...
    ЧАТ В ТЕЛЕГЕ - t.me/csharp_fa...
    Discord - / discord

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

  • @rsakutin
    @rsakutin  ปีที่แล้ว +8

    Мой бот с ЛУЧШИМИ бесплатными материалами по программированию и Unity - t.me/sakutin_guides_bot

    • @Programan800
      @Programan800 ปีที่แล้ว

      Не удаётся открыть ссылку

    • @musicplay579
      @musicplay579 ปีที่แล้ว +1

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

    • @browser_play
      @browser_play ปีที่แล้ว +1

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

    • @catttt4737
      @catttt4737 ปีที่แล้ว +1

      Пожалуйста, можешь обозреть код Onigiri(челик который с помощью C# создаёт ИИ, игры, и т.д.)

    • @ENFP7w6
      @ENFP7w6 ปีที่แล้ว

      можно по курсам устроиться в it-компанию на уровень junior?

  • @Лёха-з2н
    @Лёха-з2н ปีที่แล้ว +231

    Заголовок: Стыд и позор! Неужели мы ТАК учим программировать?
    Содержание: В целом хороший код, есть где похвалить есть где пожурить
    Спасибо за байт на комменты, Роман

  • @ruslanh8106
    @ruslanh8106 ปีที่แล้ว +40

    А где основной ужас стыд и позор о котором кричит заголовок?

    • @ruslanh8106
      @ruslanh8106 ปีที่แล้ว +1

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

  • @mrasasin243
    @mrasasin243 ปีที่แล้ว +165

    Может в следующий раз стоит сменить тему гит хаба на темную? сам код не самый крупный еще и на белом фоне из-за того не очень хорошо видно!

    • @stoksful
      @stoksful ปีที่แล้ว +10

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

    • @mrasasin243
      @mrasasin243 ปีที่แล้ว +7

      @@stoksful ну пусть зайдет, либо пусть увелит размер страницы чтобы код был виден. В этом случае приходится лицо к монитору подносить ближе.

    • @communism8037
      @communism8037 ปีที่แล้ว +9

      @@stoksful я не авторизован и у меня тёмная, наверняка из настроек ОС это идёт

    • @ENFP7w6
      @ENFP7w6 ปีที่แล้ว +2

      Хах, 360 p и смотрю с телефона)

  • @HitsarOrig
    @HitsarOrig ปีที่แล้ว +6

    3:25 Нормальные люди др*чат на хороший код
    а какие то дурачки на каких то баб

  • @OdessaChannel
    @OdessaChannel ปีที่แล้ว +10

    Кликбейт засчитан)

  • @enigma2353
    @enigma2353 ปีที่แล้ว +14

    Жалко что нет отдельно курсов по разработке 2D игр. Я бы такой для себя лично купил.

    • @ОлегАн-т5ж
      @ОлегАн-т5ж 10 หลายเดือนก่อน

      Всмысле нет, давай я тебе продам, сколько килогигаьайт отсыпать?

  • @Generator_Breda
    @Generator_Breda ปีที่แล้ว +2

    Партаки кринж полнейший. Красная рожа, белая шея с синими подтеками....

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

    Ты ещё не видел как я делаю игру, у тебя глаза вылезят из орбит 👀 (имеется в виду что игра ужасна, будущие мои проекты буду лучше, и я надеюсь)

  • @wpnisagod
    @wpnisagod ปีที่แล้ว +5

    Роман, какая у тебя будет реакция, если Дударь запишется на твой курс?

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

    А можно поподробнее - как наличие protected нарушает LSP?
    Правильный ответ - никак.
    Нарушение может быть при использовании 'new', а просто protected - никак не нарушает LSP.
    Так что не надо "бла-бла".
    Классическое определение: "если q(x) является свойством, верным относительно объектов 'x' некоторого типа 'T', тогда q(y) также должно быть верным для объектов 'y' типа 'S', где 'S' является подтипом типа 'T'" - protected никак не нарушает.
    Определение по Мартину: "функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом" - protected и это никак не нарушает.

  • @СмтрТб
    @СмтрТб ปีที่แล้ว +3

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

  • @ivanlemming5821
    @ivanlemming5821 ปีที่แล้ว +6

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

    • @rsakutin
      @rsakutin  ปีที่แล้ว +5

      У нас в программе есть шаблонный метод)

    • @alexandrk2822
      @alexandrk2822 ปีที่แล้ว +1

      Паттерны сложно видеть и использовать пока не набьешь скила, просто прочитать книгу gof'ов недостаточно

    • @shegan3377
      @shegan3377 ปีที่แล้ว

      @@rsakutin TakeDamage это и есть некая кривая реализация шаблонного метода по сути равзе нет?)

  • @evilmind5178
    @evilmind5178 ปีที่แล้ว +1

    Вылетело в предложке, зашел посмеятся с лохотронщиков, но на удивление почти все адекватно. Мимо лид 15 лет стажа.

  • @diveloper53
    @diveloper53 ปีที่แล้ว +3

    Ууу... Я вспомнил свой первый проект на Unity...
    Там вообще треш был с кодом...
    (Я самоучка если что, щас более менее норм у меня с этим)

  • @МихаилИванов-к7й
    @МихаилИванов-к7й ปีที่แล้ว +1

    Мне кажется, такой препод может только соляру курить научить😂

  • @Esperantistoelisraelo
    @Esperantistoelisraelo ปีที่แล้ว +1

    мне 12 это нормально?
    можно ли заработать деньги в таком возрасте?

    • @аноним-д7г
      @аноним-д7г วันที่ผ่านมา

      То что тебе 12 это нормально

  • @communism8037
    @communism8037 ปีที่แล้ว +5

    Ух, кликбейт
    UPD: Ладно, не кликбейт

  • @Worlfable
    @Worlfable ปีที่แล้ว +1

    Стыд и позор! Неужели мы ТАКИЕ заголовки кликаем?

  • @grimreper6502
    @grimreper6502 ปีที่แล้ว +2

    А-а-а-а-а белый икран моим глаза 👀

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

    Один метод - одна задача. Роберт Мартин Чистый код. Тут автор рекомендует несколько методов смешать в один. Да, тут отчасти палка о двух концах. Свои плюсы и минусы. Для столь мелкой игры что в видео можно и одним методом сделать. Проблема метода который выполняет кучу задач в том что функционал метода будит строго целевой, шаг в право в лево и придется все переписывать. А куча одно целевых методов дают модульность кода. Для каждой задачи писать отдельный метод радикально сложнее. А вот воткнуть всю архитектуру в один класс и в этом классе треть воткнуть в один метод это уровень новичка больше. Сам таким страдал в начале пути. Но кого-то учить и брать деньги за такое это уже ненормально.
    Однако разбор интересный. Вот только токсичность автора отталкивает.

  • @seoonlyRU
    @seoonlyRU ปีที่แล้ว +1

    хехехе))) ну за разбор лайк от СЕООНЛИ

  • @МихаилБелый-п7р
    @МихаилБелый-п7р ปีที่แล้ว

    К знаниям в области кодинга вопросов нет, есть вопрос к решению проблем со здоровьем. Не уже ли такой специалист не может позволить себе посетить дерматолога?
    Понятное дело что, для начала, нужно поменьше дрочить на малопонятные успехи своих учеников в коде, да и в принципе дело это мужскому здоровью мало как помогает.
    Так же сильно разочарован соотношению скиллов и способом завлечения аудитории на данной площадке: в заголовке одно, по факту другое, отписка без подписки получается)
    P.S: контент ради контента это одно, польза обществу (в нашем случае «кружку» разработчиков) - другое.
    Какой путь выберешь?
    Пока что вижу первый)

  • @SovietBrick
    @SovietBrick ปีที่แล้ว +1

    Не думал что такая разница в зарплатах среди джунов промпрога и джунов геймдева

  • @PublicAccount0
    @PublicAccount0 ปีที่แล้ว +1

    в следующий раз текст бы по-крупней, в идеале скопировать в IDE для контраста символов, так всё норм.

  • @mack1153
    @mack1153 ปีที่แล้ว +1

    А вот прям если я чайник?... Я вот вижу код(БУКВЫ НА ИНГЛИШЕ), но ничерта не понимаю, что это, как это, зачем это...
    Тут надо что-то качать?.. что вообще такое программирование и тд...
    Я вообще ни капли не понимаю, что нужно посмотреть, у кого, что бы можно было прям с 0 что-то изучать!(словно в Пейнт зашёл в 6 лет и нашел вместо карандаша Кисть и Аху*л , что ты такое нашел)

    • @mack1153
      @mack1153 ปีที่แล้ว

      Скажу сразу, на "программирование" и всей этой крутой штуке, я начал др@чить после просмотра сериала "КиберСталкер", прям чувак с ноута взломал твой тлф и следит за тобой, мне очень интересно, а вообще реально ли это всё?... Или просто выдумка для сериала??

    • @PotniMuzik
      @PotniMuzik ปีที่แล้ว

      программирование является слишком расплывчатым понятием

    • @funnyvalentine8738
      @funnyvalentine8738 ปีที่แล้ว

      ​@@mack1153ну в теории взломать телефон так можно конечно, но только если владелец недалёкий. Чтобы получить доступ к телефону со своего устройства, надо сначала троян туда пустить. А это уже труднее сделать. Мб если знакомый прям доверяет или чета такое. Ну либо как-то залить на какую-то сомнительную платформу и надеяться что какой-то левый чел скачает и заразит телефон свой.
      Ну и если хочешь взламывать электронику, то С# явно не твой выбор. Вирусы пишутся на более низкоуровневых штуках (а-ля си, с++ или даже ассемблер)

    • @ВалераВласенков-ю2о
      @ВалераВласенков-ю2о ปีที่แล้ว

      @@mack1153 не леееезь оно тебя сожреет

  • @ДмитрийВячеславович-ы2и
    @ДмитрийВячеславович-ы2и ปีที่แล้ว +1

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

  • @Naga-95
    @Naga-95 ปีที่แล้ว

    Пуху то не накидывай, поделки для Плей Маркета делаете, мните себя какими то спецами чтоли?)

  • @nuclear-decline
    @nuclear-decline ปีที่แล้ว +3

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

    • @mrcube4162
      @mrcube4162 ปีที่แล้ว +2

      Напишите менеджеру, он свяжется с вами если вы оставите свои контактные данные на сайте Агавы

    • @nuclear-decline
      @nuclear-decline ปีที่แล้ว

      @@mrcube4162 а как с менеджером связаться?

    • @mrcube4162
      @mrcube4162 ปีที่แล้ว +2

      @@nuclear-decline Ну тыкните "Купить курс" на сайте Агавы, введите свой номер телефона и в течении нескольких дней должен написать менеджер, у него и спрашивайте про работу

    • @exaltet3012
      @exaltet3012 ปีที่แล้ว +2

      @@nuclear-decline сдуя по таким вопросам, уже не подходите)

  • @KaldorOfficial
    @KaldorOfficial ปีที่แล้ว

    еще как учите многие говорят что вы ради бабок сделали курс, курс дно

  • @ИванГордеев-ъ7б
    @ИванГордеев-ъ7б ปีที่แล้ว +1

    Кресло же «самурай»? Как оно в использовании?

  • @FZ530
    @FZ530 ปีที่แล้ว +1

    Я бы делал с монетами проверку на изменение, если изменение есть перепроверку, тоесть закольцованную если меняеться, если в игре много изменений как например счётчик комбо, и в итоге вывод одной или нескольких анимаций, отдельно 1, 3, 5, 10 анимаций в одном обьектном пуле

  • @ddp1335
    @ddp1335 ปีที่แล้ว +1

    Есть идея,нужен тот кто сделает,игра 2д ну прибыль 100% топ.

  • @Aaron_Grella
    @Aaron_Grella ปีที่แล้ว

    Не можешь ты посмотреть код программы TH-camDownloader на Гитхаб, пользователь Tyrrrz, позорный код Санкций против Русских и Белорусов, через ЯЗЫК СИСТЕМЫ КАРЛ.
    Ты удивиться действительно!

  • @pavlinchikify
    @pavlinchikify ปีที่แล้ว +4

    Роман подскажи плз. Как думаешь, со скольки лет можно заниматься Unity сыну? Ему сейчас 9 лет. Насколько реально вникнуть такому маленькому человеку в процесс создания игры?

    • @ДанилТемежников
      @ДанилТемежников ปีที่แล้ว +1

      Когда ему станет интересно, тогда пусть и начинает. Если он хочет щас бегать крапиву палкой хуярить, то не мешай ему, не забирай у него детство.

    • @vg-vovagatova289
      @vg-vovagatova289 ปีที่แล้ว +12

      я думаю что если Ребенку это будет и вправду интрестно то возраст не будет имееть значение)

    • @seregaplay8335
      @seregaplay8335 ปีที่แล้ว +2

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

    • @nikukralizikane
      @nikukralizikane ปีที่แล้ว +8

      Блин, вы родители задолбали, личинус еще не вырос, а вы за него решили кем он хочет быть. Дождитесь возраста, когда он сам захочет что-то свое

    • @seregaplay8335
      @seregaplay8335 ปีที่แล้ว

      @@nikukralizikane А что плохого в разработке игр? Если это правильно преподать, это будет и интересно и может вылиться в профессию

  • @pmsdiller5837
    @pmsdiller5837 ปีที่แล้ว

    while True:
    isee = ("gavnokod")
    print ( isee )

  • @endless_darkness
    @endless_darkness ปีที่แล้ว +1

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

  • @hayakud
    @hayakud ปีที่แล้ว

    Получается он прошёл у вас за 170к курс или 360 к?

  • @accidiet
    @accidiet ปีที่แล้ว

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

  • @guenhwyvarru
    @guenhwyvarru ปีที่แล้ว +1

    Роман, вы афигенно крутой мужик)

  • @ivanh.9846
    @ivanh.9846 ปีที่แล้ว +10

    Я просто хочу подякувати за відоси як стати c# розробником і як вивчити Unitу

    • @CLangMole
      @CLangMole ปีที่แล้ว +6

      Результат - убогие раннеры с кучей рекламы

  • @zenbi6478
    @zenbi6478 ปีที่แล้ว +6

    Здравствуйте. Хочу спросить - Вы не редко говорили про то что пишете книгу "100 задач для программистов". Долго ли её ждать? Хотелось бы купить, почитать и понять как делаются некоторые вещи.

    • @Fearengate
      @Fearengate ปีที่แล้ว +1

      LeetCode в помощь. И Гугл :)

    • @РусБ-в
      @РусБ-в ปีที่แล้ว

      @@Fearengate А знаете самый главный минус, ты НИКОГДА не поймёшь что надо стелать в задании пока не посмотришь ответы

  • @monki2601
    @monki2601 ปีที่แล้ว

    Привет, что думаешь о компании GeekBrains? Хочу купить длинный курс у них. Я новичок.

  • @Cyneprepou
    @Cyneprepou ปีที่แล้ว

    Спасибо за видео. Вот у меня настоящий говнокод)))

  • @y9maly
    @y9maly ปีที่แล้ว

    Вкратце: приди ко мне дай деняк хватит филонить. Я на тебя обиделся что ты ушел

  • @facepalmteam8789
    @facepalmteam8789 ปีที่แล้ว

    Говорит человек который делает браузерные игры)

  • @qw4d_
    @qw4d_ ปีที่แล้ว

    Когда разбор курсов по unity от национальных проектов России?

  • @___avalon___2438
    @___avalon___2438 ปีที่แล้ว +1

    Ром, привет✋👋
    Вопрос нет по теме видео.
    Есть огромное желание учиться программированию, но встал перед путеводным камнем.... (В программировании абсолютный ноль, вообще ничего не знаю) Какой язык выбрать, подскажи пожалуйста.

    • @maximrobeyko6785
      @maximrobeyko6785 ปีที่แล้ว +1

      c# :))

    • @maximrobeyko6785
      @maximrobeyko6785 ปีที่แล้ว

      @@viktorartemov2468 что тут за реклама началась ? И что значит (русскии язык есть на английском) ? ахахахаха

    • @maximrobeyko6785
      @maximrobeyko6785 ปีที่แล้ว

      Комменты удалили!!!Эльфийский ваш английский!!!!

    • @245MAR1
      @245MAR1 ปีที่แล้ว

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

  • @tassiaelias8518
    @tassiaelias8518 ปีที่แล้ว

    вот бы у вас курс был 3d artist))

  • @nastyle8861
    @nastyle8861 ปีที่แล้ว

    Как называются твои очки?😅

  • @morozit6361
    @morozit6361 ปีที่แล้ว +1

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

  • @Немножкоматематикинемногошахма

    А где ужас? А где стыд и позор?

  • @gamedevalex7858
    @gamedevalex7858 ปีที่แล้ว

    Рома где проекти тебе позор

  • @master.it.3700
    @master.it.3700 ปีที่แล้ว

    5:00
    Информацию в подобных случаях нужно кешировать. Занимаемая память при этом определяется размером кэша. Можно сделать возможность установки нулевого размера кэша. И тогда игра не должна выделять память для него. А потом пусть пользователь сам решает, какой размер кэша он может позволить себе на своём устройстве.

  • @НезауряднаяЛичность-к8щ
    @НезауряднаяЛичность-к8щ ปีที่แล้ว

    Где код в мешке?

  • @NOTA-u2p
    @NOTA-u2p ปีที่แล้ว

    Как сохранить код в визуал студио для юнити тоисьть что нужно сделать чтобы код начал работать?

    • @bananos1976
      @bananos1976 ปีที่แล้ว

      Скомпилировать .

  • @s_marsa4979
    @s_marsa4979 ปีที่แล้ว

    аХМЕД ПИСАЛ

  • @exaltet3012
    @exaltet3012 ปีที่แล้ว +9

    Больше интересно, сколько реальных людей, устроились на работу к вам после ваших курсов)

    • @exaltet3012
      @exaltet3012 ปีที่แล้ว

      @@NoName-wh1xu звучит не прям удивительно даже(

    • @Speed-Run-Facts
      @Speed-Run-Facts ปีที่แล้ว

      Скорее всего нисколько

    • @РусБ-в
      @РусБ-в ปีที่แล้ว

      столько сколько на главной странице, это 3 человека, ахах

  • @nikukralizikane
    @nikukralizikane ปีที่แล้ว +2

    Я вообще в godot перешел

  • @sergeyezhkov1480
    @sergeyezhkov1480 ปีที่แล้ว

    Я не программист, поэтому спрошу. Где комменты в коде? Как другой человек поймёт что имел ввиду основной?

    • @MSaidu-sj6vx
      @MSaidu-sj6vx ปีที่แล้ว

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

    • @tglstudio2655
      @tglstudio2655 ปีที่แล้ว

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

    • @MSaidu-sj6vx
      @MSaidu-sj6vx ปีที่แล้ว

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

  • @СергейГрищенко-р7л
    @СергейГрищенко-р7л ปีที่แล้ว

    Скажите пожалуйста, какой у Романа ноутбук?

  • @alexandrk2822
    @alexandrk2822 ปีที่แล้ว

    Рома, код не видно(

  • @adrew4
    @adrew4 ปีที่แล้ว +4

    void Start сейчас уже все меньше используют, пора отходить от устаревших решений, должна быть какая то единая точка входа проекта, Entry Point, вместе с Bootstrapper и ниже по иерархии, инициализация должна начинаться с главной сцены(загрузчика) во главе с void Start, и дальше уже public override void Initialization() у всех последующих модулей проекта, таким образом Start у нас один, и мы контролируем вручную каждую инициализацию в каждой сцене на каждом этапе, исключая преценденты для багов, как в случае когда каждый скрипт в отдельности будет производить void Start в рандомное время, бессвязно со всеми остальными модулями проекта. то есть сейчас это решение(Level.cs), если я правильно понял, будет автономно производить инициализацию себя в рандомное время на сцене проекта, судя по тому что он наследуется от MonoBeh, и мы этим никак не управляем фактически, как и PlayerShip.cs соответственно. то есть в идеале должно быть так Bootstrapper -> LevelManager (Loader или что угодно еще) -> Initialization()(base module) - > Initialization()(на все референсы и подмодули) то есть четкая структура последовательной инициализации в каждой сцене с единой Entry Point которая начинается с Bootstrapper. как итог, полностью исключается многократный void Start в проекте в разных модулях, кроме единой точки входа. и мы можем управлять каждым этапом инициализации в том числе для дебага, как делают в тайтлах, когда могут отследить и вывести в UI "OnLoad" весь дебаг в подробном виде, и отследить на каком именно компоненте и при каких условиях произошла ошибка. подобный паттерн исключает сразу ряд возможных багов связанных с кешированием, инициализацией компонентов, их очередностью инициализации.

    • @VitaliyMB
      @VitaliyMB ปีที่แล้ว

      Очень интересно, а где подробнее про это почитать можно? Поделитесь, пожалуйста, ссылкой. Спасибо!

    • @adrew4
      @adrew4 ปีที่แล้ว +1

      @@VitaliyMB я нигде не читал, этой мой опыт. И еще пары программистов со статусом Senior. Наложенный на принципы ООП и популярные паттерны. Скорее всего, что то по этой теме есть в паблике, но я таких курсов не видел. Целенаправленно этим не интересовался. В общем и целом, сейчас многие приходят к аналогичным выводам из моего топика. Какую то конкретную книгу не подскажу, нужно изучать все, и понимать как работают MonoBeh, в чем преимущества и недостатки, в каком порядке вызывается инициализация в главном стеке, анализировать. Тогда многое станет очевидным. Конкретно описывать Bootstrapper или менеджер загрузок думаю не имеет смысла, ибо реализация популярна, и принцип работы можно понять. Как я использую данный паттерн тоже уже описал. Просто мы должны все контролировать, но одновременно с этим не делать жесткую зависимость между скриптами. То же самое, что делает MonoBeh, но через свои точки входа для каждого события по типу Start Awake итд. То есть отказываемся полностью от ивентов по умолчанию. Может быть, когда ни-будь напишу статью на эту тему в DTF или схожих форумах, но пока не планировал. Многие вещи на самом деле не очевидны, и львиная доля специалистов даже уровня Middle+ приходят к понимаю фундаментальных и как потом оказывается очевидных решений спустя много лет разработки, нарабатывая опыт. Я вам банальный пример приведу, это GC. Многие мидлы не знают для чего отписываться от событий в C#, ведь там кастомный сборщик мусора) И почему может случится так, что висящая подписка вдруг окажется роковой для всего проекта. "Он ведь сам все делает" - так описывают книги. Это еще одна тема для размышлений.

    • @VitaliyMB
      @VitaliyMB ปีที่แล้ว

      @@adrew4 понял, большое спасибо! Вам бы завести свой канал на TH-cam или блог на Хабре, чтобы делиться знаниями и практиками хорошего кода и архитектуры с теми, кто хочет их перенять.😊

    • @fortisblue
      @fortisblue ปีที่แล้ว

      а Bootstrapper должен через FindObjectOfType цеплять объекты с другой сцены для инициализации?

    • @adrew4
      @adrew4 ปีที่แล้ว +1

      @@fortisblue для чего? Нет, он не должен ничего цеплять, вы можете таким образом закешировать обьекты которые необходимы для вашей инициализации и работы Bootstrapper до момента запуска сцены, но такого правила нет. Например моя реализация, делится на следующие модули: у меня есть Bootstrapper, есть Console, SplashScreen и сцена игры. Из Bootstrapper я подгружаю сначала свой кастомный Loader стандартными средствами Unity SceneManagment, далее Loader загружает по цепочке мой экран загрузки, консоль и игровую сцену. Bootstrapper полностью контролирует этот процесс, и после загрузки каждого модуля он автоматически добавляется в Bootstrapper, я знаю, когда и какой модуль был загружен, имею к каждому дочеренему модулю прямую ссылку, для дальнейшей инициализации модулей после их подгрузки в проекте. Когда все загружено, Bootstrapper инициализирует каждый модуль, т.е. в каждой дочерней сцене, у меня есть скрипт, который является EntryPoint для сцены. Никаких void Start и прочего. Я жду полной загрузки, и когда я уверен, что процессорное время освободилось(Bootstrapper получает всю информацию о деталях инициализации каждого дочернего модуля), использую GetRootGameObjects() получаю ссылку на EntyPoint дочерней сцены которую загрузил и инициализирую ее, если говорить о деталях реализации. Если у вас Bootstrapper это EnytyPoint проекта, то вы заранее не можете иметь ссылок на модули которые еще не загружены. И я так понял вопрос именно об этом был. Соответственно это все работает асинхронно. И получается следующее: запуск exe, логотип Unity, моментально появляется мой SplashScreen, начинает давать инфу о процессе загрузки, далее каждый модуль подгружается по очереди, и внутри каждого дочернего модуля происходит Is Fully Loaded -> EntryPoint -> Initialization. Строгая иерархия запуска каждого компонента в сцене, во главе всего стоит Bootstrapper и мы видим посегментно какой скрипт когда был инициализирован, какой фидбек кинул итд. *Is Fully Loaded - проверяет Bootstrapper и Loader, и сам принимает решение о инициализации компонента. В моем случае у меня там просто async операция, которая ждет полную загрузку сцены. Отслеживать в такой цепочке баги связанные с инициализацией компонентов элементарно, это сразу видно в среде, потому что запуск происходит не хаотично а структурированно. Этот паттерн сейчас у меня успешно работает в одном крупном проекте который уже разросся до нескольких сотен скриптов. У меня не только есть EntryPoint проекта, у меня каждый модуль, даже если он не был запущен по старту, имеет свое EntryPoint, которое необходимо проинициализировать вручную прежде чем начинать работать с компонентом. Делается тоже элементарно, на общий стек Initializaton мы добавляем одну строчку ComponentName.Initialization, все(соотвественно каждый компонент должен либо наследовать логику, либо иметь интерфейс который ее представит, я сделал просто свой MonoBeh фактически). И дальше работаем с этим компонентом как обычно. При возникновении ошибок, мы можем вручную пройти по стеку и посмотреть в какой момент прошла инициализация. Это еще удобно, когда вы работаете со встроенными компонентами Unity через оболочку, не применяя условно к Image сразу новую позицию или color, а через модуль-посредник. Это тоже исключает ряд багов. Фактически мы делаем все тоже самое, что за нас делает void Start и Awake, но контролируем этот процесс на каждом этапе. Хаотичность пропадает, появляется структура в стеке, которую можно дебажить. Конкретно мои детали реализации паттерна достаточно обьемные чтобы их пытаться обьяснить несколькими строчками текста) Но я надеюсь дал примерное понимание непосредственно паттерна. В моей реализации фактически даже синглтонов нету или DI, они не нужны для этого шаблона(некоторые могут при прочтении ошибочно подумать что в них есть необходимость, поэтому сразу поясняю). Абсолютно никакой зависимости от других шаблонов нету, это целиком и полностью самостоятельная реализация.

  • @РоманКазаков-г2д
    @РоманКазаков-г2д ปีที่แล้ว

    Здравствуйте Роман, хороше что мне попался ваш канал, я сразу на него подписался и отписался от двух других. У меня вопрос ; какой жанр игр нравится лично вам ?

    • @РоманКазаков-г2д
      @РоманКазаков-г2д 6 หลายเดือนก่อน

      @@Python-room Здравствуйте, симуляторы и военные стратегии

  • @ВладиславЦарёв-к1н
    @ВладиславЦарёв-к1н ปีที่แล้ว

    побольше бы таких разборов

  • @ФилиппСменкен
    @ФилиппСменкен ปีที่แล้ว

    Роман привет, Я очень давно хотел научиться программированию , Я думал что изначально посмотрю ролики на Ютубе там хауди Гоша дударь и так далее и потом я увидел твоё разоблачение, изначально я не поверил но потом понял. Роман можешь сказать некоторых блогеров которые обучат программированию для новичков (P.S Я пытался научиться программированию на твоём канале но там была полная каша первый день выходил туториалы потом разоблачение потом снова и так далее )

    • @pavelslutsky3114
      @pavelslutsky3114 ปีที่แล้ว

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

    • @ФилиппСменкен
      @ФилиппСменкен ปีที่แล้ว

      @@pavelslutsky3114 но если блогеры не самый лучший идея то какие онлайн курсы придлагаеш?

    • @pavelslutsky3114
      @pavelslutsky3114 ปีที่แล้ว

      @@ФилиппСменкен Самый популярный, наверно, метанит. Но такие видео тоже иногда нужно смотреть для самопроверки.

    • @ФилиппСменкен
      @ФилиппСменкен ปีที่แล้ว

      @@pavelslutsky3114 Хорошо, СПС

    • @coffee4865
      @coffee4865 ปีที่แล้ว

      На сайте степик вроде есть нормальные курсы

  • @Nikita_Pro89
    @Nikita_Pro89 ปีที่แล้ว +3

    Роман, здравствуйте, что думаете о платформе: «начни игру», под началом проекта: «Россия страна возможностей»? Я сегодня зарегистрировался там и прошёл несколько тестовых заданий. Там конкурсная основа, кто пройдёт все тестовые задания будет трудоустроен в крупную компанию по разработки игр на unity. А так же будут иметь возможность выиграть грант для разработки своих игр.

    • @damascake
      @damascake ปีที่แล้ว +5

      Буду краток: лохотрон.

  • @ENFP7w6
    @ENFP7w6 ปีที่แล้ว

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

  • @MSaidu-sj6vx
    @MSaidu-sj6vx ปีที่แล้ว

    этот ещё нормально! на github такое попадается, три литра самогонки и ведро валерьянки не помогают=)))

  • @mell_story_borow
    @mell_story_borow ปีที่แล้ว

    Твой максимум это браузерный игры которые делаются за час… и ты судишь людей, ты смешной)

  • @dima1988
    @dima1988 ปีที่แล้ว

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

    • @PotniMuzik
      @PotniMuzik ปีที่แล้ว

      sololearn как вариант, но он платный

  • @nightkot4917
    @nightkot4917 ปีที่แล้ว

    Ну да. Вот оно в действии - отсутствие системного мышления. Чудак не видел свой проект как цельную сущность. Сделал в целом более-менее акуратно, но методом "костыль на заплатку". Чувствуется, что сложновато для него программирование. Перекипел, и забросил. Сам об этом и писал - "лениво". Зачем тогда на Ревью посылал? Лучше бы подостыл и подучился.

  • @jekanarik
    @jekanarik ปีที่แล้ว

    Чёй-то за миддл за 140к рублей?🤣

  • @marktrane
    @marktrane ปีที่แล้ว

    чсв-токсик, ты ещё живой? :)