Кодерские работы
101 subscribers
651 photos
205 videos
31 files
129 links
Немного (а может и нет) программирую 👾

Сайт - https://wixdev.netlify.app
Download Telegram
Кодерские работы pinned «☺️ Как относитесь к идее стрима на юбилей канала?»
Кодерские работы
😉 Но вы можете не отписываться
Хахаах забавно, кто-то отписался.
❤‍🔥4😢4
🏆 1 день марафона.

🧠 Я всё придумывал, как мне адекватно сделать смену состояний врага.
👨‍💻 Я даже вроде что-то придумал, оно даже работает, но зачем придумывать велосипед, когда есть паттерны проектирования!

⚙️ И один из них это "Состояние", если кратко, то он позволяет написать масштабируемый и поддерживаемый код для изменения состояния (поведения) объекта.
👌 А это как раз таки то, что нужно для врагов хорошо и без багов изменять свое поведение.

🔍 Так что я начинаю марафон длинной в неделю, где буду изучать что-то новое, читать статьи, смотреть видео уроки и делиться этим с вами.

👾 Сегодня изучаю и реализую FSM.

🎮 На игре это скажется, только в положительную сторону!
711
❓ Каков же результат сегодняшнего дня?
⚙️ Изучение FSM прошло отлично, я понял судь данного паттерна и то, как его можно использовать на практике.
🔧 Хотел рассказать его принцип, но лучше дам вам норм уроки)

😅 А ещё хотите забавный факт, вчера я сам чуть ли не создал подобие машины состояний, не зная этот паттерн.
🧠 Т.е. логика моего мышления привела примерно к тому, что из себя представляет шаблон "Состояние", но додумать до конца немного не хватило ума.
👨‍💻 Я создал класс, который регистрировал имеющиеся состояния (контекст), правда у меня в роли состояний были куротины (конкретные состояния), далее наследовался от этого класса и в наследниках создавал состояния и регистрировал их.
👾 Вроде реализация была частично рабочей, но использование уже проверенного паттерна будет куда полезнее и проффесиональней.

А вот и полезные материалы:
На русском здесь.
На английском здесь, а вот здесь сказано, как переиспользовать FSM с соблюдением принципа DRY.

P.s.
Дополнение ;)

#образовач
61
🏆 2 день марафона.

👨‍💻 Сегодня углубился в две темы ScriptableObject и Object pool. Обе темы лёгкие, так что их понимание не заняло много времени.

📄 ScriptableObject - это функционал Unity, который позволяет создавать скрипты, которые хранят в себе данные, звучит как-то скучно, но их смысл куда больше, чем может показаться.

👾 Object Pool - это уже шаблон, которые подразумевает переиспользование заранее заготовленных объектов с целью экономии памяти.

👨‍💻 Также произвёл большую работу по внедрению FSM, а точнее переписывание моего прошлого кода, под данный шаблон и времени потратил на это прилично.
📋 Ещё решил добавить к своим состояниям параметры (отдельные классы), чтобы расширить возможности врагов.

P.s.
💬 По секрету, у меня тут есть канальчик, куда я для себя скидываю полезные штуки по геймдеву, там есть материал, по которому я изучал темы.

#образовач
511
😱 Никто не ждал, но я это сделал.
👾 Новая Ава!
10🔥41
🏆 3 день марафона.

👁️ Сегодня разобрался с паттерном Observer, для тех кто не знает, он позволяет объектам следить за изменениями состояния другого объекта.
🔧 Реализовывать данный шаблон можно по разному, главное понять его смысл.

📖 Если что я рассмотрел два варианта.
⚙️ Первый, использовал класс Subject, который хранит наблюдателей.
⚙️ Второй вариант с использованием event (встроен в C#), который как мне кажется более лаконичный.

❗ Если вы уже работали с данным шаблоном и понимаете о чем я сказал выше.
❓ Хочу у вас спросить какой способ является лучше по вашему мнению или может есть какой-то более продвинутый алгоритм?

🧠 Ознакомится с уроками по данной теме можете здесь.

🖼️ Обновил аву чата.

P.s.
Я как-то ранее работал с этим паттерном при создании лаунчера, но сейчас решил более серьезно в это вникнуть.

#образовач
8👾2
👋 Недавно я познакомился с крутым чуваком по имени Андрей. Он, недавно начал свой путь в IT и решил вести Telegram-канал. У него другое направление — фронтенд разработка и мне самому интересно следить за его прогрессом.

Кому интересен фронтенд, давайте поддержим молодого бойца 💪

Что тебя ждет на его канале:
🎥 Видео о каждом дне его учебы: делится прогрессом и трудностями на пути к новой профессии
🎮 Мемы и новости о мире программирования
💬 Советы и мотивация для начинающих разработчиков

https://t.me/it_s_null9
👌5
🏆 4 день марафона.

🎥 Сегодня углубился в изучение анимаций, а конкретно узнал как работают слои, маски, Blend tree, ранее ими не пользовался.
📽️ Посмотрел почти часовой ролик и понял, что ранее использовал только базовые возможности аниматора, ну что же буду исправляться.
🤓 А ещё чтобы не кормить вас одной теорией (это может надоесть) в выходные буду уже конкретно применять все полученные знания в игре.
📖 Возможно ещё начну расскрывать какие-то детали игры (типа сюжета).
🙃Как вам зомби-девочка, испытывал на ней возможности анимаций Unity.

😪 На этом всё.

🧠Как всегда весь материал здесь.

#образовач
🤝711
🏆 5 день марафона.

💾 Сегодня тоже углубился в то, без чего не обойдется любая игра, а именно сохранение.
⚙️ И не просто с использованием PlayerPrefs, а изучил сериализацию данных в json либо бинарный вид.
👍 Штука оказалась очень полезной и делается довольно просто.
😅 По крайней мере раньше я думал что нужно будет самому преобразовывать (сериализовывать) данные в json, а оказывается можно использовать уже готовые языковые конструкции, что очень упрощает жизнь.

😏 Новости по игре совсем скоро)

📖 Кому нужно, то инфа тут.

#образовач
7👾2
🏆 6 день марафона.

😅 И сегодня я чутка запоздал с новостью (у меня так вообще 2 часа ночи)
👨‍💻 Просто решил сделать тг бота, для упрощения некоторых действий.

🧠 Ну а кроме этого я соблюдаю правила текущего марафона и изучаю что-то полезное.
⚙️ Сегодня изучил принцип Dependency Injection.

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

📖 Почитать и посмотреть про DI.

#образовач
621
🏆 7 день марафона.

🧠 Сегодня просто повторял изученное за прошедшую неделю.

🤬 А ещё получил дохреналион ошибок прямо в лицо.
🥴 И вообще не могу понять почему переменная становится null, уже и проверку сделал, а ей всё равно.

👨‍💻Буду завтра разбираться.
❗ Либо если кто-то знает почему так, то буду рад выслушать вас по этому поводу.
🤔81
😀 Ну наконец-то я избавился от ошибки, а стоило просто перестать наследоваться от Mono behaviour в классе EnemyData.
👨‍💻 Сейчас приступил к созданию нового врага, конкретно пишу состояния для него, т.к. они уже отличаются от состояния патрульного.
😅 Но проверить не могу, т.к. юнька зависла, не стоило мне переписывать код во время запуска игры.
👾91
😨 Кто поймет, что здесь не так, тот молодец.
👀31
❓ Так в чем же скрывалась ошибка?
2️⃣ Во первых два раза вызывать Random.Range(), как-то глупо.
♾️ Во вторых выполнение того кода вызывало бесконечный цикл из-за чего игра и юнька у меня жёстко зависали.

😢 Из-за этого я сегодня большую часть дня потратил на поиск этой ошибки.
👨‍💻 Но также я обновил мой код, таким образом, чтобы врагу можно было добавлять нужные параметры.
⚙️ _data.AddProperty(/*сюда кидаю экземпляр нужных свойств*/);

🙃 Тот шарик, который меняет свои размеры, новый враг поведение на видео тестовое, чтобы проверить не накосячил ли я где-то.
41
💪 Я это сделал!
🧠 Новый враг, о котором расскажу вам завтра.
👾1011