Night Train Code - разработка игр
Kanalga Telegram’da o‘tish
🖤 Разработка игр на Unity 🖤 Программирование на C# Лс: @meexasik Наш форум: @ntc_forum Наш легаси-чат: @ntc_chat
Ko'proq ko'rsatish1 451
Obunachilar
+324 soatlar
+237 kunlar
+4730 kunlar
Postlar arxiv
Больше 3К просмотров на новом видео за выходные, что вы за львы?! 😎
Планирую сделать ремейки нескольких своих старых видео по некоторым причинам, одна из которых - это новые знания и новый (трезвый) взгляд на старое.
А в данный момент я пилю обнову для NightPool. Как раз можно будет запилить видос про новую версию, ибо изменений много.
Кстати, если есть кто из ЕКб, друг анонсировал встречу разработчиков игр, может кому интересно будет.
🚄 Айоу! Новое видео уже на канале 🔥
👀 Материалы из видео:
1. Скрипты
2. Библиотека OverlapSugar
3. Полезные атрибуты
👀 Само видео:
https://youtu.be/iLa1mF_PaEs
https://youtu.be/iLa1mF_PaEs
https://youtu.be/iLa1mF_PaEs
Надеюсь на вашу максимальную поддержку, очень много времени и сил потратил на этот ролик. Получился самый длинный на канале! Много чего переснимал, чтобы улучшить качество материала, а также много фишечек доснимал в процессе. Думаю, узнаете что-то новое 😉
Финишная прямая! Уже 42 минуты смонтировал)
Много чего переснимал (перфекционизм, привет. Ну или ОКР, хе-хе), много чего добавлял. В общем и целом, думаю, много полезного узнаете.
Если всё пойдёт по плану, то видео выйдет в пятницу / субботу
Сижу, ищу, читаю различные сайты с информацией о распространённых соглашениях по написанию кода C#.
Вообще, я искал чёткое описание того, в каком порядке лучше писать readonly, const и static поля - выше или ниже обычных полей. Пока не нашёл, но наткнулся на эту страницу, рекомендую заценить. Пару фишечек для себя подметил в тех моментах, которые я очень редко использую.
https://www.elma-bpm.ru/KB/article-6651.html
Нет, я не потерялся)
Несколько раз переписывал и переозвучивал части сюжета для нового видео про стрельбу, чтобы сделать его лучше. Будет много интересного 😉
Тем временем, это заявочка на очередной самый длинный ролик на канале. Похоже на то, что он будет минут на 40+, новый рекорд. Осталось смонтировать и выжить :D
Пока видос озвучиваю, расскажу про интересный способ оптимизации. Принцип работы такой, что Update как бы "делится" на два (это не многопоток). Половина компонентов с Update вызывается в первом кадре, вторая половина в втором. В теории это увеличит FPS.
Обращаю ваше внимание, что при таком подходе нужно помнить про deltaTime. Ибо пройдёт два кадра, а deltaTime получим только за один. Но можно кэшировать время между кадрами в какие-нибудь deltaTimeA и deltaTimeB, а затем складывать и получать totalDeltaTime.
На практике пока не пробовал, поэтому не могу сказать, есть ли ещё какие-то подводные камни или баги.
https://thegamedev.guru/unity-performance/cpu-slicing-secrets/
Офигеть, уже лето...
Получается, всем хорошо отдохнуть и хорошо поработать 🔥
🚄 А я готовлю очень полезное видео по всем основным типам атак в Unity: Raycast, Overlap и Projectile. Будет очень интересно)
К посту выше
Вот так легко можно биндить переходы в этой машине состояний :)
У меня есть проект на GitHub под названием ContextStateMachine.
Это обычная машина состояний, но на ней ещё можно очень удобно писать искусственный интеллект, ибо в ней можно биндить переходы из одного состояния в другое, а затем она опционально в Update (вызов контролируете как вам захочется) сама будет устанавливать нужное в зависимости от условий, которые вы зададите.
Например, у нас есть вражеский юнит, у которого есть два состояния: «Ожидание» и «Атака». Мы просто задаём переходы из «Ожидания» в «Атаку» и из «Атаки» в «Ожидание», а условием может быть, например, наличие или отсутствие цели соответственно.
Подробная документация есть на GitHub. Также по этой StateMachine я планирую записать видео.
Только что пересел с Zenject (Extenject) на VContainer
Почему решил пересесть?
1. В использовании он, как по мне, проще (после Zenject'а тут всё интуитивно понятно, но лучше всегда внимательно читать документацию).
2. Весит меньше и не имеет настолько много лишнего (для большинства пользователей) функционала. В общем и целом, не перегружен.
3. По производительности он быстрее хотя бы потому, что здесь мы сами определяем какие GameObject'ы нам нужно заинжектить на старте, а не все сразу, что есть на сцене.
Ещё в документации есть очень полезная страница со сравнением VContainer и Zenject
А вот и три фотки ДО и три ПОСЛЕ к посту выше :)
Отдельно, потому что по количеству символов у постов с фото ограничение больше и всё не влезло.
Хочу рассказать свою историю превращения в другого человека, почему бы и нет? Может кого-нибудь это мотивирует 🙃
С 4 до 16 лет я всегда страдал ожирением. Ну знаете там: кость широкая, «от одной конфетки не потолстеешь», метаболизм плохой, «не жирный, а просто тебя хорошо видно» и всё в таком духе :)
И когда в школе на медосмотре спидометр на весах разогнался до 122 кг быстрее, чем тесла до сотки, я понял, что явно в этой жизни я делаю что-то не так 🤣
В 10 классе наш класс сформировали из ребят из трёх разных классов, так я подружился с мальчиком, который тоже успел нафармить кучу лишнего веса. Видимо, нам нравилось косплеить Пуджа и быть похожими на типичных геймеров-задротов, но вдруг в один момент мы решили начать менять свои жизни. Тем более вдвоём начать что-то делать было куда проще.
Тактика у нас была простая: ставим себе ограничение по калориям на день. Я придерживался 1400 ккал в день, но для моего роста (187 см) и веса (122 кг) это было черезвычайно мало (если решите худеть, то советуйтесь с врачом и бла-бла-бла, ну вы поняли, иначе всё на свой страх и риск), но в итоге всё прошло без происшествий 😉. Далее я начал изучать матчасть (чем лучше питаться, какие упражнения делать и т.д.) и подключил спортзал.
В таком темпе я продержался 8 месяцев и скинул ровно 50 кг (!)
Труднее всего далась первая неделя. А затем похудение вошло в привычку и никак не мешало комфортной жизни. А ещё меня очень сильно мотивировал результат. Уже за первую неделю я скинул пару кг.
Таким образом, в начале своего 16ти летия я весил 122 кг, а к концу уже 72 кг. Такой маленький вес это тоже не норма (как мне кажется) и сейчас я держу свой вес в районе 85 кг последние несколько лет и прекрасно себя чувствую 😄
Как эта, казалось бы, несвязная вещь с моей сферой деятельности, помогла мне стать программистом?
Я понял, что чем больше ты работаешь, тем больше тебе везёт. Если хочешь чего-то добиться, то тебе нужно что-то делать и делать это регулярно.
Я верил в то, что если я однажды изменил свою жизнь в лучшую сторону один раз, то смогу и второй, и третий. Нужно лишь просто не сидеть сложа руки.
Вот и реальные примеры принципа «хочу, делаю, получаю»:
Что я хочу? Похудеть.
Что нужно делать? Ограничивать потребление калорий и ходить в зал (опционально).
Что я получу? Здоровье, возможность подтянуться на турнике хотя бы раз :D, внимание от девчонок и первые отношения. А ещё на вахте тебя не пустят в школу в 11 классе из-за того, что не узнают 😂
Что я хочу? Стать программистом.
Что нужно делать? Регулярно изучать язык программирования и практиковаться.
Что я получу? Возможность делать продукты (приложения) и финансовую независимость.
Поэтому всем я желаю удачи в своих начинаниях, увлечениях, которые пока не получаются или получаются плохо. Не опускайте руки, всё придёт с опытом, со временем. Нет ничего невозможного.
В следующем посте будут фото ДО и ПОСЛЕ :)
P.S. Метаболизм то, оказывается, в порядке! 🤣
Привет, народ, я как обычно вовремя, но кто какими нейросетями пользуется?)
Эта тема до сих пор продолжает быть очень популярной. Интересно, что вы думаете и чем пользуетесь.
Если рассматривать тот же ChatGPT, то программиста эта вещь ещё ооочень долго не заменит, но уже выступает в роли хорошего помощника в разработке и полезна она не только программистам, ибо ограничивается эта нейросеть не только этим.
Сегодня у админа нашего чата вышла своя игра в Steam
Можете поддержать MEATGRINDER вишлистами и заценить геймплей)
Мне было в кайф проходить игрушку и осознавать, что всё это было сделано на нашем любимом Unity 😉
Также у разработчика есть свой канал в телеге, где он делится мыслями, плюшками и процессом разработки игр
Ещё сейчас идёт стрим по игре от разработчика!
🚄 Новое видео уже на канале!
https://youtu.be/RImScge-X3Q
https://youtu.be/RImScge-X3Q
https://youtu.be/RImScge-X3Q
🚄 Привет, пассажиры!
Инфа для тех, кто использует DOTween. По умолчанию в нём включен Safe Mode, который заменяет все ошибки на Warning и делает так, чтобы ваша игра с исключениями пыталась работать корректно.
Ещё из-за этого с опцией Edit -> Project Settings -> Editor -> Enter Play Mode Options (включена с отключенными Reload Domain и Reload Scene) я ловил Exceptions в консоли.
Эта опция позволяет почти моментально запускать ваш проект в Unity при нажатии на кнопку Play, попробуйте, но только осторожно 😉.
Я придерживаюсь того, чтобы в продукте (игре) всё было идеально. Поэтому я отключил Safe Mode в DOTween (Tools -> Demigiant -> DOTween Utility Panel -> Preferences -> Safe Mode) и принялся исправлять ошибки.
В основном ошибки были связаны с тем, что объект, который привязан к Tween'у, удалялся раньше, чем завершалась анимация. Решить это получилось очень легко с помощью SetLink(gameObject). В этом случае Tween будет удалён при удалении объекта, который он анимирует (его и нужно передать в аргументы метода SetLink).
А если по окончании анимации что-то обязательно должно происходить в OnComplete, но не происходит из-за перезагрузки сцены, то можно заменить OnComplete на OnKill.
И ещё один лайфхак. Можно делать await Tween с помощью UniTask. Для этого устанавливаем UniTask и добавляем UNITASK_DOTWEEN_SUPPORT в
Edit -> Project Settings -> Player -> Other Settings -> Script Compilation -> Scripting Define Symbols
Только что бесплатно забрал этот ассет по промокоду MKTOON
Про эту плюшку узнал от модера из нашего чата 😎
https://assetstore.unity.com/packages/vfx/shaders/mk-toon-stylized-shader-178415
