Привет всем спонсорам!
В течение мая я делал ровно то, что обещал вам до этого: отдыхал на праздниках, занимался восьмой серией видео и переосмыслял все возможные идеи для ГВ.
Формат сегодняшнего поста будет не совсем обычным. Да, это "итоги месяца", но осязаемых результатов у меня на руках нет. Всё, что происходило с проектом - это мыслительная деятельность, и пост будет посвящён в первую очередь ей.
[GRIM WILD]
Итоги мозгоштурма
Игра наконец-то выбралась из стадии реализации фундамента, и настала пора решать, что же делать дальше. Главная задача - как можно быстрее насытить игру контентом и довести проект до состояния тестирования со спонсорами. В теории, его можно начать и сейчас, но вам там просто нечего делать. Совсем. Все самые интересные фишки пока что недоступны игрокам, и с ними никак нельзя взаимодействовать.
Стоит сказать, что я совсем не жалею, что потратил на фундамент очень много времени. Отрисовка, виртуальные ассеты, компоненты и логическая стыковка, моды и скрипты - это всё работа из категории "Must have". Она важна и обязательна. А вот про элементы геймплея такого уже не скажешь. Они могут время от времени меняться, адаптироваться или даже удаляться - как раз такое произошло в этом мае с динамическими жидкостями.
Уход от симуляции воды
Итогом мозгоштурма стало осознание того, что динамическую воду из игры придётся убрать (но симуляции тепла и воздуха всё-таки останутся).
Новые планы такие: все лужи на уровне (вода, грязная вода, лава...) становятся статичными (то есть их положение и количество на клетках фиксировано), а остальные жидкости (пиво, кровь, молоко, нефть, жидкое топливо...) существуют только в формате предметов ("ведро молока") или значений в трубопроводе ("1000л нефти в резервуаре").
Почему я принял такое непростое и непопулярное решение - давайте разберёмся.
Доводы ЗА динамические жидкости
• Симуляция воды - это инструмент, применение которого ограничено лишь фантазией игроков. Можно создавать с их помощью ловушки, механизмы и изысканные способы разделаться с врагами и их поселениями.
• Жидкости - ценный и ограниченный ресурс. Бесконечно качать насосом лужу 2x2 клетки было бы нельзя.
• Изменение условий на уровнях и планетах: приливы и отливы; засухи и потопы; подъем мирового океана из-за потепления.
Мелочи:
• Течение воды двигает лежащие там объекты
• Есть возможность реализовать механику подводных лодок после релиза игры
Доводы ПРОТИВ динамических жидкостей
Самое очевидное - это отсутствие гетерогенных симуляций (то есть тех, где есть много жидкостей, а не одна вода). Их я сделать просто не смог, мне не хватило навыков и желания. Получается, динамической могла бы быть только вода, а всё остальное было бы только предметом. А как тогда делать лаву? А грязную воду на болоте?
В заметках о GPU симуляциях сейчас написано 4200 слов (это как 3 стандартных поста "Итогов месяца"). Сложной и запутанной информации там так много, что я даже не хочу к ней прикасаться.
В 2025 году вода - не такая уж важная часть игрового процесса. Она нужна разве что для полива растений и для некоторых технологических процессов. Все остальные идеи (например, жажда у людей или затопление построек) были по разным причинам за эти годы выброшены. Отсюда следует, что эта второстепенная механика не должна быть слишком продвинутой и уж тем более не должна отнимать у меня много времени.
Что мы получаем после отказа от симуляции воды
• Перепады высот на уровне оказываются не нужны. Не будет затопления базы после ливня в случае постройки в низине. Не будет нужды в механике терраформирования и изменения мировой высоты клеток.
• Из игры не будут убраны "сложные лужи". Дело в том, что реки в симуляции выглядели бы ужасно: вода там должна была не просто стоять как в озере или океане, а именно течь: появляться, протекать до границы уровня и уничтожаться. Сделать это красиво мне не получалось.
Ещё одна спорная ситуация была с лавой. Она источает свет и тепло, а ещё наносит урон всему, что в неё попадет. Такая сложная логика в динамическом исполнении создавала бы много лишней нагрузки на пустом месте.
С замерзанием жидкостей то же самое. Хоть я и не могу гарантировать, что оно будет реализовано, но сейчас это хотя бы стало технически возможно.
• Будет решена проблема с мостами: на какой мировой высоте раньше строились бы мосты? +1 метр от текущей поверхности воды? А если происходит прилив, и их снова затапливает? Или игрок должен был сам выбирать их мировую высоту? Это было бы странно.
Что будет теперь?
Статичный вариант реализации жидкостей предполагает это:
• Качать насосами жидкости можно бесконечно (как в Factorio), но чем меньше лужа по объёму, тем меньше генерируется напор. Получается, что для промышленных объемов добычи игроку всё равно будет нужно искать большие водоёмы.
• Излишки воды из цистерн появляются на уровне в формате предметов (например, вы ломаете цистерну с 1000л воды, и вам в таком случае просто выпадает 100 полных вёдер воды).
• В болоте вода всегда грязная. В радиоактивной пустоши - всегда токсичная. Игрок должен её собирать, чистить и фильтровать.
• Мосты всегда строятся на мировой высоте, равной поверхности жидкости. Можно строить и причалы, и даже плавучие дома - потопа не будет.
• Замерзание воды можно сделать через автоматическое появление "мостов" (то есть поверхностей из материала "лёд" над уровнем воды) при низкой температуре.
• Дождь ничего и никого не затапливает. Собирать его можно с помощью бочек или водостоков.
***
Это решение мне далось непросто. Я немного чувствую себя обманщиком, который сначала показал крутую фишку в ролике, собрал на этом спонсоров, а потом сказал "сорян, такого не будет". Да, ситуация неприятная, но я ничего другого не могу поделать. Идея динамических жидкостей теперь не входит в моё видение проекта.
P.S Ещё раз напоминаю, что симуляции воздуха и температуры в игре остаются. Они, в отличие от жидкостей, идеально вписались и в геймплейную, и в техническую часть игры.
P.P.S весь опыт, накопленный при реализации GPU симуляций, оказался очень полезен. Динамическая вода всё ещё выглядит для меня привлекательно. Просто не для ГВ, а для какого-нибудь другого 2D проекта, желательно с видом сбоку.
Многоярусных уровней тоже не будет
... И вы об этом уже знали, потому что их возвращения после отмены "полностью открытого мира" я не анонсировал. Тем не менее, всё это время они находились в неопределённом состоянии, пока в том же самом мае 2025 я не вычеркнул их из проекта навсегда.
Ярусы использовались бы для этого:
• Запертые подземные пространства, где кислород ограничен, а излишкам температуры некуда уходить. Правда, эти идеи можно реализовать и без ярусов. Жить можно просто в биоме "пещера", а бункеры создавать отдельными уровнями.
• Свобода действий игрока (подкопы под базы противников, ловушки для налётчиков), но это только создаёт дыры в логике.
• Чтобы "проект не был похож на RimWorld", что теперь меня не волнует.
• Жилы разных полезных ископаемых прямо под ногами (чем глубже, тем ценнее).
• Подземные воды. Которые после отказа от симуляции жидкостей оказались куда менее полезны.
Уход от ярусов означает это:
• Я не буду тратить свои силы на сомнительную механику, которая нужна далеко не всем.
• GPU симуляции: не нужно продумывать логику переходов тепла и воздуха между ярусами.
• Трубопровод и вентиляция: не нужно внедрять гравитацию, чтобы реалистично двигать воду и газы вниз/вверх.
• 2D геймплей в 2D игре, всё просто и логично.
• Отсутствие многоярусных построек (буры, колодцы и всё прочее, что раньше имело бы подземную часть).
• Подземные ресурсы добываются прямо с поверхности: буры для руды и колодцы для воды.
• Нет лишней нагрузки на ИИ (врагов и колонистов). Не надо просчитывать сложное многоярусное поведение и навигацию.
• Нет лишней нагрузки на ПК игроков от клеток подземных уровней (пользы от них мало, а ресурсов потребляется столько же, как и у надземных).
"А про что тогда игра? Оттуда убрали все фишки!"
Я считаю, что все эти изменения пойдут проекту на пользу, и он не потеряет ни капли привлекательности. Эмоции игроков - это моё главное стремление, и все мои идеи строятся вокруг их генерации.
Эмоциональное ядро проекта - развитие базы в агрессивной среде - остаётся. Остаются стадии развития, ветвистые события, насыщенная жизнью планета, сложная генерация мировых структур и открытый космос. И все технические новшества тоже. И эмоции, которые от игры должен получать игрок. Всё остаётся на своих местах, я просто выбрасываю самые неудачные и провальные идеи. Если где-то веселье убавляется, то оно обязательно прибавится в другом месте.
Проблемы Lua
Ещё одна тема для разговора - это скрипты на Lua. С ними всё получается не так радужно, как я себе раньше представлял.
Уточнение: здесь речь идёт только про скрипты для модов. Внутриигровые скрипты (например, в "командном блоке") устроены намного проще.
Что я хотел сделать: простой и понятный API, который скрывает от мододелов все сложности за простыми и интуитивно понятными функциями.
В реальности выходит так, что функционал для Lua скриптов всё равно сложный, и там есть много подводных камней.
Финальный облик скриптов складывается из трёх факторов:
1) Логика, связанная с Unreal Engine. Для написания сложных модов нужно понимать и паттерны движка, и жизненный цикл объектов, и логику сборки мусора.
2) Логика, связанная с Grim Wild. Как работает логическая стыковка и чем отличается статическая от общей или слабая от сильной. Статическая, например, не позволяет редактировать владельцу пристыкованный объект (другими словами, нельзя взять mutable объект, только const), и это важно.
3) Логика, связанная с Lua. Никакого const или static там нет, и в попытках надстроить костыли я могу всё только испортить.
В итоге мне представляется такая картина: мододел смотрит в документацию Луа и видит минное поле (шаг в сторону - получаешь ошибку и понимание того, что вся сделанная ранее работа неправильная). Каждый метод имеет кучу сносок о том, что делать не стоит и что в каком случае надо использовать взамен. Когда он начинает писать код, ему в лог влетает куча предупреждений и ошибок по типу "Индивидуальная стыковка доступна только для объектов из одного и того же мира". Хоть для меня эта строка имеет много смысла, но для вас - никакого. Как и для мододела, который после этого находится в замешательстве.
Вот и получается, что сделать круто всё - и интересный контент базовой игры, и высокую производительность, и широкий простор для модов - нельзя. Придётся уходить в одну из этих сторон, и если игра всё-таки идёт к становлению платной, то для меня будет важнее то, что именно я предлагаю заплатившим за мой продукт игрокам. То есть базовый контент и производительность.
Это уже не просто "платформа для модов", как я говорил в одном ролике. Моя ответственность после возможного* ухода от Free to Play сильно возрастает, я уже не могу скинуть половину работы на мододелов.
*Будет ли игра платной, я ничего вам до сих пор сказать не могу. Это зависит не от меня, а от будущих санкций.
Тем не менее, не всё так плохо. Можно собирать свои ассеты из готовых компонентов через окно Asset Editor. Да, сделать из GW свою MMORPG не получится, но 80% потребностей мододелов всё-таки будут закрыты. Я считаю такую цель впечатляющей, учитывая нулевую модо-ориентированность игр на Unreal Engine.
[ПУБЛИЧНАЯ ДЕЯТЕЛЬНОСТЬ]
Это звучит странно, но сценарий восьмой серии готовился целый год. Я начал писать его весной 2024, и с тех пор время от времени дополнял, менял и несколько раз переписывал заново. Вот и в мае, когда я начал писать чистовой вариант (причём тот, который с минимальными правками будет переведён на английский), мне было проще выбросить всё старое и начать с нуля.
Старые серии строились по такой схеме: я выкидывал на зрителей какую-то тему и, не сильно вдаваясь в детали, переходил к следующей. Я боялся, что от излишних подробностей людям станет скучно, и они выключат видео.
Сейчас мне стало плевать на это. Ролик вряд ли привлечёт новую аудиторию, так что я делаю его "для своих". Так, как мне самому было бы интересно его посмотреть от лица зрителя. Без рваных предложений и огрызков обширных тем.
Текущее состояние восьмой серии: сценарий уже готов (но местами ещё полируется); озвучка постепенно записывается; сцены из игры и в Envision Video Editor уже создаются; музыка на фон подобрана (что является каждый раз очень сложной задачей - большинство мелодий без авторского права, доступные в интернете бесплатно - это полный шлак).
Превью для превью, которое кидаю вам на ревью и ставлю на превью (этого поста). Задний фон будет заменён с творения ИИ на сцену из ГВ. Какими бы простыми мои обложки не казались обычному зрителю, они всегда создаются из большого набора идей и вариантов.
[ПЛАНЫ НА ИЮНЬ]
Всё просто: делаю дальше ролик. Озвучиваю, монтирую. Смогу ли я успеть доделать его за месяц? Честно, не знаю, монтаж всегда занимает неопределённое количество времени, поэтому рискованных обещаний я вам давать не буду.
Спасибо за внимание!