Unity - базовая архитектура для любого проекта.

  Рет қаралды 370

Hafu GameDev

Hafu GameDev

Күн бұрын

В ролике пример базовой архитектуры с использованием dependency injection практически для любой игры.
Ссылка на гит проекта
github.com/Haf...
Вторая часть:
• Unity - архитектура, ч...
Игры в конце ролика, опубликованные на Яндексе (осторожно реклама).
Сами игры провалились, и ссылка тут исключительно для примера использования архитектуры из ролика.
Fey Archer: yandex.ru/game...
Tower Of Nightmares: yandex.ru/game...
#разработкаигр #unity #gamedev #програмирование

Пікірлер: 9
@Hafune
@Hafune 2 ай бұрын
Ссылка на гит проекта github.com/Hafune/BootstrapProject git upd. рефлексия удалена из MonoConstruct Вторая часть: kzbin.info/www/bejne/hJPSdZKCm7iUi8k Игры в конце ролика, опубликованные на Яндексе (осторожно реклама). Fey Archer: yandex.ru/games/#app=200426 Tower Of Nightmares: yandex.ru/games/#app=249851
@user-rs9sf4oo5v
@user-rs9sf4oo5v 2 ай бұрын
Классно, еще раз пересмотрел) жаль совсем мало просмотров, даже странно( загуглил пишут типа ютифай помогает, типа официальная реклама, без накрута.
@Hafune
@Hafune 2 ай бұрын
Спасибо. Да просмотров маловато... но и канал совсем молодой ) Надо будет что-нибудь ещё про этот подход снять, что бы раскрыть тонкости в полной мере потребуется не один ролик.
@Eduard02834
@Eduard02834 Ай бұрын
А уровни как загружать динамично ? Ну или сюжетку, это я про проекты уже среднего размера, так как иметь по 50-70 сцен не будет удобно и уж точно не оптимально
@Hafune
@Hafune Ай бұрын
Если у тебя действительно будет 50-70 сцен, то почему бы и не продолжать загружать их так же. Но если хочется иметь несколько сцен загруженных одновременно можно попробовать адитивную загрузку сцен. Так же в платформере у меня были уровни состоящие из нескольких случайных больших кусков соединенных последовательно, эти куски уже были выполнены в виде префабов которые я инстансил на сцене в нужном порядке и контролировал их состояние вкл/выкл для экономии производительности.
@Eduard02834
@Eduard02834 Ай бұрын
@@Hafune сцены как по мне при загрузке и релизе через даже адресблы много памяти жрут, лучше как префабы все загружать, и потом релизить через адресы но тут уже внутренние компоненты нужно будет сконектит с кор логикой
@DarkIllusoire
@DarkIllusoire 22 күн бұрын
Внедрение контейнера в компоненты или классы, нафиг разрушает саму идею DI и делает все классы зависимыми от контейнера - проще тогда просто юзать статику или сервис локатор, по смыслу будет тоже самое
@Hafune
@Hafune 21 күн бұрын
Всё таки не соглашусь. Когда ты юзаешь статику ты не можешь подменить её, контейнер можешь. Сервис локатор требует от тебя класс с полным набором всех сервисов в виде полей этого класса что серьёзно усложняет его подмену. Пробрасывание зависимостей в конструктор это тот же самый Di, класс получает зависимости по ключу. Пробрасывая контейнер я даю возможность классу получить те же самые зависимости по ключу но без прописывания в конструкторе кучи аргументов этих зависимостей и тот же самый контейнер ты можешь подменить создав новый со своими оверайднутыми зависимостями и сделав инстансинг уже от него. Знаю что те же K-Syndicate говорят что нельзя прокидывать контейнер, но я лишь рассказываю свой опыт который надеюсь кому-нибудь поможет. Наверняка это не лучший подход для работы в команде, но для соло разраба думаю вполне.
@DarkIllusoire
@DarkIllusoire 21 күн бұрын
@@Hafune Прекрасно в статике подменяется что угодно, нормально собранный сервис локатор, ничем не отличается от выбранного вами способа получения зависимости. Если есть архитектура в приложении, то кучи зависимостей в конструкторах и не должно быть - архитектура для этого и нужна
How to make DEATH NOTE | Roblox Studio Tutorial
17:16
Plehlowla
Рет қаралды 409
отомстил?
00:56
История одного вокалиста
Рет қаралды 4,5 МЛН
when you have plan B 😂
00:11
Andrey Grechka
Рет қаралды 58 МЛН
GTA 5 vs GTA San Andreas Doctors🥼🚑
00:57
Xzit Thamer
Рет қаралды 30 МЛН
Архитектура проекта в Unity. Часть 1
20:52
Лавка Разработчика
Рет қаралды 36 М.
СОЗДАЛ ИГРУ ИСПОЛЬЗУЯ ТОЛЬКО ChatGPT
6:01
Robert Sergeev
Рет қаралды 21 М.
OLD CRT MONITORS ARE BETTER THAN LCD MONITORS AND HERE'S WHY...
15:00
Макс Спот
Рет қаралды 97 М.
БУКВАЛЬНО НЕПРОХОДИМЫЕ ИГРЫ / Булджать
20:02
БУЛДЖАТь
Рет қаралды 2,3 МЛН