Лавка Разработчика
3.36K subscribers
406 photos
43 videos
16 files
641 links
Мы тут игры пилить будем, или как?

YouTube: https://youtube.com/@gamedevlavka

Автор: @vavilichev

Все контакты: https://linktr.ee/vavilichev
Download Telegram
Пользуйся словарями (Dictionary) - это удобно

Новички часто сторонятся использовать Dictionary. Это происходит по разным причинам, но в основном из-за того, что не до конца понимают его работу.

Если не погружаться в тонкости, то Dictionary - это таблица с двумя столбцами: ключ и значение.
- Одна строка этой таблицы - это один элемент (ключ + значение).
- И ключ и значение могут быть любыми типами данных.
- Нельзя вставить в один Dictionary два одинаковых ключа - выпадет исключение.
- Можно вставлять одинаковые значения с разными ключами.

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

P.S. В название переменной типа Dictionary в конце я всегда приписываю ~Map, так при подсказках IDE моментально становится понятно, какой это тип данных и при, начиная набирать map, интеллектуальный набор будет давать подсказки в виде уже существующих Dictionary. Просто и удобно!

___
#лр_хороший_код
👍1
Короче методы - понятнее код

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

Есть правило: метод должен быть таким размером, чтобы он умещался на одном экране по высоте. То есть программист должен видеть на экране метод целиком, без прокручивания вниз или вверх.

___
#лр_хороший_код
👍1
Для качественной видеозаписи геймплея игры используй нативный Unity Recorder.
Устанавливается через Package Manager. Работает как часы!

___
#лр_советы
Недавно меня бесил момент, что у меня нет нормальной системы наград, которая могла бы кочевать из проекта в проект, была бы очень гибкой и удобной, чтобы я мог в качестве награды использовать вообще любую сущность.

Done!
https://github.com/vavilichev/RewardsSystem
___
#vavilichevgd #gamedev #Unity
1
This media is not supported in your browser
VIEW IN TELEGRAM
Залетаю в шейдеры с двух ног (нет). Написал простенький шейдер для эффекта блюра в пространстве UI. Mobile friendly, все дела.

https://github.com/vavilichev/MyUnityShaders/tree/main/Assets/VavilichevGD/Shaders/MaskedUIBlur
___
#лр_шейдеры
This media is not supported in your browser
VIEW IN TELEGRAM
Запилил ассет с процедурными анимациями объектов в UI. Для сбора монеток, сундуков - да чего угодно, что появляется в случайной точке и улетает в другую точку на экране, независимо от разрешения экрана.
https://github.com/vavilichev/UnityUserful/tree/main/Assets/VavilichevGD/FX/UI
___
#лр_ассеты
Урок под грифом "подготовительный", т.к. служит для подготовки базы знаний для следующего урока. С Generic классами можно подружиться только на практике, но я рискнул попытаться объяснить на примере, как они работают.

https://www.youtube.com/watch?v=fgETO1BTC3s
___
#лр_туториал
#gamedev #unity3d
Оформил. Приблуда, чтобы запуск билда на андроид был в два щелчка мыши. Те, кто работает с андроидом на юнити знают, как бесит перенастраивать проект для билда apk, aab, dev билда, постоянно запускать resolver, вводить пароли и т.д.

https://github.com/vavilichev/UnityUserful/tree/main/Assets/VavilichevGD/Utils/Editor/Builder
___
#лр_ассеты
Тех, кто погружается в геймдев, обычно волнует вопрос "как сделать платформер" (где основная механика - прыжки). В уроке я рассказываю об одном из вариантов реализации прыжков, основанном на физическом движке #unity3d.

https://youtube.com/watch?v=VVmpDCUPPRw
___
#лр_туториал
⚡️Доделал в конечном счете ассет для работы с диалогами. При помощи Shader Graph API удалось сделать хорошый и удобный интерфейс, то есть прям в виде дерева, как положено. Легко использовать, легко расширить - все как всегда.
Можно посмотреть пример использование, куда ж без этого. Та аще все легко!

https://github.com/vavilichev/UnityUserful/tree/main/Assets/VavilichevGD/Gameplay/Dialogues
___
#лр_ассеты