Пятничные факты #283 – Подготовка к запуску

Spread the love

опубликовали kovarex, Albert, V453000, Bilka, Sanqui

Тестирование (kovarex)

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

Правки загрязнения

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

Настройка поглощения загрязнения

В 0.16 одна из начальных настроек карты, относящаяся к загрязнению, называется скоростью рассеивания. Его подсказка гласит: «Контролируйте, как быстро загрязнение рассеивается естественным путем».Но обычно  никто не трогает настройку, и нам действительно пришлось копаться в коде, чтобы выяснить, что на самом деле делает опция.

Это был модификатор того, сколько загрязнения поглощается “плиткой”. И диапазон составляет от 1 до 1000. Вы не можете реально установить его ниже значения по умолчанию 1, а, например, установить его на 100, эффективно удаляет все загрязнения, так как плитки внезапно поглощают в 100 раз больше загрязнения. Поэтому мы изменили название и описание параметра на модификатор поглощения, а во всплывающей подсказке говорилось «Модификатор того, сколько загрязнения поглощается деревьями и плитками». Теперь значения варьируются от 10% до 400%, так что вы можете использовать их, чтобы сделать игру сложнее. Да, и предустановленное значение Deathworld теперь составляет 50% 🙂

Исправление хранения загрязнения спаунером

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

Все идет нормально. Но есть фундаментальная проблема с алгоритмом, который мы используем, поскольку мы случайно выяснили, посмотрев отладочные данные Спаунера рядом с нашей базой.

Как видите, Спавнеру нужно 200 загрязнений, чтобы отправить монстра в атаку, но он уже накопил более 100 тыс. загрязнения, что достаточно для следующих 500 монстров. По сути, проблема в том, что Спавнер может накапливать неограниченное количество загрязнений с гораздо большей скоростью, чем когда-либо. Таким образом, первый ряд гнезд может легко предотвратить накопление загрязнения другими гнездами, что нарушает масштабирование сложности и всю механику. Независимо от того, делаете ли вы небольшое загрязнение или сумасшедшее количество его, количество атак может быть одинаковым.

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

После этого изменения мы провели некоторое базовое тестирование, и кажется, что оно достаточно живучее для релиза, но мы могли бы настроить стандартные модификаторы загрязнения / эволюции / атаки во время стабилизации 0.17.

Кусаки застревают в своих базах

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

Чтобы решить эту проблему, мы просто добавили новое необязательное свойство в определение сущности с именем map_generator_bounding_box, которое по умолчанию равно collision_box. Его можно увеличить, чтобы ограничить размещение объекта генератором карт, чтобы пространство вокруг объекта было чистым. Он также используется, когда кусаки строят новые базы. Добавление безопасного места в 1 плитку вокруг всех спаунеров и червей вынудило базы иметь достаточно места, чтобы кусаки могли пройти через него.

В будущем мы (или кто-либо другой) могли бы использовать это свойство, чтобы ограничить плотность деревьев в лесу или подобные вещи.

Кусаки застревают на конвейерах

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

Итак, posika пошел дальше и исправил это, и теперь кусаки по-прежнему подвержены конвейерами, но это больше их не беспокоит. Как мы не заметили это как 2 года?

Ознакомительная кампания (NPE/Туториал/Demo)

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

«Основная кампания» будет добавлена в игру позже, и мы представим более подробную информацию о «Введение» и «Основные кампании» на следующей неделе.

Жидкости

Мы тестировали алгоритм, и было много за и против, но время шло, и были некоторые проблемы, которые не так просто исправить. Чтобы  вещи не сломались способами, которые мы не могли предвидеть, и чтобы не задерживать релиз дальше, мы решили разделить изменения.

Таким образом, предотвращение смешивания жидкости и оптимизация обновления жидкости находятся в 0,17, но новый алгоритм был отложен для дальнейших исследований.

Wiki план (Bilka)

С предстоящим выпуском новой экспериментальной версии, большой вопрос для вики – когда она будет обновлена до этой версии. В прошлом мы обновляли всю вики до экспериментальной версии через несколько недель после ее выпуска, но мы меняем это: мы планируем обновить вики до экспериментальной версии сразу после выпуска. Я написал несколько скриптов, чтобы ускорить этот процесс, поэтому, как только вы увидите, что релиз вышел, вы можете перейти на вики и ознакомиться с новыми рецептами и технологиями, не дожидаясь, пока кто то обновит эту информацию. Кроме того, будет создан клон с состоянием 0,16 вики, который будет доступен для чтения в вики на сайте stable.wiki.factorio.com для игроков, предпочитающих использовать стабильную версию игры.

Эскизы модов (Sanqui)

Небольшая новость для мододелов. В новом внутриигровом меню модов (FFF-272) будет показывать миниатюры для модов вместе с описанием модов. Поскольку вы должны иметь возможность взаимодействовать с установленными настройками мода также в автономном режиме, миниатюры должны быть доступны в пакете мода. Чтобы отобразить миниатюру, просто вставите thumbnail.png рядом с вашим info.json. Разрешение 144 × 144 пикселей, такое же, как и ранее на портале модов. Отныне мод портал будет учитывать только эскизы, предоставленные таким образом.

Сундуки высокого разрешения (Albert)

Принято считать, что чем меньше сущность, тем легче ее создать. Меньше пикселей = меньше работы. Ну, не обязательно. Как и у иконки, у вас очень мало места для выражения многих понятий, материала, использования, стиля и т. Д. . Некоторое время я делал наброски и 3d эскизы для сундуков, и это лучшая версия, которую я получил для всех из них:

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

Ракетная шахта высокого разрешения (V453000)

Осталось не так много графических объектов, которых мы не касались в последние несколько лет, будь то преобразование в высокое разрешение, редизайн или и то, и другое. У Ракетной шахты есть несколько специфических качеств, которые делают еее очень пугающим, и теперь пришло время столкнуться с ними.

Мы признали, что дизайн Ракетной шахты, который вы можете увидеть в 0.16, имеет различные проблемы, которые мы хотели бы решить. На первый взгляд очевидно, что он больше не вписывается в визуальный стиль Factorio и выглядит неуместно. Не только потому, что там очень темно, но и потому, что гигантский элемент мозаики 9×10 полностью заполнен в прямоугольную форму. Это в основном способствует тому, что он выглядит как прямоугольная наклейка на экране, а не как единое целое в мире.

Многие элементы старой модели были слишком блочными и искусственными для современного взгляда Factorio. Со временем мы в основном заменили все области модели новыми сетками. Альберт помог мне, создав роботы-манипуляторы и их корпуса в бетонном основании ракетной шахты которое вы можете увидеть ниже.

Когда мы начали работать над изменением дизайна шахты с высоким разрешением, первое решение, которое мы приняли, состояло в том, что теперь это будет объект 9×9, чтобы вы могли правильно вращать чертежи Это будет означать, что конструкция в верхней части исходного ракетной шахты должна была уйти, и отверстие было бы больше перемещено к центру объекта.

В ракетной шахте без ракеты используются шестнадцать текстур 8192x8192px, что позволяет нашему 1080Ti исчерпать VRAM для рендеринга. К счастью, я сделал рендеринг максимально оптимизированным с помощью сценариев Python, как всегда. Стоит отметить, что без нашей долгосрочной ориентации на автоматизацию и надлежащий рабочий процесс это могло бы стать серьезной проблемой.

Это не было бы нормально, если бы нам не нужно было что-то редактировать в коде или что-то исправлять, а так как в ракетной шахте есть непристойное количество слоев, переключение слоев и другие сумасшедшие причуды в анимации, наш любимый posila помог нам исправить все эти проблемы, хотя он, возможно, упомянул несколько неприятных слов самому себе, и его сообщения о коммите содержали такие слова, как «черная магия», не раз.

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

0.17 на пороге

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

Как всегда, дайте нам знать, что вы думаете на нашем форуме.


Комментарии: