Итоги месяца: май 2025
🕑 Added 2025-06-01 11:41:55 +0000 UTCВ течение мая я делал ровно то, что обещал вам до этого: отдыхал на праздниках, занимался восьмой серией видео и переосмыслял все возможные идеи для ГВ.
Формат сегодняшнего поста будет не совсем обычным. Да, это "итоги месяца", но осязаемых результатов у меня на руках нет. Всё, что происходило с проектом - это мыслительная деятельность, и пост будет посвящён в первую очередь ей.
[GRIM WILD]
Итоги мозгоштурма
Игра наконец-то выбралась из стадии реализации фундамента, и настала пора решать, что же делать дальше. Главная задача - как можно быстрее насытить игру контентом и довести проект до состояния тестирования со спонсорами. В теории, его можно начать и сейчас, но вам там просто нечего делать. Совсем. Все самые интересные фишки пока что недоступны игрокам, и с ними никак нельзя взаимодействовать.
Стоит сказать, что я совсем не жалею, что потратил на фундамент очень много времени. Отрисовка, виртуальные ассеты, компоненты и логическая стыковка, моды и скрипты - это всё работа из категории "Must have". Она важна и обязательна. А вот про элементы геймплея такого уже не скажешь. Они могут время от времени меняться, адаптироваться или даже удаляться - как раз такое произошло в этом мае с динамическими жидкостями.
Новые планы такие: все лужи на уровне (вода, грязная вода, лава...) становятся статичными (то есть их положение и количество на клетках фиксировано), а остальные жидкости (пиво, кровь, молоко, нефть, жидкое топливо...) существуют только в формате предметов ("ведро молока") или значений в трубопроводе ("1000л нефти в резервуаре").
Почему я принял такое непростое и непопулярное решение - давайте разберёмся.
Доводы ЗА динамические жидкости
• Симуляция воды - это инструмент, применение которого ограничено лишь фантазией игроков. Можно создавать с их помощью ловушки, механизмы и изысканные способы разделаться с врагами и их поселениями.
• Жидкости - ценный и ограниченный ресурс. Бесконечно качать насосом лужу 2x2 клетки было бы нельзя.
• Изменение условий на уровнях и планетах: приливы и отливы; засухи и потопы; подъем мирового океана из-за потепления.
Доводы ПРОТИВ динамических жидкостей
С замерзанием жидкостей то же самое. Хоть я и не могу гарантировать, что оно будет реализовано, но сейчас это хотя бы стало технически возможно.
• Будет решена проблема с мостами: на какой мировой высоте раньше строились бы мосты? +1 метр от текущей поверхности воды? А если происходит прилив, и их снова затапливает? Или игрок должен был сам выбирать их мировую высоту? Это было бы странно.
Что будет теперь?
Статичный вариант реализации жидкостей предполагает это:
• Качать насосами жидкости можно бесконечно (как в Factorio), но чем меньше лужа по объёму, тем меньше генерируется напор. Получается, что для промышленных объемов добычи игроку всё равно будет нужно искать большие водоёмы.
• Излишки воды из цистерн появляются на уровне в формате предметов (например, вы ломаете цистерну с 1000л воды, и вам в таком случае просто выпадает 100 полных вёдер воды).
• Мосты всегда строятся на мировой высоте, равной поверхности жидкости. Можно строить и причалы, и даже плавучие дома - потопа не будет.
• Замерзание воды можно сделать через автоматическое появление "мостов" (то есть поверхностей из материала "лёд" над уровнем воды) при низкой температуре.
• Дождь ничего и никого не затапливает. Собирать его можно с помощью бочек или водостоков.
P.S Ещё раз напоминаю, что симуляции воздуха и температуры в игре остаются. Они, в отличие от жидкостей, идеально вписались и в геймплейную, и в техническую часть игры.
P.P.S весь опыт, накопленный при реализации GPU симуляций, оказался очень полезен. Динамическая вода всё ещё выглядит для меня привлекательно. Просто не для ГВ, а для какого-нибудь другого 2D проекта, желательно с видом сбоку.
Многоярусных уровней тоже не будет
... И вы об этом уже знали, потому что их возвращения после отмены "полностью открытого мира" я не анонсировал. Тем не менее, всё это время они находились в неопределённом состоянии, пока в том же самом мае 2025 я не вычеркнул их из проекта навсегда.
Ярусы использовались бы для этого:
• Запертые подземные пространства, где кислород ограничен, а излишкам температуры некуда уходить. Правда, эти идеи можно реализовать и без ярусов. Жить можно просто в биоме "пещера", а бункеры создавать отдельными уровнями.
• Свобода действий игрока (подкопы под базы противников, ловушки для налётчиков), но это только создаёт дыры в логике.
• Чтобы "проект не был похож на RimWorld", что теперь меня не волнует.
• Жилы разных полезных ископаемых прямо под ногами (чем глубже, тем ценнее).
• Подземные воды. Которые после отказа от симуляции жидкостей оказались куда менее полезны.
Уход от ярусов означает это:
• Я не буду тратить свои силы на сомнительную механику, которая нужна далеко не всем.
• GPU симуляции: не нужно продумывать логику переходов тепла и воздуха между ярусами.
• Трубопровод и вентиляция: не нужно внедрять гравитацию, чтобы реалистично двигать воду и газы вниз/вверх.
• 2D геймплей в 2D игре, всё просто и логично.
• Отсутствие многоярусных построек (буры, колодцы и всё прочее, что раньше имело бы подземную часть).
• Подземные ресурсы добываются прямо с поверхности: буры для руды и колодцы для воды.
• Нет лишней нагрузки на ПК игроков от клеток подземных уровней (пользы от них мало, а ресурсов потребляется столько же, как и у надземных).
"А про что тогда игра? Оттуда убрали все фишки!"
Я считаю, что все эти изменения пойдут проекту на пользу, и он не потеряет ни капли привлекательности. Эмоции игроков - это моё главное стремление, и все мои идеи строятся вокруг их генерации.
Эмоциональное ядро проекта - развитие базы в агрессивной среде - остаётся. Остаются стадии развития, ветвистые события, насыщенная жизнью планета, сложная генерация мировых структур и открытый космос. И все технические новшества тоже. И эмоции, которые от игры должен получать игрок. Всё остаётся на своих местах, я просто выбрасываю самые неудачные и провальные идеи. Если где-то веселье убавляется, то оно обязательно прибавится в другом месте.
Проблемы Lua
Ещё одна тема для разговора - это скрипты на Lua. С ними всё получается не так радужно, как я себе раньше представлял.
Уточнение: здесь речь идёт только про скрипты для модов. Внутриигровые скрипты (например, в "командном блоке") устроены намного проще.
В реальности выходит так, что функционал для Lua скриптов всё равно сложный, и там есть много подводных камней.
Финальный облик скриптов складывается из трёх факторов:
1) Логика, связанная с Unreal Engine. Для написания сложных модов нужно понимать и паттерны движка, и жизненный цикл объектов, и логику сборки мусора.
2) Логика, связанная с Grim Wild. Как работает логическая стыковка и чем отличается статическая от общей или слабая от сильной. Статическая, например, не позволяет редактировать владельцу пристыкованный объект (другими словами, нельзя взять mutable объект, только const), и это важно.
3) Логика, связанная с Lua. Никакого const или static там нет, и в попытках надстроить костыли я могу всё только испортить.
В итоге мне представляется такая картина: мододел смотрит в документацию Луа и видит минное поле (шаг в сторону - получаешь ошибку и понимание того, что вся сделанная ранее работа неправильная). Каждый метод имеет кучу сносок о том, что делать не стоит и что в каком случае надо использовать взамен. Когда он начинает писать код, ему в лог влетает куча предупреждений и ошибок по типу "Индивидуальная стыковка доступна только для объектов из одного и того же мира". Хоть для меня эта строка имеет много смысла, но для вас - никакого. Как и для мододела, который после этого находится в замешательстве.
Вот и получается, что сделать круто всё - и интересный контент базовой игры, и высокую производительность, и широкий простор для модов - нельзя. Придётся уходить в одну из этих сторон, и если игра всё-таки идёт к становлению платной, то для меня будет важнее то, что именно я предлагаю заплатившим за мой продукт игрокам. То есть базовый контент и производительность.
Это уже не просто "платформа для модов", как я говорил в одном ролике. Моя ответственность после возможного* ухода от Free to Play сильно возрастает, я уже не могу скинуть половину работы на мододелов.
*Будет ли игра платной, я ничего вам до сих пор сказать не могу. Это зависит не от меня, а от будущих санкций.
Тем не менее, не всё так плохо. Можно собирать свои ассеты из готовых компонентов через окно Asset Editor. Да, сделать из GW свою MMORPG не получится, но 80% потребностей мододелов всё-таки будут закрыты. Я считаю такую цель впечатляющей, учитывая нулевую модо-ориентированность игр на Unreal Engine.
[ПУБЛИЧНАЯ ДЕЯТЕЛЬНОСТЬ]
Старые серии строились по такой схеме: я выкидывал на зрителей какую-то тему и, не сильно вдаваясь в детали, переходил к следующей. Я боялся, что от излишних подробностей людям станет скучно, и они выключат видео.
Сейчас мне стало плевать на это. Ролик вряд ли привлечёт новую аудиторию, так что я делаю его "для своих". Так, как мне самому было бы интересно его посмотреть от лица зрителя. Без рваных предложений и огрызков обширных тем.
Текущее состояние восьмой серии: сценарий уже готов (но местами ещё полируется); озвучка постепенно записывается; сцены из игры и в Envision Video Editor уже создаются; музыка на фон подобрана (что является каждый раз очень сложной задачей - большинство мелодий без авторского права, доступные в интернете бесплатно - это полный шлак).
Спасибо за внимание!
Comments
Rc2F6
<div ><div><span class="text">Rc2F6, течение это общая текстура воды которая просто изменяет координаты UV. Там можно и пошаманить с шейдером что бы было красиво, но это уже на вкус и цвет. Или просто стрелочки при включении информационного интерфейса типа температура, газы и показывает стрелочками направление воды. Всё что попадает в воду, либо тонет, либо перемещается по стрелочкам. Если утонуло и надо достать, тогда либо осушать это место строя дамбу, либо удочка и с маленьким шансом что выловят, или костюм водолазный или навык плаванья.</span></div><div></div></div>
Rc2F6
<div ><div><span class="text">Почему бы не сделать воду как в Dwarf Fortress. Заполнение одной ячейки 7 уровней. Только цифры и ни какой симуляции. до трёх можно ходить, больше трёх нужин навык плаванья или тонут. Тут даже не нужно смешивать разные жидкости, все остальные жидкости это либо грязная вода, либо спрайт лужи которую можно отчистить и из-за которой разносится грязь. Лава так же делается, лава + вода = камень. А этажей 10 было бы достаточно, всё что выше 5 этажей над землёй это небо и горы как в Римке. Всё что ниже 5 этажей под землёй это бесконечная лава или обсидиан который ни чем не разрушить, так же войды, типа пустоты наступая на которые просто погибаешь, типа падая в пустоту, все шмотки удаляются как и в лаве или когда обвал. По сути без фанатизма и реализуемо.</span></div><div></div></div>
dmitrium12
<div ><div><span class="text">ничего страшного, что ты ушёл от free to play, я даже рад этому. <br>и то что ты отказался от воды я понимаю, очень сложная механика.<br>за перепады высот конечно обидно, но ничего не поделаешь<br><br>рад что ты всё?е ещё продолжаешь разработку </span></div>

