Заметки Юнитиста – Telegram
Заметки Юнитиста
439 subscribers
2 photos
7 links
Канал, посвященный Unity, ООП, программированию и вот это вот всего
Download Telegram
Channel photo updated
Какие ваши пожелания по следующим темам?

Воу-воу-воу, это что - первый пост в новом телеграм канале?

Пока я осваиваюсь как админить эти ваши каналы и пытаюсь найти хоть какое-то время для создания новых видосиков - мне бы хотелось поделиться своим приблизительным планом дальнейших видео.

План такой
1. Структуры данных и асимптотика (чем отличается массив от списка, dictionary, hash-map, log(n) и вот это вот все)
2. R3 и UniRx - основы реактивщины - основной функционал и как им пользоваться
3. Не самые популярные но, интересные паттерны (Visitor, Adapter, Strategy, Facade, CompositionRoot)
4. Чуть больше общей теории по архитектуре (DRY, YAGNI, KISS, как они сочетаются на боевом коде а также был запрос на GRASP).

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

Пожалуйста не пишите про ECS - я в нем некомпетентен, теорию знаю но до сих пор даже один пет проект не довел до конца.

Хотите помощи по ECS - есть великолепная группа https://news.1rj.ru/str/ecschat
👍16🔥8
А что сейчас вообще спрашивают на собеседованиях на уровень Junior или Middle Unity Developer?

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

Были ли какие-то интересные вопросы или задачки?
Были ли упоротые вопросы?
Спрашивали ли что-то слишком простое или слишком сложное?
Для страдающих от замедления ютуба - хорошая новость!
Перезалил почти все свои видосики на Дзен

https://dzen.ru/id/66c9c39465c5ab0f58b7700a

Удивительно конечно, что спустя почти 2 дня заливки ни на одном видео нет ни единого просмотра. Впрочем, кто его знает как эти рекомендательные алгоритмы работают...
👍6👎21🔥1
Что такое архитектура или 12 Столпов архитектуры Unity проекта

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

Всё ещё довольно туманно? Не беда.

Специально для вас, я выделил конкретные аспекты, которые как кажется мне и моим коллегам юнитологам - являются основными столпами архитектуры Unity проекта.

1) Внедрение зависимостей. Один из самых главных столпов - как классы получают доступ друг к другу? Это могут быть как обычные синглтоны, так и сервис-локатор, так и DI в разном проявлении, будь то Zenject, VContainer или тупое внедрение зависимостей через конструкторы

2) Парадигма программирования. Как у вас происходит взаимодействие между элементами в игре? Может это классический ООП? Может это модифицированный ООП для Unity, называемый компонентно-ориентированным программированием? Или это может быть всеми любимый ECS где объекты вообще не взаимодействуют друг с другом?

3) Представление в игре. То как вы собираетесь описывать, например, сложные UI-окошки или то, разделяете ли вы ваш код на три слоя: данные, вид и логика. Если вы делите код на разные слои, то скорее всего вы выберете MVC, MVP или MVVM, а также их конфигурации.

4) Взаимодействие между классами. Если состояние одного объекта изменилось, как вы уведомляете остальные объекты? Вы вызываете событие ValueChanged? Вы напрямую используете метод OnValueChanged? Или может вы меняете значение свойства или поля? Или может всё сразу?


5) Хранение состояния игры. Если вы закрыли вашу игру, где сохранится текущее состояние вашей игры? Например, количество золота и кристаллов, уровень игрока, его рекорды и тд. На новичковых проектах чаще всего такие данные сохраняют в PlayerPrefs, более серьезные дяди уходят в сторону своих решений который сохраняют либо как зашифрованный JSON, либо отправляют данные на сервер.

6) Хранение конфигов вашей игры. Как вы храните игровой баланс вашей игры? Где вы храните данные о том сколько монстров будет на том или ином уровне? Чаще всего, новички используют ScriptableObjects, но также можно использовать либо эксель таблички, либо JSON-ы. А серьезные дяди эти данные еще заливают на сервер. И разумеется, это всё сочетать.

7) Хранение подгружаемых данных. Есть ли у вас подгружаемые данные, которые скачиваются после запуска игры? Чаще всего, такие данные либо упакованы в AssetBundles, либо Addressables. Впрочем, вам никто не мешает написать своё интересное решение.

8) Backend. Есть ли у вашей игры некий сервер с которого игра подгружает какие-то данные? Есть несколько вариантов того, как он может быть организован и на основе какого именно сетевого соединения.

9) Multiplayer. Если у вашей игры есть мультиплеер, необходимо понять на чём он будет основан. В зависимости от того, пошаговая ли у вас игра, или сетевой шутан - выберите нужную платформу.

10) Размер проекта. Деление очень условное, но в зависимости от размера вашего проекта очень сильно зависит то, насколько сильно нужно задумывать ваш код наперёд и наоборот насколько сильно можно закостылить те или иные модули. Многие решения хорошо покажут себя в краткосрочной перспективе, но причинят много боли в долгосрочной разработке.

11) Организация проекта в самой Unity. Здесь очень много мелких деталей которые вместе составляют важную часть вашей разработки. Как вы организуете файлы в вашем проекте? Есть ли у вас определённый нейминг для папок с кодом, картинками, анимациями и тд?

12) Тестирование, обратная связь и валидация. Довольно важный аспект для проектов больше среднего. Тестируете ли вы свою игру? Как много вашей игры покрыто тестами? Есть ли у вас в игре аналитические системы, которые позволят вам увидеть, что игроки сталкиваются на проде с какой-то ошибкой.

Если вы раскроете то, как выглядят эти столпы в вашем проекте другому разработчику, он сразу поймет вашу архитектуру, то есть то, как устроена ваша игра.
36👍13🔥8
P.S. Напишите что думаете по поводу такого постика шпаргалки, по поводу архитектуры да и вообще подачи в виде постиков, и есть ли запрос на то, чтобы ту же самую инфу проговорить через видосик. Вдруг вам текст - это слишком много буков)
👍30🔥5❤‍🔥3
Каждый раз начинаю делать видосик с мыслью "Ну в этот раз будет коротенько и получится легко". И каждый раз видео выходит всё дольше и дольше. Надеюсь, всё дело в полезном, нужном и подробном контенте.

Встречайте, структуры данных и их асимптотика!

https://youtu.be/Q_2Ri9zx0M8
31🔥14❤‍🔥10👻1
В моём видео про ООП тема инкапсуляции была раскрыта с некоторыми ошибками. Исправляю их и привожу больше практических примеров. Надеюсь, будет вам полезно!

https://youtu.be/ZbuifyeUyiY
https://dzen.ru/video/watch/68b44ab78eada37e4972d9b3
❤‍🔥31👍18🔥73
Многие люди(один человек, на самом деле) просили меня завести свой Бусти. Этот час настал

На всякий случай сразу скажу - я не буду делать никакого платного контента. Все видосики будут бесплатно выкладываться на ютуб как и раньше. Потому никаких VIP/Premium подписок я не создаю

Бусти нужен только если вы хотите разово сказать мне "Спасибо" и задонатить автору на кофе и шаурму.
https://boosty.to/unitistnotes
31🔥7👍1
Ну что, ребятушки! 8000!

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

В связи с этим(а так же с тем что у меня мало времени на клепание крупного видео про MV*-на практике, но я его обязательно доделаю) я планирую поиграть в тиктокера и поделать шортсов про геймдев. Пара идей у меня есть но хотелось бы спросить и вас.

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

Попробуем такой формат, посмотрим что из этого выйдет.
Услышимся!
29🔥8😎1