Привет всем спонсорам! Добро пожаловать в самый запоздалый пост с итогами в истории ведения этого блога :)
[Месяц поломок и обновлений]
Во-первых, я обновил свой рабочий компьютер и написал про это отдельный пост. Произошло это довольно неожиданно: в один день я просто увидел приятную цену на интересующий меня Легион, а тщательный анализ конкурентов подтвердил то, что его определённо надо брать. Заказ оказался удачным: буквально через пару дней цена подскочила на 11к, а потом ноутбук был раскуплен полностью.
Во-вторых, у меня продолжились неудачи с производством восьмой серии. 3.5 года назад я купил себе внешний жёсткий диск от WD на 5Тб, чтобы хранить на нём архивные футажи и проекты видео (коих за 7 предыдущих серий уже накопилось 500Гб+). В последнее время он работал плохо, а в августе сломался окончательно (проблема с Reallocated Sectors).
Сделать бек-апы я успел, но вопрос в другом - я не знаю, что мне теперь делать. Покупать такой же, чтобы он опять сломался и не оправдал даже половины своей цены? Брать несколько мелких HDD и расширять запас по мере надобности? Покупать подписку на облако? Пока без понятия.
В-третьих, в середине месяца сошла с ума моя мышка, купленная семь лет назад вместе со старым ноутбуком. Пришлось экстренно искать ей замену. То, что обновление мышки и в этот раз произошло в комплекте с новым ноутом - это чистое совпадение!
В общем, я взял MSI VERSA 300 ELITE Wireless - далеко не самый лучший выбор в абсолюте, но самый подходящий из того, что было в наличии в магазине. Естественно, мне надо было купить её "здесь и сейчас", потому что работа простаивала (пользоваться убогим тач-падом на HP было больно).
В мышке меня всё устраивает. Особенно то, что буквально за одно нажатие кнопки можно переключаться между ноутбуками. Эта фича оказалась крайне полезной, так что я рад, что обновил ноут + мышь комплектом.
* * *
Эти неожиданные заботы, конечно, будут иметь приятный долгосрочный эффект. Но в масштабах августа они сильно снизили мою продуктивность, и я многое не успел доделать.
[Чат в Телеграме]
Для спонсоров Нереальной+ поддержки теперь есть возможность вступить в закрытый канал в Телеграме. Для этого нужно привязать аккаунт TG к Бусти, и бот вас пригласит туда сам.
[Grim Wild]
Минус одна неприятность
В игре используется сглаживание FXAA. Это далеко не самое подходящее для меня решение, но хотя бы "меньшее из всех зол". С ним создавалась проблема: текстуры объектов при движении на большом отдалении слишком неприятно "дёргались". Эффект был особо заметен на ровных контрастных линиях (допустим, на блоках). В августе я исправил это недоразумение, и пиксели ведут себя стабильно:
Итоги месяца: август 2025
Но проблемы на этом не заканчиваются. Во время плавного зума камеры эффект повторяется, и там стабилизировать картинку не так-то просто. Единственное, что я могу сделать - это добавить в настройку пункт "выключить плавный зум камеры":
Итоги месяца: август 2025
Зачатки игрового процесса
Если вы уже несколько месяцев кричите мне через экран "ну и где же обещанный давно игровой процесс?", то не беспокойтесь: всё делается, я просто об этом не пишу из-за отсутствия интересных новостей.
К разработке игрового процесса я приступил ещё давно. Я подошёл к нему с разных сторон, в каждой из которых много своих технических заморочек. Например, я незаметно для вас занимаюсь клеточными буферами. Это важная механика, которая сразу откроет и возможность полноценной работы GPU симуляций (тепло, воздух), и продвинутой навигации (маршрутов пешек), и GPU генерации уровней и планеты. А ещё к GPU системе освещения (моя старая, которая появилась в 0.2, работает полностью на CPU) и куче игровых механик (крыши; "клетки с нанесением урона" - огонь, лава и кислота; расширение уровня прямо посреди игры (если игрок присоединяет новые чанки); ...)
Кроме того, активно продумываются и понемногу реализовываются эти системы:
• Здоровье и продвинутый урон. Здоровье может быть простым (предметы: прочность) или составным (здоровье пешек состоит из здоровья их частей тела и органов). Урон в игре поделён на разные типы (проникающий, химический, термический...), а также имеет модификаторы (например, стиль стрельбы "нелетальный"). Весь этот функционал расширяется с помощью модов.
• Tile System: кроме уже существующих в игре блоков (стен), "тайлами" будут называться ещё заборы, провода, трубы и конвейеры. То есть всё, что имеет кучу вариантов соединения с соседними клетками. Пример сложности реализации: стены соединяются только с другими стенами. А вот какие-нибудь заборы - с соседними заборами и стенами. В общем, тоже много подводных камней.
• Игровые тики: я обновляю систему так, чтобы внедрить туда вычисление GPU симуляций (это не так просто. Видеокарта производит вычисления независимо от процессора => от игрового процесса). А ещё чтобы максимально равномерно распределить нагрузку по разным кадрам (на замену "веса тика", о котором я говорил в далёкой второй серии видео).
• (в очередной раз) Переделывается алгоритм приоритета рендера (то есть порядка отрисовки объектов на сцене). В старом вскрылась не очень приятная особенность декалей:
Справа: кровь перекрывает собой стену, чего быть не должно.
Метод "Объекты по +Y клеткам гарантированно перекрывают собой всё, что стоит выше" работает правильно для всего, кроме декалей. Придётся вводить слои, чтобы всё, что находится на земле, никогда не перекрывало всё, что находится выше.
Игра уходит в космос
Краткая предыстория космоса в игре для освежения вашей памяти: когда-то давно я планировал сделать игру бесплатной и добавить космическую стадию развития как отдельное DLC. Потом я решил, что если санкции не помешают мне получать деньги со Стима, игра будет платной, и весь космический контент будет встроен в неё по умолчанию.
Нынешнее положение: идёт вторая половина 2025 года, и я занимаюсь разработкой игрового процесса. От меня требуется решить вопрос космоса здесь и сейчас, чтобы все механики оттуда были органично встроены в игру с самого начала, а не воткнуты потом как вставная челюсть.
С одной стороны, зубодробительные санкции, уничтожающие все мои перспективы разработчика игр, так и не были введены. Но с другой, всё ещё может быть впереди. Давайте я хоть раз в жизни побуду оптимистом и понадеюсь на лучшее, так что...
Космосу в базовой игре быть! Более того, космос может стать основной темой игры. Во-первых, это незанятая RimWorld'ом ниша (новое DLC никак не пересекается с моими идеями введения целой звёздной системы с разными планетами, спутниками и астероидами). Во-вторых, количество идей в этой сфере у меня зашкаливает.
Все старые идеи сохраняются, я ничего не убираю (кроме этапа развития "Средневековье"; я оставлю для него заготовки и отдам на реализацию мододелам). Просто смещаю масштаб с фокуса на одной планете.
Мне открываются для реализации самые разные игровые механики: цифровизация сознания людей (чтобы они могли "телепортироваться" по разным планетам, загружая сознание в находящиеся там робо-оболочки); деление ресурсов на физические (предметы) и цифровые (космическая валюта, "вычислительные мощности" для исследований - всё не имеет физического представления и может свободно добываться и использоваться игроком с любой точки игрового мира); использование близких к звезде планет для создания автономных дата-центров, генерирующих большие вычислительные мощности благодаря доступной солнечной энергии...
Все идеи выше я придумал буквально во время написания этого поста. И они все не требуют от меня никаких переделок существующего кода. Любое безумие, до которого сможет додуматься мой мозг - всё будет в том или ином виде реализуемо.
Визуал
В игре полноценно появились "шершавые блоки". Они будут использоваться для отрисовки стен из сырых материалов (земля, песок, камень...).
Прототип сырых блоков был показан ещё во вступлении шестой серии. Правда, тогда я просто обработал гладкие стены с помощью наложения шума в Фотошопе (и спрайт потерял свою "векторность", то есть возможность бесконечно масштабироваться без потери качества). Сейчас же всё сделано в Фигме (через эффект Texture), и в роликах я могу показывать вам даже их 8K Ultra HD версию.
Это первый в истории игры спрайт, где обводка выходит за рамки правил. Она здесь имеет переменную толщину и обрезается по форме обычного гладкого блока:
Обратите внимание на красный квадрат под необрезанным вариантом. Так как обводка не только выступает наружу, но и вдавливается внутрь, мы можем видеть неприкрытую по краям поверхность клетки.
Долгое время меня смущал тот факт, что они стыкуются неидеально. Но теперь я смирился. Во-первых, эти неточности видно только на максимальном приближении. Во-вторых, нестыковки всё равно неизбежны при прикосновении двух разных блоков - например, гладкого и шершавого.
Нестыковки текстур на стыках
* * *
Новые и обновлённые спрайты в этот раз такие:
Прошлый индустриальный пресс был слишком громоздким и вычурным (как и индустриальная печь; она следующая на очереди обновления). Бочка и стеллаж - просто декор для ролика.
А вот результат небольшого эксперимента со стилизованной обводкой, толщина которой на дне объектов больше, чем на верхушке:
В финальную игру такое не пойдёт из-за излишней замороченности для мододелов.
[Публичная деятельность]
В итогах прошлого месяца я писал про полную потерю вдохновения для создания роликов.
В августе оно всё-таки вернулось, правда, с неожиданной стороны: мне захотелось писать сценарий для девятой серии. Сопротивляться этому желанию я не стал, и, судя по всему, скоро у меня на стадии монтажа будет аж два флагманских ролика одновременно.
Прогресс восьмой серии: первые три главы уже практически готовы, но мне придётся перезаписать все футажи на новом ноутбуке в настоящем 2K разрешении. Порыв вдохновения портится только тем, что проект делается в Premiere Pro, который тормозит и лагает даже на моём новом железе.
EVE x Rive
Напоминание:
• EVE (Envision Video Editor) - это моя утилита для Unreal Engine, с помощью которой я делаю моушен-графику с помощью логики и математики.
• Rive - это инструмент для создания и анимации моушен-графики, который я использую для своих целей как замену Adobe After Effects.
Летом я внедрил UE плагин Rive'а в свой EVE, чтобы использовать его как прослойку для рендера векторной графики из Фигмы. К сожалению, впечатляющего примера работы для вас у меня пока нет. Но общий принцип работы можно посмотреть здесь.
В теории, я могу использовать этот плагин, чтобы анимировать спрайты и UI даже в GW, но данных о том, насколько эффективно это будет в моём случае, пока нет.
* * *
Теперь я имею и мощное железо, и невероятные инструменты для монтажа, границ возможностей которых я даже не могу нащупать. Получается, что самое слабое звено и самый ограничивающий фактор в цепи производства роликов - это я сам :)
Спасибо за внимание!