ПроектыФорумОцените

IsoRift (2 стр)

Страницы: 1 2 3 Следующая »
#15
(Правка: 13:43) 13:34, 18 июля 2026

Butjok2
Для игровой модели и доменной логики я использую ECS — Leopotam.EcsProto. Поверх Unity update loop написал простенький собственный упрощённый конвейер систем с явным порядком выполнения в Start, Update и FixedUpdate. Ввод формирует команды, они отправлятся в ECS, там они уже обрабатываются. ECS в свою очередь через сцену юнити резолвит физику или анимации, также публикует ивенты для отрисовки. Система вне ECS подхватывает такие события и обрабатывает. Такое разделение ответственностей позволит на фоне симулировать мир игры на разных уровнях детализации в зависимости от дальности от персонажа игрока + еще такое разделение позволит легче внедрить мультиплеер/кооп, но я пока не думал об этом всерьез, но мысли посещали :)

Пайплайн систем Unity:
Pipeline

Пайплайн систем ECS:
GameWorldEcsComposer

Как-то так выглядит сейчас разделение по фичам/доменам:

+ Показать

Вот типичный код системы:
MovementSystem

Или вот фабрика персонажей:
CharacterArchetypeFactory

#16
13:57, 18 июля 2026

Блин, сложновато выглядит.
ECS как вообще? Удобно для прототипирования? Это как бы первый вопрос который возникает. 😅

#17
14:08, 18 июля 2026

а че за авто тесты с перемещением персонажа, это разве не руками теститься?

#18
14:10, 18 июля 2026

Butjok2
Для прототипирования вряд ли, слишком много бойлерплейт кода будет, как мне кажется. Но для конечной реализации, где уже нужен контроль и системность в проекте - это отличная архитектура. Она достаточно гибкая, системная и очевидная - не приходится думать "а как бы мне эту фичу добавить, не сломав все остальное". + LLM'ки довольно хорошо справляются, т.к. код шаблонным получается и легко покрывается тестами.

#19
(Правка: 14:35) 14:13, 18 июля 2026

SkibidiSigma
Можно и руками, но это время. Авто тесты нужны для контроля регресса. Регресс - это когда ты пишешь новый код, добавляешь новую фичу, но она что-то ломает, что уже работало. Проверять каждую механику и каждый функционал ручками после изменения кода по времени дорого. Поэтому ты нажимаешь кнопку, которая "эмулирует" ввод за тебя и проверяет, что все работает так, как работало до изменения кода.

#20
23:19, 23 июля 2026

Обычно я выкладываю еженедельный пост о разработке каждую пятницу, но в пятницу и на выходных у меня не будет доступа к ПК, поэтому публикую сейчас.

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры


Перемещение
Переработал locomotion персонажа. Теперь движение лучше соответствует направлению ввода, ноги учитывают рельеф, большинство анимаций стали процедурными. Возможно, где-то они потеряли в качестве, но, я думаю, нужно просто потвикать настройки. Всё благодаря плагину Legs Animator.

Также добавил бег трусцой. Также добавил изменение скорости в зависимости от угла между направлением бега и направлением корпуса.

Прицеливание, стрельба и IK
Серьёзно переработал систему прицеливания. Наведение теперь рассматривается как отдельный процесс, а не как мгновенное переключение состояния. Это дало больше контроля над скоростью наведения, поведением оружия и анимациями.

Отдельный большой блок — IK винтовки. Это позволит менять положение винтовки в пространстве, а руки сами будут к ней тянуться. По сути, процедурное прицеливание, осталось только голову чуть наклонить :)

Также добавил возможность стрелять «от бедра». Крайний вариант, когда нужно стрелять в противника в паре метров от себя. Ну или на подавление, и то будет неточно.

Урон, смерть и ragdoll
Добавил базовую систему урона и здоровья персонажей. Попадание из оружия теперь передаёт событие урона цели, здоровье уменьшается, а при достижении нуля персонаж умирает. Пока это заготовка, дальше буду усложнять систему урона.

Ещё я реализовал ragdoll при смерти, но на видео он сломан, так как IK конфликтует с физикой. Пока не занимался этой проблемой, но решение уже запланировано.

ИИ и зрение
Исправил ошибку, из-за которой NPC могли вести фокус за игроком сквозь препятствия. Также скорректировал их скорость в обычном состоянии, чтобы они не бежали без причины: это прерогатива главного героя :)

Система укрытий
Начал работать в конце недели над системой укрытий, но пока не доделал её. Думаю, это достаточно важная часть осмысленного геймплея, в котором важна тактика. В целом пока получается.

Мотель и окружение
Продолжил собирать руины мотеля — первую точку интереса для демо. Нашёл несколько бесплатных ассетов, ковыряю их потихоньку, когда код надоедает. Добавил новые элементы окружения: дорожные заграждения, мусор, камни, детали разрушенной застройки. Пока это скорее эксперимент и определение базовых принципов работы с окружением, чем полноценная художественная проработка сцены. Тем не менее, мотель стал выглядеть убедительнее.

Нарратив
Продолжил работать с нарративщиком. Сегодня созванивались для определения дальнейших планов. Он принял фидбек по предыдущей таске и начал работу. Кажется, мы постепенно начинаем выстраивать рабочий процесс.

Прочее
Состыковался с геймдизайнером со стажем. Запланировали созвон, он дал фидбек по GDD и проекту. Если вкратце, то не хватает описания проекта между концептом и деталями, также нет определения более мелких игровых петель и слоёв. Я с ним согласен: общий концепт я держал в голове, и GDD служил мне разве что для фиксации требований и рефлексии по проекту.

Результаты и планы на неделю
На этой неделе я не сделал всего, что планировал на предыдущей: уж больно жирный кусок я решил откусить. Но прогресс определённо есть, и он всё равно сравнительно быстрый.

На этих выходных и в пятницу меня не будет дома, поэтому я не буду работать над проектом в эти дни, что, вероятно, сильно сократит количество часов до следующей пятницы. Поэтому планы сравнительно небольшие:

  • Доделать систему укрытий.
  • Уточнить модель попаданий снарядов по частям тела персонажей.
  • Продолжить работу над AI. В основном это будет работа над занятием оптимального укрытия.
  • Немного статистики и послесловие напоследок
    За период с 18.07.2026 по 23.07.2026 я поработал над проектом 49 часов:
    35 часов ушло на работу с кодом и Unity;
    6 часов — на GDD и менеджмент задач;
    5 часов — на поиск референсов, артов и ассетов;
    3 часа — на прочее: этот пост, общение на форуме и нарратив.

    Заметил на этой неделе момент, когда хотелось сдаться. Это лёгкое раздражение от того, что у тебя что-то не получается и ты думаешь: «Может, ну его?» У меня так было с анимациями и визуалом. У тебя просто нет экспертизы, и ты бесишься от того, что картинка в голове не совпадает с тем, что ты видишь на экране. Это фрустрирует, но... может, так на игру смотрю только я? Я думаю, в такие моменты стоит просто продолжать делать то, в чём ты разбираешься. В моём случае это геймплей и программирование. Надеюсь, другие профессионалы тоже подтянутся, как и аспекты проекта, но всему своё время :)

    #21
    0:11, 24 июля 2026

    убери затемнение, игрока это будет раздражать так как большая часть экрана постоянно будет серая и заморачиваться с этим закрашиванием не надо будет

    #22
    7:23, 24 июля 2026

    SkibidiSigma
    Убирать FoV окончательно не буду, но дам возможность игроку настраивать интенсивность fov, вплоть до 0%

    #23
    (Правка: 20:01) 19:57, 31 июля 2026

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

    Геймдизайн
    Это основное направление, которым я занимался в эту неделю. В понедельник я созвонился с опытным геймдизайнером Игорем (на этом форуме под ником zeroshell). Я подумал над его фидбеком и предложениями и немного скорректировал свой план развития проекта:

  • Во-первых, люди, которые только знакомятся с проектом, испытывают сложности с пониманием проекта. В целом это норм, пока ты работаешь над проектом один, но когда надо делегировать работу другим людям, возникают сложности. Я заметил это не только в разговоре с Игорем, но и с нарративщиком. Это побудило меня переписать концепт в более понятной форме и составить Moodboard.
  • Во-вторых, нет проверки гипотезы о геймплее. Я ранее распланировал демо, но теперь не уверен, что оно показывает главный геймплей. Поэтому я буду переписывать демо, но позже: пока есть более насущный вопрос: будет ли игра играться так, как задумано и будет ли это интересно? Поэтому теперь процесс разработки будет более итеративным:
  •     1) Делаю прототип одного core loop. Например, бой, исследование в открытом мире или подготовка к вылазке в убежище - все это небольшие игровые циклы.
        2) Даю поиграть разной аудитории этот прототип.
        3) Собираю фидбек. Опровергаю или подтверждаю теории.
        4) Корректирую механики или геймплей.
  • В третьих, слишком много текста о механиках, но мало материалов об игре. У меня много подробно описанных механик: прицеливание, система укрытий, смена боевого положения, FoV, ИИ. Но не написано, как это должно работать во всей игре и как это должно ощущаться. Поэтому я провел небольшую ретроперспективу, вспомнил почему мне нравилось играть в Project Zomboid, CDDA, STALKER, Kenshi. Думаю, еще будет работа над позиционированием игры, сравнением с другими играми, над мудбордом, питч деком, концептом. Постараюсь также не планировать слишком наперед, а делать игру по кусочкам, проверяя как они работают по отдельности и вместе, корректируя игру по фидбекам. Нужно будет обновить начальную страничку форума :)
  • Moodboard
    Много времени я посветил тому, чтобы понять, как должна выглядеть игра, кем должен чувствовать себя игрок и какое настроение будет у проекта. Это был довольно увлекательный процесс и я бы продолжил бы его, если бы было больше времени :)

    Сам результат мудборда можете посмотреть тут: ТЫК. Имейте ввиду: весит он немало. Хотел бы услышать мнение по мудборду: какие мысли об IsoRift у вас от него.

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

    Планы
    В августе от меня не будет новостей вплоть до 28 августа - я улетаю в Алтай, иду в горный поход. Думаю, перерыв от 12 часового почти ежедневного кода и работы над проектом мне не повредит :) Поэтому не думайте, что проект заброшен и не теряйте меня :)

    После похода ориентировочно к концу сентября я планирую реализовать прототип боёвки и прогнать его через цикл прототипирования и плейтестов: дать поиграть людям и проверить, что боевка играется так, как задумано: через тактику, разведку и напряжение от неизвестности. Раньше я называл это MVP, но теперь понятно, что это далеко не MVP :)

    Немного статистики и послесловие напоследок
    За период с 24.07.2026 по 31.07.2026 я поработал над проектом 16 часов:
    11 часов ушло геймдизайн;
    3 часа — на работу с системой укрытий;
    2 часа — на общение, нарратив и ведение девблога;

    На этой неделе мне впервые написал человек, который хотел бы принять участие в проекте. Это приятно: сразу появляется ценность труда и проекта. Может со временем я смогу собрать высокомотивированную команду, которая поможет мне сделать игру качественнее, быстрее и, в конце концов, интереснее для игрока.

    Недавно смотрел видео на ютубе у Bazillь про историю создания Kenshi и Project Zomboid. Такие истории мотивируют, но всегда думаю об ошибке выжившего: сколько проектов, в которые вкладывали душу, нервы, время и деньги, провалились. И со глядя со стороны ошибки таких провалов кажутся очевидными, но с другой стороны проекты типо Kenshi или PZ тоже могли оказаться в их числе. Они стали успешными не благодаря, а вопреки. И иногда из-за этого мне кажется, что это рулетка. Поэтому я стараюсь думать о своем проекте не как о самоцели, а как о процессе. Так проще будет принять неуспешность проекта: я делал его не чтобы заработать или оставить след в истории геймдева, а потому что мне по-кайфу было его делать.

    #24
    19:10, 28 авг 2026

    В прошлые выходные вернулся домой после горного похода и по традиции в пятницу выкладываю очередной отчет о прошедшей неделе :)

    На этой неделе я смог поработать не так много: отходил от гор, разгребался с работой, накопились дела по быту. Но тем не менее работа идет. Если вкратце, то реализовал осознанную стрельбу ИИ, провел аудит геймдизайн-документа и определился с будущими планами.

    Геймдизайн
    Я взглянул на дизайн-документы новым взглядом и выделил несколько проблем:
    - Вода. Много воды. За время разработки в документации накопились повторы, избыточные объяснения и формулировки, которые почти ничего не добавляют.
    - Несоответствие коду. Часто случалось, что фича продумывалась по одному варианту, но в процессе реализации трансформировалась в другой. Иногда дока при этом не обновлялась, что приводило к расхождению документации с кодом.
    - Разделение актуального состояния и планов. Это основная причина аудита. Смешались идеи, планы, текущая реализация. Непонятно, что сделано сейчас, а что будет сделано позже. Раньше я подробно описывал фичи ещё до реализации. На практике многие из них менялись во время разработки, поэтому документация быстро устаревала. Теперь дизайн-документ описывает только текущее состояние игры, а идеи и будущие изменения живут отдельно в планах и таск-трекере.

    Выстроил такой пайплайн по развитию фичи:
    1. Берем идею для фичи.
    2. Описываем ее в таск-трекере, из плана идею убираем.
    3. Реализуем идею или отказываемся от реализации.
    4. Если все ок (реализовали), вносим изменения в дизайн-документ (обновляем текущее состояние фичи).

    Пока не все статьи обновлены, но думаю, что это оправданная работа на будущее.

    Планирование и позиционирование
    Я показал проект игровому продюсеру (моему коллеге по работе). Он хорошо оценил концепт проекта, но посоветовал не идти в открытый мир сейчас и не прототипировать его. Вместо этого он предложил сделать красивый геймплейный тизер и завлечь аудиторию. Его позиция ясна: нужно собрать небольшой, но убедительный вертикальный срез, который эффектно показывает проект, начать формировать аудиторию и постепенно расширять команду людьми, которым интересна сама концепция игры.

    План по развитию проекта такой:
    - Довести боевой ИИ и базовую боёвку.
    - Сделать минимальную рабочую версию изосдвигов.
    - Собрать небольшой игровой сценарий на 2–3 минуты, показывающий бой и изосдвиг.
    - Добавить необходимый UI/VFX/SFX и привести сцену к презентационному виду.
    - Записать и смонтировать геймплейный тизер.
    - Начать активно распространять материалы и собирать аудиторию.
    - На основе реакции искать участников команды и партнёров.
    - Если концепция подтверждается — расширять этот кусок до полноценного демо.

    Стрельба и ИИ
    По механике стрельбы я добавил базовую систему прицеливания по частям тела: когда игрок целится во врага, его персонаж сам выбирает видимую часть тела для стрельбы. Пока приоритет стрельбы — в корпус, потом в голову, потом по конечностям. Позже этот приоритет будет динамически меняться. То же касается ИИ: теперь он тоже выбирает, куда стрелять. Выбирает ИИ и то, когда и как долго стрелять: на дальней дистанции ИИ старается стрелять одиночными или очередями, на ближней он дольше зажимает курок. Все это высчитывается на основе условной пользы от выстрела: насколько вероятно, что попадание будет в какую-либо часть тела. Позже будет влияние брони, характера и целей NPC, навыков и т. д. на то, как ИИ определяет момент для выстрела и в какую часть тела стрелять.

    Немного статистики и послесловие напоследок
    За период с 24.08.2026 по 28.08.2026 я поработал над проектом 21 час:
    9 часов ушло на геймдизайн;
    11 часов — на переработку стрельбы и стрельбу ИИ;
    1 час — на менеджмент и ведение девблога.

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

    Еще я заметил, что теперь меньше занимаюсь кодом и непосредственно проектом, но больше — менеджментом и продюсированием. Не скажу, что мне это не нравится, но опыта не так много. Благо дело, есть знакомые с коммерческим опытом.

    Я попробовал использовать Claude Code. В целом, он понравился мне больше, чем Codex. Не знаю почему, но, по ощущениям, он справляется с задачами лучше. Вероятно, перейду на него полностью.

    #25
    (Правка: 20:53) 19:58, 4 сен 2026

    Продолжаю делать свой проект и вести девблог. Неделя вышла без форс-мажоров, планомерно реализуем минимальный геймплей и визуал для геймплейного тизера, работаем над разломами и стрельбой.

    Пополнение в команде
    Возможно я писал ранее, но в команде появился новый программист Иван. Его уже можно поздравить с боевым крещением: он с ходу реализовал систему щитов персонажа и сейчас работает над декалями и эффектами от попаданий пуль.

    Стрельба и щиты
    Иван переработал стрельбу: вместо хитскана (мгновенное попадание лучом) оружие теперь стреляет настоящими физическими снарядами, которые реально летят к цели — это позволяет, например, сделать лук и уклониться от стрелы, а также делает перестрелки более физически ощутимыми. Ещё он добавил базовую реализацию щитов: отдельный от здоровья барьер, поглощающий урон и восстанавливающийся со временем, если персонаж не под обстрелом. Щиты должны сделать перестрелки более тактико-ориентированными. Пока без HUD, но он запланирован.

    Левел-дизайн
    Переработал локацию мотеля: сделал здание больше. Сейчас пытаюсь не просто расставить комнаты и укрытия, а понять, какие ситуации и истории может и должна создавать локация. На это уйдет больше времени, чем я думал.

    Изоразломы и изосдвиги
    Тут сначала опишу контекст, что это и как. Изоразломы — области соприкосновения нашего мира с параллельными реальностями. На поверхности они оставляют сеть светящихся швов. В некоторых местах разлом стабилен, но иногда от таких узлов по швам начинает двигаться активная стена — это событие я называю изосдвигом. По функции это немного похоже на выброс из S.T.A.L.K.E.R., только сдвиг не накрывает всю карту, а физически проходит по определённым маршрутам мира. В последствии на них будут завязаны многие механики и изменчивость мира: получение уникальных материалов, изменение обстановки в регионе, изменение поведения ИИ, изменение визуала вокруг.

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

    + Разлом_1
    + Разлом_2

    Параллельно немного доработал территорию у мотеля и добавил трещины разломов на фундаменте и крыше. Но работы в этом направлении еще очень много.

    Геймдизайн-документация
    Продолжил ревизию дизайн-документа, начатую на прошлой неделе. Думаю, я близок к окончанию этой работы.

    К работе над геймдизайном присоединился Сергей — написал первые статьи про коммуникацию вражеского ИИ и обнаружение звуков. Это пока концепты, но приятно, что над механиками думаю не только я. Пока мы только притираемся и выстраиваем процесс совместной работы над механиками.

    Менеджмент
    Выяснилось, что таск трекер внутри Obsidian был неудобен для команды, поэтому перешли на Linear.

    Немного статистики и послесловие напоследок
    За период с 29.08.2026 по 04.09.2026 команда поработала над проектом ~42 часа:

    21 час ушёл на арт (окружение и разломы);
    10 часов — на геймдизайн-документацию;
    7 часов — на реализацию механик;
    4 часа — на менеджмент и ведение девблога.

    В ближайшее будущее, я думаю, буду работать над проектом чуть меньше из-за того, что появились новые обязанности на работе — теперь я тим лид не только на своем проекте :)

    В целом, я доволен неделей, на месте не стоим, выгорания не ощущаю и интерес сохраняется.

    #26
    20:47, 4 сен 2026

    Ссылки неправильно в теги обернуты, не посмотреть что там.

    #27
    20:54, 4 сен 2026

    Kropotkin
    Поправил, спасибо :) Надо почаще видео выкладывать, а то так и не привыкну.

    #28
    (Правка: 7:24) 3:11, 12 сен 2026

    Еще одна неделя позади. График работы вышел плотным и довольно разнообразным: метался между 3D-артом окружения, плейтестами, левел дизайном, обновлением доков, переработкой стрельбы и инверсной кинематикой. Силами второго программиста были реализованы эффекты попаданий и расход патронов.

    Плейтесты, левелдизайн и игровой опыт
    Решил сделать плейтесты и задать себе простой вопрос: «Что сейчас мешает играть в мою игру, если абстрагироваться от графики?» По итогам плейтестов выяснил, что укрытия сейчас почти бесполезные, NPC слишком меткие, выглядывание из укрытий работает криво, а левел-дизайн не предлагает интересных решений.

    Для более "стерильных" плейтестов поставил ProBuilder и создал отдельную сцену для тестов. Была еще мысль сделать автоматические плейтесты, чтобы иметь возможность более осознанно менять разные параметры (точность оружия, раскачку, NPC поведение) без вреда другим балансным метрикам (условно, среднее время смерти от NPC на 30 метрах без укрытия), но пока руки не доходят: твикаю настройки вручную по ощущениям.

    Регистрация попаданий и конечности
    Для решения проблемы низкой ценности укрытий я решил уточнить хитбоксы персонажей. Раньше персонаж терял ХП, если пуля пересекала большую капсулу персонажа. Теперь чтобы попасть по персонажу, нужно попасть конкретно в голову, руку, торс или ноги. Пока ХП общее, и зависимости урона от того, куда попал снаряд, нет, но уже это повысило ценность укрытий: гораздо сложнее попасть в выглядывающую голову и часть торса с руками, чем в капсулу вокруг персонажа.

    UI/HUD
    Накидал первый плейсхолдер HUD здоровья и щита на UI Toolkit — пока просто полоски-бары без оформления, но уже видно текущее состояние персонажа в бою. Нужно было для быстрых плейтестов: чтобы видеть, насколько быстро снижается хп или щит, как часто попадает противник и т.д.

    Стрельба
    Стрельба со стороны ИИ тоже была переработана. ИИ теперь стреляет не идеально точно: добавил нарастающую со временем переоценку принятия решения о выстреле, чтобы противники иногда промахивались, если у них долго не получается выцелить нужную часть тела. Это позволило убрать чувство "машинной точности" у ИИ. Но нужно будет еще потвикать настройки.

    Иван же добавил расход патронов при стрельбе. Добавились магазины и слоты магазинов, которые цепляются к оружию как источник патронов, а также к персонажу (базовая имитация разгрузки).

    Анимации и выглядывание из-за укрытий
    Иногда меня удивляет цепочка причинности в геймдеве. Вот как я пришел к переработке IK из-за плейтестов:

  • Плейтесты показали, что укрытия имеют низкую ценность.
  • Причина оказалась в том, что персонаж при выглядывании высовывался слишком сильно.
  • Высовывался он сильно, потому что алгоритм поднимает персонажа из укрытия ровно настолько, чтобы линия стрельбы ничем не перекрывалась.
  • А сама линия стрельбы была гораздо ниже головы из-за неточной настройки IK оружия.
  • В итоге пришел к выводу, что нужно улучшать и править IK оружия и головы.
  • Поэтому я переработал IK прицеливания: приклад оружия цепляется к плечу персонажа, голова поворачивается вслед за направлением прицеливания, а сам прицел выставляется точно по линии глаз-цель. Это позволило уменьшить площадь, которую персонаж показывает при выглядывании из-за укрытия. Заодно IK стал более универсальным: голова задаёт направление, приклад следует за плечом, а оружие ориентируется по прикладу и точке прицеливания.

    Заодно это решило проблему рассинхронизации глаз и головы.

    Ввод игрока
    Поймал и исправил баг, из-за которого персонаж игрока реагировал на цели вне зоны видимости/поля зрения, когда игрок наводит курсор на невидимых персонажей.

    Патрулирование ИИ
    После того, как стрельба и укрытия стали ощущаться лучше, начал работать над ИИ.

    Доделал систему патрулирования персонажами внутри точек интереса: теперь на одну точку интереса можно повесить сразу несколько маршрутов патруля. То есть несколько участников отряда, находящихся на одной точке интереса, теперь могут патрулировать. Пока на один маршрут по 1 NPC.

    Пайплайн окружения: Blender → Unity
    В прошлые выходные собрал и обкатал пайплайн для быстрого создания артов окружения: генерация геометрии скриптами в Blender через Codex/Claude + MCP + Skill, запекание normal/AO/ARM с high-poly на low-poly, экспорт в FBX и настройка импорта в Unity (текстуры, материалы, префабы). Пока пайплайн не настроен 100%, но уже понятно, что это имеет смысл. Думаю, через год/два это оправдает себя, если динамика развития LLM сохранится.

    На этом пайплайне сделал пробный набор модульных ассетов из ржавого железа: столбы, прутья арматуры, листы железа, профнастил. Из них собрал пробный забор. Сборка в движке занимает довольно много времени, даже с учетом того, что моделить не нужно, но, думаю, ассеты потом можно будет переиспользовать, а не делать с нуля. Нужно просто достичь того момента, когда в глаза не будет бросаться однотипность ассетов. Заодно провёл аудит уже существующих 3D-моделей — часть требует переделки под новый процесс.

    Эффекты попаданий и HUD
    Иван закончил эффекты и декали от попаданий пуль. Пока различия в материалах нет, но планирую ввести систему логических материалов, которые нужны будут не только в рамках эффектов.

    Менеджмент и документация
    Завершил работу по ревью дизайн-документации. Наконец-то :)

    Планы
    Ивану планирую поручить перезарядку оружия, а сам займусь поведением ИИ в бою: занятие укрытий, систему кратковременной памяти, разные стратегии поведения (отступление, агрессивное наступление, оборонительная стратегия и т.д.). Геймдизайнер Сергей тем временем будет работать над проработкой системы материалов мира и уточнением доков по разломам.

    Немного статистики напоследок
    За период с 05.09.2026 по 11.09.2026 я поработал над проектом ~43 часа (без учета времени Ивана и Сергея):

    19 часов — на арт окружения (пайплайн Blender → Unity, заборы, скрап-кит, ревью эффектов попаданий);
    20 часов — на боевые механики и ИИ (IK прицеливания, укрытия, патрулирование, HUD, хитбоксы);
    4 часа — на менеджмент, ревью и документацию.

    В целом, я доволен. Чувствую прогресс, который мотивирует двигаться дальше. И чувствую, что я двигаюсь от "игра как система" к "игра как игровой опыт".

    Замечаю, что мне не хватает времени, я почти все время трачу на работу и свой проект. Думаю, немного замедлиться, т.к. накопились дела по быту и в целом нужно немного "потрогать траву" :)

    #29
    (Правка: 18:00) 17:56, 19 сен 2026

    Решил всё же поделиться результатами недели, хотя планировал писать реже — раз в две недели: есть что показать. Почти весь фокус был на боевой части. Я продолжил избавляться от ощущения «враги-турели»: переработал память и решения NPC, собрал автоматические плейтесты, сделал первую версию занятия укрытий и переделал отдачу.

    Память и отношения персонажей
    Чтобы NPC правдоподобно выбирал укрытие, мало знать, где враг находится сейчас. Нужно помнить, где его видели в последний раз.

    Раньше эта логика была жёстко завязана на зрение и заглушку «единственная угроза — персонаж игрока». Я разделил наблюдение, распознавание и память. Теперь враждебность определяется принадлежностью к разным отрядам, а потерявший цель NPC действует относительно её последней известной позиции.

    На этом фундаменте позже можно построить фракции, отряды и память о встречах. Уже представляю, как NPC говорит: «Хей, я видел тебя. Ты спас моего брата там-то и тогда-то». Эх, дойти бы до этого момента :)

    Отдача и стрельба ИИ
    Стрельба в ноги была эффективнее стрельбы в грудь: отдача поднимала оружие вверх, и больше пуль попадало в тело. Теперь длинная очередь уводит оружие не только вверх, но и в сторону.

    Также переработал оценку выстрела у NPC. Теперь NPC оценивает вероятность удачного выстрела с некоторой погрешностью: иногда он может рискнуть при плохой позиции, а иногда чуть дольше сомневаться даже при хорошем шансе попадания. Чем дольше он целится, тем увереннее становится решение. Стрельба теперь ощущается менее машинной, но не рандомной.

    + Поиск_укрытий

    Автоматические плейтесты
    Собрал первую версию автоматических плейтестов, чтобы настраивать боевые параметры не только по ощущениям. Пока тест один: AI-стрелок атакует неподвижную цель на разных дистанциях от 5 до 50 метров. Тест измеряет время до убийства, сохраняет таблицы и строит графики.

    Хотел было оценить полезность укрытий, но сначала нужно было научить NPC пользоваться укрытиями :) Так что я переключился на них.

    + График_ТТК

    ИИ и укрытия
    Собрал первую версию тактического перемещения. NPC ищет укрытие относительно угрозы, идёт к нему, приседает и использует ту же систему выглядывания, что и игрок.

    Первая версия искала позиции вокруг отмеченных объектов прямо во время игры. Она не учитывала силуэт персонажа, требовала слишком много проверок и плохо масштабировалась на большие локации.

    Поэтому почти сразу начал вторую версию. Теперь редактор заранее анализирует геометрию и создаёт карту укрытий — аналог NavMesh для защищённых позиций. Основа готова, осталось закончить несколько деталей.

    + Запекание_карты_укрытий

    Перезарядка
    Иван собрал рабочую логику перезарядки в отдельной ветке. Сложности возникли с анимацией: нужно подружить IK и анимационные клипы. Сейчас Иван работает над второй итерацией.

    Прототипы и геймдизайн-документация
    Сергей показал прототипы локального замедления времени, метания гранат и HUD прицеливания.

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

    Планы
    Сначала закончу связку «ИИ ↔ укрытия», затем сравню в автоматических тестах перестрелки с укрытиями и без них. В ближайшее время также займёмся HUD прицеливания.

    Дальнейшее направление подскажут плейтесты. Скорее всего, продолжу улучшать ИИ: добавлю поиск противника, осмотр после потери визуального контакта и командную работу.

    Немного статистики напоследок
    За период с 12.09.2026 по 19.09.2026 я поработал над проектом ~44 часа (без учёта времени Ивана и Сергея):

    25 часов — на ИИ, укрытия и автоматические плейтесты;
    7 часов — на отдачу, стрельбу и работу с перезарядкой;
    12 часов — на документацию, ревью, постановку задач и проектные инструменты.

    Итог и послесловие
    Неделя получилась плодотворной: противники начали искать укрытия, стрельба стала менее механической, а для баланса появились измеримые данные.

    При этом работы до полноценного боевого прототипа оказалось больше, чем я рассчитывал. Я хотел закончить его к середине сентября, но много времени ушло не только на боёвку: плейтесты, пайплайн LLM → Blender → Unity, инструменты и менеджмент. Переношу срок на конец октября.

    Страницы: 1 2 3 Следующая »
    ПроектыФорумОцените