Mikhail Kolobov | Gamedev Forge
688 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
Спасибо Льву за эфир! Поболтали об играх и их разработке
Тут запись эфира
А тут обязательно накидайте реакций, чтобы мы сделали симулятор айтишника!
👌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
Хочу когда-нибудь дорасти (или опуститься) до такого же уровня😂
Чтобы я мог просто посадить рандомных мужиков называть рандомные фичи, а потом пафосно называть это Biggest gaming trends for 2024
😁5🤣4
Небольшой факт обо мне - я п**здец какой ленивый и не люблю длинные и бесполезные созвоны😂
Проблема созвонов еще в том, что и мало какое занятие можно делать параллельно с ними. Поэтому выкрутился вот так) Впервые за столько лет могу сказать, что не зря два часа присутствовал на ретро или каком-нибудь грумминге (хотя только недавно узнал, что это не только стрижка для собак). Да и все равно худеть пора, а то вес за 80 снова перевалил😅

P.S. В очередной раз давно не было контента, привалила пара проектов на фрилансе, да и по менторству загрузка больше стала (что на самом деле очень хорошо)
P.P.S. Дописываю короткую статью про (кал) ИИ на стейт машинах, чтобы совсем не пропадать)
🔥10👍5❤‍🔥2
Итак, новая неделя - новая статья!

Решил для разнообразия отойти ненадолго от технички и написать больше про становление разработчиком. В статье рассказал, насколько вкатунам нужны проекты на гитхабе и как именно они должны выглядеть
В конце статьи есть небольшой прогрев на конкурс, так что дочитывайте чтобы узнать детали!
И как обычно, по удобной площадке для каждого: Хабр, DTF, Teletype
🔥9👍5
Интересная статья про ИИ

Правда, я бы ее назвал "сложно о простом". Это хороший показатель того что стоит сначала разобраться в матчасти вещей, которые ты разрабатываешь. По сути, автор сделал самый обычный utility AI с небольшой щепоткой планирования на ход вперед. Но в статье это же самое преподносится в 20-минутном чтиве про A* и эвристики, генетические алгоритмы и комбинаторные взрывы.
Но я не просто делюсь не только для того чтобы вонять на чужие статьи)

Что в этой реализации достойно внимания:
- Те самые эвристики. Чтобы не считать все возможные варианты ходов, автор за счет некоторых формул обрезает количество вариантов для расчета. Чтобы не было того самого "комбинаторного взрыва"
- Планирование или, согласно статье, мутация. Меня всегда напрягал термин "генетический алгоритм" ведь по своей сути алгоритма как такового под ним нету) "Кто сильнее, тот и побеждает" - вот и весь алгоритм. По сути просто закрепление хода и перерасчет эффективностей в этом новом контексте. Хотя кто я такой чтобы осуждать людей за называние простых вещей сложными словами😂
Остальная часть статьи, в основном, про то какие именно тактики и стратегии влияют на решение ИИ. Лично мне в меньшей степени интересно, я такой оставляю на откуп геймдизайнерам, но для тех разработчиков, кто сам определяет каким образом ИИ принимают решения, будет полезно
🔥7
Искренне не понимаю шквала срача вокруг «Смуты»
Если бы мне дали 5млн$ со словами «делай че по кайфу, возвращать не нужно», я бы и смуту не сделал😂
Да и никто бы не сделал, наверно…
Пишите в комментарии, если считаете иначе)
👍10😁4
Кстати, раз уж пошла такая пьянка...
Если бы вам дали 5 млн $ на игру вашей мечты, какую бы вы сделали? Пишите в комментарии!

Лично я всегда любил игры с разнообразием в геймплее:
- Mount & blade, где можно самому и мечом махать и управлять городами (а что уж и говорить про
- серия Fable и Jedi Academy где вместе с хорошим кор геймплеем в виде квестов/сражений есть хорошая мета, завязанная на выборе игрока

Поэтому при таком условном карт-бланше попробовал бы сделать что-то подобное (в разумных пределах). Где каждый бы мог махать мечом, делать сложные выборы или строить свои города/замки/империи. То есть я бы сделал смуту наоборот😂 - плохая графика, но куча механик
Когда я впервые сел за юнити, то был супер увлечен этой идеей. Но, конечно, как и любого начинающего разработчика пытающегося сделать свою GTA, меня ждал провал. Если постараться, то можно поискать первые прототипы с кучей кривых, несвязных и плохо работающих механик) В те времена я еще и графику пытался сам делать... Так что ставьте 🔥если хотите увидеть немного всратого контента)
И пишите, какую бы игру сделали сами за 5кк$
🔥12👍2😁2
Посетил наконец-то ВДНХ, пока там не сняли мой проект на выставке (на фотке не он, просто этот выглядел красиво)
Спойлер: сам проект, естественно, не увидел, тот павильон заняли под какое-то интервью(
Но вот гуляя по остальным залам я оказался прям разочарован) сделав столько хрени на подобные мероприятия, они потеряли весь шарм

Так что признавайтесь, если вы уже делаете игры (или не игры), то стало ли сложнее от этого в них играть? Когда понимаешь как там все работает и как просто оно делается
🔥4👍2