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

  Переглядів 89,339

Роман Сакутин

Роман Сакутин

Рік тому

Блогеры опять лезут к нам в GameDev?
Обучение разработке игр с нуля с гарантией трудоустройства - ijunior.ru/unity-start?...
Мой телеграм - t.me/sakutin_csharp/
Моя студия Agava - agava.tech/
Моя книга - csharpbook.sakutin.ru
ЯЮниор:
Группа - holymonkey_sandbox
ЧАТ В ТЕЛЕГЕ - t.me/csharp_faggots_fan_club
Discord - / discord

КОМЕНТАРІ: 156
@rsakutin
@rsakutin Рік тому
Мой бот с ЛУЧШИМИ бесплатными материалами по программированию и Unity - t.me/sakutin_guides_bot
@Programan800
@Programan800 Рік тому
Не удаётся открыть ссылку
@musicplay579
@musicplay579 Рік тому
привет вы сказали что ваш курс компьютер програмирование игр яинор онлайн уроки офлайн уроки тоже есть
@browser_play
@browser_play Рік тому
Вопрос на счёт браузерных игр: Что будет с инди разработчиками, которые делают браузерки, после того когда вы жадно захватите рынок? У которых это доступное хобби и небольшая прибавка к основной зарплате. Ведь этот рынок развили не вы. А именно инди разработчики, приходя домой, садясь за ПК, после тяжёлой работы за горсть сухарей.
@catttt4737
@catttt4737 Рік тому
Пожалуйста, можешь обозреть код Onigiri(челик который с помощью C# создаёт ИИ, игры, и т.д.)
@ENFP7w6
@ENFP7w6 Рік тому
можно по курсам устроиться в it-компанию на уровень junior?
@user-uw7lw2om5g
@user-uw7lw2om5g Рік тому
Заголовок: Стыд и позор! Неужели мы ТАК учим программировать? Содержание: В целом хороший код, есть где похвалить есть где пожурить Спасибо за байт на комменты, Роман
@mrasasin243
@mrasasin243 Рік тому
Может в следующий раз стоит сменить тему гит хаба на темную? сам код не самый крупный еще и на белом фоне из-за того не очень хорошо видно!
@stoksful
@stoksful Рік тому
тогда ему придется зайти на гитхаб, а так он смотрел как не авторизованный пользователь, в таком случае всегда светлая тема, ну я за темную))))
@mrasasin243
@mrasasin243 Рік тому
@@stoksful ну пусть зайдет, либо пусть увелит размер страницы чтобы код был виден. В этом случае приходится лицо к монитору подносить ближе.
@communism8037
@communism8037 Рік тому
@@stoksful я не авторизован и у меня тёмная, наверняка из настроек ОС это идёт
@ENFP7w6
@ENFP7w6 Рік тому
Хах, 360 p и смотрю с телефона)
@ruslanh8106
@ruslanh8106 Рік тому
А где основной ужас стыд и позор о котором кричит заголовок?
@ruslanh8106
@ruslanh8106 Рік тому
@Алмаз Касперских раз он не ругал, то мог назвать видео, на подобии "Разбор кода моего ученика", тоже думаю вполне громкий заголовок, учитывая что он всем предлагает свой курс
@endless_darkness
@endless_darkness Рік тому
Роман здарова сайпал. скажи кроме программирования будут ли другие курсы с такими же условиями? например 3д для геймдева или геймдизайнер с нуля? геймдев не ограничивается только програмированием,нужны и др.специальности.
@wpnisagod
@wpnisagod Рік тому
Роман, какая у тебя будет реакция, если Дударь запишется на твой курс?
@enigma2353
@enigma2353 Рік тому
Жалко что нет отдельно курсов по разработке 2D игр. Я бы такой для себя лично купил.
@user-mz7bj9kb6q
@user-mz7bj9kb6q 5 місяців тому
Всмысле нет, давай я тебе продам, сколько килогигаьайт отсыпать?
@FZ530
@FZ530 Рік тому
Я бы делал с монетами проверку на изменение, если изменение есть перепроверку, тоесть закольцованную если меняеться, если в игре много изменений как например счётчик комбо, и в итоге вывод одной или нескольких анимаций, отдельно 1, 3, 5, 10 анимаций в одном обьектном пуле
@zenbi6478
@zenbi6478 Рік тому
Здравствуйте. Хочу спросить - Вы не редко говорили про то что пишете книгу "100 задач для программистов". Долго ли её ждать? Хотелось бы купить, почитать и понять как делаются некоторые вещи.
@Fearengate
@Fearengate Рік тому
LeetCode в помощь. И Гугл :)
@user-py7qm5zx5j
@user-py7qm5zx5j 9 місяців тому
@@Fearengate А знаете самый главный минус, ты НИКОГДА не поймёшь что надо стелать в задании пока не посмотришь ответы
@guenhwyvarru
@guenhwyvarru Рік тому
Роман, вы афигенно крутой мужик)
@user-kc6tp5kj8z
@user-kc6tp5kj8z Рік тому
Кресло же «самурай»? Как оно в использовании?
@monki2601
@monki2601 Рік тому
Привет, что думаешь о компании GeekBrains? Хочу купить длинный курс у них. Я новичок.
@___avalon___2438
@___avalon___2438 Рік тому
Ром, привет✋👋 Вопрос нет по теме видео. Есть огромное желание учиться программированию, но встал перед путеводным камнем.... (В программировании абсолютный ноль, вообще ничего не знаю) Какой язык выбрать, подскажи пожалуйста.
@maximrobeyko6785
@maximrobeyko6785 Рік тому
c# :))
@maximrobeyko6785
@maximrobeyko6785 Рік тому
@@viktorartemov2468 что тут за реклама началась ? И что значит (русскии язык есть на английском) ? ахахахаха
@maximrobeyko6785
@maximrobeyko6785 Рік тому
Комменты удалили!!!Эльфийский ваш английский!!!!
@matigvid
@matigvid Рік тому
если хочешь начать с легкого - изучай питон, он как по мне самый легкий если хочешь начинать с реально полезного, учи С++, как говорится, на юнити с# можно написать игру, на С++ написали юнити
@nuclear-decline
@nuclear-decline Рік тому
Роман, привет. А как к вам на работу попасть?))) На сайте агавы не вижу раздела с вакансиями.
@mrcube4162
@mrcube4162 Рік тому
Напишите менеджеру, он свяжется с вами если вы оставите свои контактные данные на сайте Агавы
@nuclear-decline
@nuclear-decline Рік тому
@@mrcube4162 а как с менеджером связаться?
@mrcube4162
@mrcube4162 Рік тому
@@nuclear-decline Ну тыкните "Купить курс" на сайте Агавы, введите свой номер телефона и в течении нескольких дней должен написать менеджер, у него и спрашивайте про работу
@exaltet3012
@exaltet3012 Рік тому
@@nuclear-decline сдуя по таким вопросам, уже не подходите)
@OdessaChannel
@OdessaChannel Рік тому
Кликбейт засчитан)
@pavlinchikify
@pavlinchikify Рік тому
Роман подскажи плз. Как думаешь, со скольки лет можно заниматься Unity сыну? Ему сейчас 9 лет. Насколько реально вникнуть такому маленькому человеку в процесс создания игры?
@user-be9rc4yz8r
@user-be9rc4yz8r Рік тому
Когда ему станет интересно, тогда пусть и начинает. Если он хочет щас бегать крапиву палкой хуярить, то не мешай ему, не забирай у него детство.
@vg-vovagatova289
@vg-vovagatova289 Рік тому
я думаю что если Ребенку это будет и вправду интрестно то возраст не будет имееть значение)
@seregaplay8335
@seregaplay8335 Рік тому
Возможно сначала попробовать скретч, чтобы понять сами алгоритмы , если понравится, то юнити на здоровье
@nikukralizikane
@nikukralizikane Рік тому
Блин, вы родители задолбали, личинус еще не вырос, а вы за него решили кем он хочет быть. Дождитесь возраста, когда он сам захочет что-то свое
@seregaplay8335
@seregaplay8335 Рік тому
@@nikukralizikane А что плохого в разработке игр? Если это правильно преподать, это будет и интересно и может вылиться в профессию
@diveloper3580
@diveloper3580 Рік тому
Ууу... Я вспомнил свой первый проект на Unity... Там вообще треш был с кодом... (Я самоучка если что, щас более менее норм у меня с этим)
@user-fc9km5vh2k
@user-fc9km5vh2k Рік тому
побольше бы таких разборов
@master.it.3700
@master.it.3700 Рік тому
5:00 Информацию в подобных случаях нужно кешировать. Занимаемая память при этом определяется размером кэша. Можно сделать возможность установки нулевого размера кэша. И тогда игра не должна выделять память для него. А потом пусть пользователь сам решает, какой размер кэша он может позволить себе на своём устройстве.
@SovietBrick
@SovietBrick Рік тому
Не думал что такая разница в зарплатах среди джунов промпрога и джунов геймдева
@HitsarOrig
@HitsarOrig Рік тому
3:25 Нормальные люди др*чат на хороший код а какие то дурачки на каких то баб
@seoonlyRU
@seoonlyRU Рік тому
хехехе))) ну за разбор лайк от СЕООНЛИ
@qw4d_
@qw4d_ Рік тому
Когда разбор курсов по unity от национальных проектов России?
@exaltet3012
@exaltet3012 Рік тому
Больше интересно, сколько реальных людей, устроились на работу к вам после ваших курсов)
@exaltet3012
@exaltet3012 Рік тому
@@NoName-wh1xu звучит не прям удивительно даже(
@user-wi9xd1dm6e
@user-wi9xd1dm6e Рік тому
Скорее всего нисколько
@user-py7qm5zx5j
@user-py7qm5zx5j 9 місяців тому
столько сколько на главной странице, это 3 человека, ахах
@PublicAccount0
@PublicAccount0 Рік тому
в следующий раз текст бы по-крупней, в идеале скопировать в IDE для контраста символов, так всё норм.
@grimreper6502
@grimreper6502 Рік тому
А-а-а-а-а белый икран моим глаза 👀
@user-sx1dk5ph6l
@user-sx1dk5ph6l Рік тому
Роман, сделайте пожалуйста видео, о монетизации, встроенной рекламе, выкладывания своих проектов в нынешних условиях для россии. Я начал делать свою игру и я бы по слушал, как быть с готовым проетом, ведь санкции и ограничения.
@ivanlemming5821
@ivanlemming5821 Рік тому
он не использовал шаблонный метод возможно потому что в вашей программе обучения вообще паттерны не проходят?
@rsakutin
@rsakutin Рік тому
У нас в программе есть шаблонный метод)
@alexandrk2822
@alexandrk2822 Рік тому
Паттерны сложно видеть и использовать пока не набьешь скила, просто прочитать книгу gof'ов недостаточно
@shegan3377
@shegan3377 Рік тому
@@rsakutin TakeDamage это и есть некая кривая реализация шаблонного метода по сути равзе нет?)
@Worlfable
@Worlfable Рік тому
Стыд и позор! Неужели мы ТАКИЕ заголовки кликаем?
@Esperantistoelisraelo
@Esperantistoelisraelo Рік тому
мне 12 это нормально? можно ли заработать деньги в таком возрасте?
@user-sp5xr8gb6f
@user-sp5xr8gb6f Рік тому
Как сохранить код в визуал студио для юнити тоисьть что нужно сделать чтобы код начал работать?
@bananos1976
@bananos1976 Рік тому
Скомпилировать .
@nastyle8861
@nastyle8861 Рік тому
Как называются твои очки?😅
@hayakud
@hayakud Рік тому
Получается он прошёл у вас за 170к курс или 360 к?
@user-zf3xe7ih4j
@user-zf3xe7ih4j Рік тому
Скажите пожалуйста, какой у Романа ноутбук?
@maximkorotkow7867
@maximkorotkow7867 Рік тому
honor magicbook
@user-lh9fw4ph7v
@user-lh9fw4ph7v Рік тому
Здравствуйте Роман, хороше что мне попался ваш канал, я сразу на него подписался и отписался от двух других. У меня вопрос ; какой жанр игр нравится лично вам ?
@user-lh9fw4ph7v
@user-lh9fw4ph7v 2 місяці тому
@@Python-room Здравствуйте, симуляторы и военные стратегии
@evilmind5178
@evilmind5178 Рік тому
Вылетело в предложке, зашел посмеятся с лохотронщиков, но на удивление почти все адекватно. Мимо лид 15 лет стажа.
@user-uc5zi1gs8f
@user-uc5zi1gs8f Рік тому
Мне кажется, такой препод может только соляру курить научить😂
@zuveresgames
@zuveresgames Місяць тому
Ты ещё не видел как я делаю игру, у тебя глаза вылезят из орбит 👀 (имеется в виду что игра ужасна, будущие мои проекты буду лучше, и я надеюсь)
@user-pm4jp3jg7s
@user-pm4jp3jg7s Рік тому
Роман привет, Я очень давно хотел научиться программированию , Я думал что изначально посмотрю ролики на Ютубе там хауди Гоша дударь и так далее и потом я увидел твоё разоблачение, изначально я не поверил но потом понял. Роман можешь сказать некоторых блогеров которые обучат программированию для новичков (P.S Я пытался научиться программированию на твоём канале но там была полная каша первый день выходил туториалы потом разоблачение потом снова и так далее )
@pavelslutsky3114
@pavelslutsky3114 Рік тому
Советую не по видео учиться. В них много воды, трудно запомноть где, что и когда ты видел. В общем, когда по ним научишся программировать - будешь уже с седой бородой.
@user-pm4jp3jg7s
@user-pm4jp3jg7s Рік тому
@@pavelslutsky3114 но если блогеры не самый лучший идея то какие онлайн курсы придлагаеш?
@pavelslutsky3114
@pavelslutsky3114 Рік тому
@@user-pm4jp3jg7s Самый популярный, наверно, метанит. Но такие видео тоже иногда нужно смотреть для самопроверки.
@user-pm4jp3jg7s
@user-pm4jp3jg7s Рік тому
@@pavelslutsky3114 Хорошо, СПС
@coffee4865
@coffee4865 Рік тому
На сайте степик вроде есть нормальные курсы
@vasilyh4588
@vasilyh4588 2 місяці тому
А можно поподробнее - как наличие protected нарушает LSP? Правильный ответ - никак. Нарушение может быть при использовании 'new', а просто protected - никак не нарушает LSP. Так что не надо "бла-бла". Классическое определение: "если q(x) является свойством, верным относительно объектов 'x' некоторого типа 'T', тогда q(y) также должно быть верным для объектов 'y' типа 'S', где 'S' является подтипом типа 'T'" - protected никак не нарушает. Определение по Мартину: "функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом" - protected и это никак не нарушает.
@ENFP7w6
@ENFP7w6 Рік тому
Спасибо что обозреваешь плохие коды, учишь не опотных, хочу грамотно писать код, как говориться писать чыстым кодом, нашёл тебя, как только стал на путь програмиста, до этого смотрел хауди хо, замечал что видосы для школьников, а ты хоть имеешь меньше подписчиков, но контет как для новичков, у тебя лучше. PS. Написал этот коментарий с благодарностью, так как таких каналов не так много, учиться грамотно писать код самому тяжело, а ты всё так преподносишь грамотно,что захотелось написать что-то в подержку автора канала, тоесть тебя,буду дальше смотреть и развевать стезю програмиста
@y9maly
@y9maly Рік тому
Вкратце: приди ко мне дай деняк хватит филонить. Я на тебя обиделся что ты ушел
@MSaidu-sj6vx
@MSaidu-sj6vx Рік тому
этот ещё нормально! на github такое попадается, три литра самогонки и ведро валерьянки не помогают=)))
@alexandrk2822
@alexandrk2822 Рік тому
Рома, код не видно(
@ivanh.9846
@ivanh.9846 Рік тому
Я просто хочу подякувати за відоси як стати c# розробником і як вивчити Unitу
@CLangMole
@CLangMole Рік тому
Результат - убогие раннеры с кучей рекламы
@tassiaelias8518
@tassiaelias8518 Рік тому
вот бы у вас курс был 3d artist))
@Aaron_Grella
@Aaron_Grella Рік тому
Не можешь ты посмотреть код программы UKpostsDownloader на Гитхаб, пользователь Tyrrrz, позорный код Санкций против Русских и Белорусов, через ЯЗЫК СИСТЕМЫ КАРЛ. Ты удивиться действительно!
@user-dq8qz3yz3s
@user-dq8qz3yz3s Рік тому
Где код в мешке?
@user-qv3di5nk9c
@user-qv3di5nk9c Рік тому
С телефона код почти не читаем, зачем на видео обрезал и автора и код, код можно было на всю высоту показывать не подгоняя по высоту сакутина Видна рукажопа монтажера
@ddp1335
@ddp1335 Рік тому
Есть идея,нужен тот кто сделает,игра 2д ну прибыль 100% топ.
@user-dj4xv6nj3d
@user-dj4xv6nj3d Рік тому
Могу предложить свою кандидатуру
@ProninART89
@ProninART89 Рік тому
Роман, здравствуйте, что думаете о платформе: «начни игру», под началом проекта: «Россия страна возможностей»? Я сегодня зарегистрировался там и прошёл несколько тестовых заданий. Там конкурсная основа, кто пройдёт все тестовые задания будет трудоустроен в крупную компанию по разработки игр на unity. А так же будут иметь возможность выиграть грант для разработки своих игр.
@damascake
@damascake Рік тому
Буду краток: лохотрон.
@sergeyezhkov1480
@sergeyezhkov1480 Рік тому
Я не программист, поэтому спрошу. Где комменты в коде? Как другой человек поймёт что имел ввиду основной?
@MSaidu-sj6vx
@MSaidu-sj6vx Рік тому
я, вообще, пишу на Си, и нормально написаный код легко читается даже на другом языке программирования. Некоторые вещи могут смущать, но это решается через запрос в google.
@tglstudio2655
@tglstudio2655 Рік тому
Комменты в коде - зачастую плохой тон. Код должен быть сам по себе понятен, нет там смысла писать комментарии на каждый пук. Разве что то, что сложно понять без залипания в какую-то другую тему иной сферы
@MSaidu-sj6vx
@MSaidu-sj6vx Рік тому
@@tglstudio2655 ну почему... если вы умудрились как-то "извернуться" и использовать "недокументированную" возможнось то - надо... сейчас иногда попадаются вещи с полным отсутствием описания и приходится разбираться с исходниками библиотек. Это относится к новым ревизиям, к которым, возможно, при спешке забывают добавить описание. Но "убивать" время таким образом приходится. Вот поэтому я и не спешу.
@Giblotus
@Giblotus 7 місяців тому
Один метод - одна задача. Роберт Мартин Чистый код. Тут автор рекомендует несколько методов смешать в один. Да, тут отчасти палка о двух концах. Свои плюсы и минусы. Для столь мелкой игры что в видео можно и одним методом сделать. Проблема метода который выполняет кучу задач в том что функционал метода будит строго целевой, шаг в право в лево и придется все переписывать. А куча одно целевых методов дают модульность кода. Для каждой задачи писать отдельный метод радикально сложнее. А вот воткнуть всю архитектуру в один класс и в этом классе треть воткнуть в один метод это уровень новичка больше. Сам таким страдал в начале пути. Но кого-то учить и брать деньги за такое это уже ненормально. Однако разбор интересный. Вот только токсичность автора отталкивает.
@mack1153
@mack1153 Рік тому
А вот прям если я чайник?... Я вот вижу код(БУКВЫ НА ИНГЛИШЕ), но ничерта не понимаю, что это, как это, зачем это... Тут надо что-то качать?.. что вообще такое программирование и тд... Я вообще ни капли не понимаю, что нужно посмотреть, у кого, что бы можно было прям с 0 что-то изучать!(словно в Пейнт зашёл в 6 лет и нашел вместо карандаша Кисть и Аху*л , что ты такое нашел)
@mack1153
@mack1153 Рік тому
Скажу сразу, на "программирование" и всей этой крутой штуке, я начал др@чить после просмотра сериала "КиберСталкер", прям чувак с ноута взломал твой тлф и следит за тобой, мне очень интересно, а вообще реально ли это всё?... Или просто выдумка для сериала??
@PotniMuzik
@PotniMuzik Рік тому
программирование является слишком расплывчатым понятием
@funnyvalentine8738
@funnyvalentine8738 Рік тому
​@@mack1153ну в теории взломать телефон так можно конечно, но только если владелец недалёкий. Чтобы получить доступ к телефону со своего устройства, надо сначала троян туда пустить. А это уже труднее сделать. Мб если знакомый прям доверяет или чета такое. Ну либо как-то залить на какую-то сомнительную платформу и надеяться что какой-то левый чел скачает и заразит телефон свой. Ну и если хочешь взламывать электронику, то С# явно не твой выбор. Вирусы пишутся на более низкоуровневых штуках (а-ля си, с++ или даже ассемблер)
@user-mj2np4hs7n
@user-mj2np4hs7n Рік тому
@@mack1153 не леееезь оно тебя сожреет
@adrew4
@adrew4 Рік тому
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 Рік тому
@@VitaliyMB я нигде не читал, этой мой опыт. И еще пары программистов со статусом Senior. Наложенный на принципы ООП и популярные паттерны. Скорее всего, что то по этой теме есть в паблике, но я таких курсов не видел. Целенаправленно этим не интересовался. В общем и целом, сейчас многие приходят к аналогичным выводам из моего топика. Какую то конкретную книгу не подскажу, нужно изучать все, и понимать как работают MonoBeh, в чем преимущества и недостатки, в каком порядке вызывается инициализация в главном стеке, анализировать. Тогда многое станет очевидным. Конкретно описывать Bootstrapper или менеджер загрузок думаю не имеет смысла, ибо реализация популярна, и принцип работы можно понять. Как я использую данный паттерн тоже уже описал. Просто мы должны все контролировать, но одновременно с этим не делать жесткую зависимость между скриптами. То же самое, что делает MonoBeh, но через свои точки входа для каждого события по типу Start Awake итд. То есть отказываемся полностью от ивентов по умолчанию. Может быть, когда ни-будь напишу статью на эту тему в DTF или схожих форумах, но пока не планировал. Многие вещи на самом деле не очевидны, и львиная доля специалистов даже уровня Middle+ приходят к понимаю фундаментальных и как потом оказывается очевидных решений спустя много лет разработки, нарабатывая опыт. Я вам банальный пример приведу, это GC. Многие мидлы не знают для чего отписываться от событий в C#, ведь там кастомный сборщик мусора) И почему может случится так, что висящая подписка вдруг окажется роковой для всего проекта. "Он ведь сам все делает" - так описывают книги. Это еще одна тема для размышлений.
@VitaliyMB
@VitaliyMB Рік тому
@@adrew4 понял, большое спасибо! Вам бы завести свой канал на UKposts или блог на Хабре, чтобы делиться знаниями и практиками хорошего кода и архитектуры с теми, кто хочет их перенять.😊
@fortisblue
@fortisblue Рік тому
а Bootstrapper должен через FindObjectOfType цеплять объекты с другой сцены для инициализации?
@adrew4
@adrew4 Рік тому
@@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, они не нужны для этого шаблона(некоторые могут при прочтении ошибочно подумать что в них есть необходимость, поэтому сразу поясняю). Абсолютно никакой зависимости от других шаблонов нету, это целиком и полностью самостоятельная реализация.
@facepalmteam8789
@facepalmteam8789 Рік тому
Говорит человек который делает браузерные игры)
@Cyneprepou
@Cyneprepou Рік тому
Спасибо за видео. Вот у меня настоящий говнокод)))
@pmsdiller5837
@pmsdiller5837 Рік тому
while True: isee = ("gavnokod") print ( isee )
@KaldorOfficial
@KaldorOfficial Рік тому
еще как учите многие говорят что вы ради бабок сделали курс, курс дно
@Generator_Breda
@Generator_Breda Рік тому
Партаки кринж полнейший. Красная рожа, белая шея с синими подтеками....
@communism8037
@communism8037 Рік тому
Ух, кликбейт UPD: Ладно, не кликбейт
@Naga-95
@Naga-95 Рік тому
Пуху то не накидывай, поделки для Плей Маркета делаете, мните себя какими то спецами чтоли?)
@s_marsa4979
@s_marsa4979 Рік тому
аХМЕД ПИСАЛ
@nikukralizikane
@nikukralizikane Рік тому
Я вообще в godot перешел
@inko567
@inko567 Рік тому
ну татухи конечно ,, огненного алхимика там тату круг ,,, конечно тоже фанат стального алхимика ,,, ну перстни на пальчиках ну программист в законе ,,, вот если бы не был бы кодером какие татухи бы были бы
@user-po1ez6ke6m
@user-po1ez6ke6m Рік тому
А где ужас? А где стыд и позор?
@dima1988
@dima1988 Рік тому
может кто подсказать блогера,который нормально пишет на python,хочу найти человека у которого можно научиться писать чистый код на python
@PotniMuzik
@PotniMuzik Рік тому
sololearn как вариант, но он платный
@user-kq3jc3pv8t
@user-kq3jc3pv8t Рік тому
К знаниям в области кодинга вопросов нет, есть вопрос к решению проблем со здоровьем. Не уже ли такой специалист не может позволить себе посетить дерматолога? Понятное дело что, для начала, нужно поменьше дрочить на малопонятные успехи своих учеников в коде, да и в принципе дело это мужскому здоровью мало как помогает. Так же сильно разочарован соотношению скиллов и способом завлечения аудитории на данной площадке: в заголовке одно, по факту другое, отписка без подписки получается) P.S: контент ради контента это одно, польза обществу (в нашем случае «кружку» разработчиков) - другое. Какой путь выберешь? Пока что вижу первый)
@gamedevalex7858
@gamedevalex7858 Рік тому
Рома где проекти тебе позор
@mell_story_borow
@mell_story_borow Рік тому
Твой максимум это браузерный игры которые делаются за час… и ты судишь людей, ты смешной)
@nightkot4917
@nightkot4917 Рік тому
Ну да. Вот оно в действии - отсутствие системного мышления. Чудак не видел свой проект как цельную сущность. Сделал в целом более-менее акуратно, но методом "костыль на заплатку". Чувствуется, что сложновато для него программирование. Перекипел, и забросил. Сам об этом и писал - "лениво". Зачем тогда на Ревью посылал? Лучше бы подостыл и подучился.
@morozit6361
@morozit6361 Рік тому
я нихера не понял, понял только то что если мне надо сделать управлеие машиной в игре я гуглю
@jekanarik
@jekanarik Рік тому
Чёй-то за миддл за 140к рублей?🤣
@marktrane
@marktrane Рік тому
чсв-токсик, ты ещё живой? :)
Піхотинці - про потребу у людях
00:57
Суспільне Новини
Переглядів 807 тис.
Как быстро выучить программирование
0:27
Роман Сакутин
Переглядів 20 тис.
Обзор кода от Unity! Я нашёл там лютый позор...
22:48
Роман Сакутин
Переглядів 67 тис.
Эта нейросеть делает презентации 😱
0:35
КруТа в дизайне ❘ Блог Крупиной Татьяны
Переглядів 261 тис.
Я разочарован кодом от Flatingo в С# и Unity. Позор?
10:57
Роман Сакутин
Переглядів 66 тис.