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
Вообще меня часто затягивают игры такого незатейливого жанра. Каждый раз руки так и чешутся сделать свою такую же, но прям качественно. На 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
- Понимаешь, стейт машины, они как лук
- Воняют? Доводят до слез?
- Нет, слои. У лука есть слои и у стейт машины есть слои
Пишите в комментарии, откуда отсылка

Наконец-то этот день настал! Расписал в статье, почему мне так ненавистен ИИ на стейт машине)
Готов ловить гневные комментарии и игнорировать их на следующих площадках:
Хабр
DTF
Pikabu

Кстати хотел прикрепить к статье какой-нибудь хороший видос по реализации Behavior Tree на русском, но чет не нашел ничего вразумительного. Если знаете такие, то киньте тоже в комментарии. А если не знаете, то ставьте 🎄чтобы я вам заснял такой)

Да и в целом, тема игрового ИИ, видимо прогреваемая этим бумом нейросеток, очень популярна. Но все почему-то прячут контент по ней: Otus на закрытых марафонах про них рассказывает, K-Syndicate делает закрытый "мастер класс" по Utility AI. Поэтому ставьте 👻, если хотите качественный и бесплатный контент по игровому ИИ!
Please open Telegram to view this post
VIEW IN TELEGRAM
👻24🎄13👎32🙈1
Youtube дизморалит с самого утра)
😁162💘2
Что ж, нас становится все больше! Почти как меня зимой 😅
Уже (почти) 🔥350 человек🔥 хотят знать о разработке игр больше😍

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

Специально для этого я обновил свою страницу по менторству. Добавил отзывы и подробнее расписал чем именно я могу вам помочь.

Поэтому если есть любые вопросы или трудности, или если сомневаетесь и не понимаете нужно ли вам вообще менторство - пишите лично мне и записывайтесь на 📞бесплатный получасовой созвон📞
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤‍🔥44💘1
Посмотрел последнее видео Романа-борца-с-говнокодом-Сакутина. Там он развлекается с Chat GPT без регистрации и смс. Не смотря на всю мою мужскую и сугубо гетеросексуальную любовь к Роману (все таки мощно иметь и свою студию и курсы, будучи моим ровестником), видос имхо получился не самым познавательным. Роман сделал буквально пару запросов и бОльшую часть видео цеплялся к словам и кодстайлу...

Последнее в целом довольно странно, ведь кодстайл это относительно подвижная штука, разнящаяся от студии к студии. В Game Insight, например, заставляли писать приватные поля с префиксом "m_", типа: m_Player, m_Id... брр, сейчас даже печатать страшно😅

В итоге стало интересно попробовать самому, но раз уж теперь есть небольшая, но аудитория, может кому-то интересно тоже на это посмотреть? В формате видео или даже прямой трансляции.

Поэтому ставьте 👍🏻 если вы за видео формат и ставьте 🔥 кто за прямой эфир!
И пишите в комментарии игры, которые можно было бы попробовать реализовать с нейросеткой!
👍26🔥5🤷‍♂2
А ведь и правда
Как говорится, мы живем в обществе...
😁12💯3🤯2
Кстати, продолжая разгон про нейросетки

Я уже однажды тыкался в Chat GPT в ту эпоху, когда из под каждой щели лез контент с заголовками ПРОГРАММИСТЫ НЕ НУЖНЫ, ИИ СДЕЛАЛ... Х
Мой хороший друг до сих пор время от времени подмачивает штаны с такого и пытается искать "альтернативную профессию" (привет, Даня)

В ту пору эксперимент закончился тем, что Chat GPT повторил тот мокрый подвиг на момент, когда контекст выходил за рамки одиночного скрипта. То есть, на запросы пусть класс А делает что-то с классом Б, нейронка с каждым разом выдавала все большую ахинею.
Но времена идут, контекст растет. Так или иначе, но она за меня написала две практики в универе.

Вне того эксперимента, я все равно почти на постоянной основе ей пользуюсь в тех местах, где я не очень хорошо шарю или помню наизусть API. Например, редакторские окна или инспекторы в unity: GuiLayout, EditorGuiLayout, EditorLayout. Порой черт ногу сломит, что именно там нужно вызывать) В такие моменты для простого функционала гораздо проще спросить у GPT написать целиком реализацию на абстрактных данных и подставить собственные, чем лазить по кривым и устаревшим мануалам от юнитеков
👍14😨1