Mikhail Kolobov | Gamedev Forge
689 subscribers
106 photos
8 videos
121 links
Unity - менторство и разработка игр.
https://teletype.in/@redhurt/mentoring
Boosty - https://boosty.to/gamedevforge
Мой тг: https://t.me/mikhail_kolobov
Download Telegram
Жаль, конечно, что это не статья про какой-нибудь ИИ или GRASP, но все равно приятно)
👍10🔥2
Итак, нас уже 200!
И пока статья "учимся учиться" для самых начинающих еще в процессе, поболтаем с теми что чуть "старше".
Джуны, когда планируете стать мидлами и чего вам для этого не хватает?
Anonymous Poll
5%
Уже готов, но "надо" еще немного посидеть джуном, чтобы повысили
17%
Не хватает навыков (напиши в комментах, каких)
12%
Не знаю, нет конкретных планов по повышению грейда
7%
Другое (пиши в комменты)
60%
Посмотреть ответ
Сегодня я не разработчик, а актер для захвата движений!
🔥8🤣6❤‍🔥2👍1
Недавно открыл для себя telegram web apps
Пока что сделал только всратую заглушку с кубиком, но так и чешутся руки сделать какую-нибудь игру
Обязательно с мультиплеером!
Есть идеи?)
Эфир завтра в 19:00 по мск
Познакомимся со Львом и поговорим про мобильную разработку📱
Что общего и чем она отличается от геймдева🎮

Эфир будет на канале Leva Ostrovskiy: IT
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6
Прилетело откуда не ждали

Всегда мечтал оказаться первым в выдаче поисковика. Но никогда бы не подумал, что это будет при таком запросе)
😁11🔥3
Спасибо Льву за эфир! Поболтали об играх и их разработке
Тут запись эфира
А тут обязательно накидайте реакций, чтобы мы сделали симулятор айтишника!
👌4😈2
DOD буткэмп от Unity

Не знаю, будет ли это лучше туториалов от Turbo Makes Games, но попробовать стоит.
Я уже ковырялся с DOTS еще до 0.5 версии, когда было страшно даже палкой в нее тыкнуть, а единственным тутором был 4-х часовой видос от otus'а, где за это время чувак успел научить кубик двигаться по клику...
Чуть веселее этого был древний видос с DevGamm'а где лид Moonlight Mouse рассказывал что делать RTS на DOTS «легко и просто», но я до сих пор не уверен что пойму этот доклад, если пересмотрю еще раз)
Кстати, Moonlight Mouse это будущие Door 407, создатели великой и единственной настоящей игры на DOTS - Diplomacy is Not an Option) Не смотря ни на что, очень хорошей игры, которую имхо можно было бы сделать быстрее и лучше без DOTS (тем более без DOTS того времени)

Кстати, DevGamm полон мемных роликов, давайте 10 🔥 под этим постом и я покажу своего devgamm'ного любимца)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18
Как и обещал, делюсь своим любимым видео с DevGamm

Большинство здесь - заядлые юнитисты, но ролик короткий и лишен узконаправленных нюансов из анриала. Вам должно понравиться)
Если коротко, то мужик рассказывает как легко и непринужденно делать казуалки на анриале - нужно всего лишь... переписать движок. Никаких претензий к самому автору, просто смешно как он выходит и по сути говорит: "да, мы занимаемся чушью, тратим в разы больше времени и денег для такого же результата, но только благодаря этому мы крутые". В самом видео можете увидеть скрины из игры и убедиться, что там нету каких-то ультрареалистичных картинок, якобы не подвластных юнити. И в то время не было пятого анриала, чтобы оправдываться nanite и metahuman)
🔥6👍2
Признавайтесь, кто пробовал?
😁5
Что ж, давненько тут не было нормального контента)

В начале года часто такой завал, а в этом году к нему добавилось менторство, фриланс и проект с альтушкой. Но хватит уже так "отдыхать".
Следующее видео будет на немного отвлеченную тему. Так как я последние полгода плотно занимаюсь игровым ИИ, то появилась идея сделать ролик об этом. Если вкратце, то видео будет про то, как сделать простой и емкий игровой ИИ на ранних этапах разработки/прототипирования, когда не хочется загонять себя в рамки одного из фреймворков.
В дальнейшем если тема зайдет, покажу как плавно без глобальных рефакторингов переходить к тому или иному фреймворку, как реализовывать это же самое на ECS и многое другое.
Расскажите, интересен ли вам игровой ИИ и в каком виде вы работаете с ним на своих проектах?
5👍4
Долгожданная третья часть видео по собеседованиям на C# разработчика

Здесь в отличие от предыдущих частей (ссылки на них есть в описании ролика) гораздо меньше того, что пригодится именно нам как разработчикам на Unity. Да и сами эти вопросы практически не спрашивают. Но первые 15 минут посмотреть можно, хотя бы для того чтобы услышать как он хорошо и понятно объясняет эти концепции.
Так что если вы не до конца понимаете что такое yield и как работают enum flags, то обязательно к просмотру)

Кстати, они недавно спрашивали, хочу ли я пойти к ним наставником на курс по unity😂 Но за такие деньги я уже с 2020го жепу не поднимаю)
Что на самом деле много говорит о качестве "наставничества" на таких или любых других курсах. Если вы реально хотите найти хорошую и прибыльную работу, то чему вас может научить разработчик, зарабатывающий 400-500р/час (на уровне хорошего джуна)
🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
"Сегодня в белом танце кружимся" или дилетантская х**ня

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

Для себя я определил два критерия дилетантской х**ни:
- эта вещь которая очевидно ломает восприятие игры
- она чинится буквально за несколько секунд

Почему оно так получилось? Очевидно, разработчик в рамках оптимизации устанавливает цель для NavMeshAgenta не каждый кадр, а с небольшой задержкой. Также у агентов не выставлена StoppingDistance и из-за этого они не пытаются остановится незадолго перед целью, а пытаются прям своим центром попасть в нее. Суммарно из-за этого они и пытаются дойти в неактуальные позиции противников, при этом выталкивая друг друга из текущих.
Решается это элементарно через проверку расстояния до цели. Если она меньше, значит агент добрался и может со спокойной душой бить чушпанов. Как максимум может придется поворачивать агента вручную на противника, который будет не в той точке, куда нацелился агент изначально. Но в наш век DoTween'ов это не составит проблем)
😁6🔥2
Вообще меня часто затягивают игры такого незатейливого жанра. Каждый раз руки так и чешутся сделать свою такую же, но прям качественно. На DOTS, чтобы телефон не взрывался, когда их на экране 30-40. А чтоб прям сотни или тысячи чушпанов на экране толкались)
Также проправить все эти мелочи, которые режут глаз: что анимации у них у всех одновременно отрабатывают, одинаковая скорость, кулдауны, даже размеры моделек. Поведение сделать чуть хитрее И НЕ ДЕЛАТЬ ИИ НА СТЕЙТ МАШИНЕ!!! и все в таком духе
А что бы вы добавили в такую игру?
Итак, прокрастинация побеждена и новая статья уже на DTF и Хабр!

В видео формате будет чуть позже, скорее всего на этой неделе. Если есть комментарии к статье, то пишите их под этим постом.
И накидайте 🔥 если хотите больше контента по игровому ИИ
🔥13😈4
Джуны и архитектура

Хороший пост от Олега, подсвечивающий важную проблему начинающих специалистов.

И правда в большинстве случаев джунам и некоторым мидлам нет особого смысла лезть в архитектуру. Это как учиться бегать марафон не умея перебирать ногами. В первую очередь надо научиться с наскока писать любую игровую механику, а только потом учиться писать их с «минимальным ущербом». Это же касается и собеседований - будущего лида мало впечатлит, что вы наизусть рассказали все паттерны проектирования, если перед этим вы не ответите чем Update от FixedUpdate отличается.

Также не надо забывать про специфику нашей с вами области - жизненный цикл игр как правило гораздо меньше условного энтерпрайза. Соответственно, писать супер расширяемый и поддерживаемый код для казуалки, которая через полгода-год пойдет в помойку, абсолютно бестолку(

Даже у меня встречались пара менторят после известных курсов (там что-то про "коробку навыков"), которые с горящими глазами рассказывают про чистую архитектуру, но с трудом побеждают Rigidbody…

Однако есть мой личный набор правил для начинающих, выполняя которые можно избежать большинства проблем с кодом:

1️⃣ не пишите классы длиннее ста строк. Это, конечно, в меньшей степени относится ко всяким Composition Root и Entry Point‘ам. Но в остальном настолько раздутый класс означает, что вы засунули в него очень много ответственности и скоро в нем будет трудно разобраться. А значит, вы начнете дописывать туда все новый код и очень скоро сотня строк станет тысячей) В будущем вы отойдете от этого, когда начнете больше разбираться в цикломатической и когнитивной сложности кода, но до первой сеньорной зарплаты вполне легко докатиться на этом правиле.
2️⃣ не пишите классы с количеством зависимостей больше 5. В целом все аналогично предыдущему пункту. Здесь мы сразу и заодно заметим проблему всяких 💩синглтонов и сервис локаторов💩 - зависимости на них придется искать по всему коду. А при DI или прямом пробросе зависимостей пришлось бы всего лишь посмотреть в конструктор или метод, заменяющий оный в монобехах.
3️⃣ по необходимости отделяйте предметную логику от фреймворка (то есть, от монобехов). Вне зависимости от размера и жанра проекта предметная логика и фреймворк - это вещи, которые могут развиваться независимо друг от друга. А значит и не надо давать возможность себе и остальным ломать игру целиком во время мелкой правки в ui или наоборот.
Я говорю "по необходимости" так как порой может не иметь смысла. Если положение игрока вы смотрите по его transform'y, а цель для движения и скорость - через NavMeshAgent, то дублировать эти данные в отдельный класс может стоить дороже чем брать из компонентов напрямую.
4️⃣ придерживайтесь принципа IoC, то есть не пытайтесь в модель данных прокинуть зависимость на фреймворк (например, на UI или любые Monobehaviour классы). Как часто говорил великий Григорий, что хорошая игра должна уметь работать даже в консоли.

Таким образом из «архитектурных ошибок» у вас останутся только неправильно вывернутые или циклические зависимости. А их исправление займет от силы несколько часов на промежутке из нескольких месяцев разработки.

И ставьте🔥если нравятся длинные посты прямо на канале, а не во всяких хабрах)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24
Искал медь, а нашел золото

Делаю пет-проект с игровым ИИ. В нем будут на разных слоях работать GOAP и Utility AI одновременно. Когда количество возможных действий у персонажей будет зашкаливать то разгружу планировщик с помощью Behavior Tree
И только-только я добрался к дебажному функционалу и унылому добавлению всяких событий на кнопки, то увидел это чудо🙏
В целом мне нравится UI Toolkit только за то что в нем гораздо больше функционала можно безболезненно делать из кода. Не ковыряя префабы, инспекторы и тд. Но в таком виде я в него просто влюбился)
Хотя конечно если все привыкли в дефолтному ui, то переходить на него попросту нету смысла.
Пока что мои бедолаги умеют только спать и есть (как я на выходных), но в будущем надеюсь будет гораздо больше
P.S. можно полистать гитхаб этих ребят, там довольно много прикольных реп: твины, расширения для редактора, очередной ECS и многое другое
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍2😁2