Пятничные факты #297 – Новые иконки ресурсов

Поделиться

опубликовали Twinsen, v453000

Манипуляторы теперь умнее Twinsen

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

Манипулятор двигается, а затем берет предмет, если текущая ориентация руки равна желаемой ориентации руки. Из-за некоторой цепочки вычислений, связанных с вращением, некоторая точность была потеряна, и проверка на равенство провалилась бы на 1 такт, что задержало бы прием элемента на 1 такт в некоторых поворотах манипулятора. Поэтому я исправил это, закончив движение манипулятора, если оно достаточно близко. Теперь манипуляторы должны быть немного быстрее в некоторых поворотах, плюс все вращения снова должны быть симметричными и идентичными.

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

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

Мы выпустили изменения в четверг. Что-то странное было быстро обнаружено после релиза …

Из стрима Nefrums 

Как заметил кто-то из Twitch чата: «Манипуляторы теперь такие быстрые, что им даже наплевать на сторону конвейера». Помните, что я исправил проблему с вращением, закончив движение манипулятора, если оно достаточно близко. Что ж, в конечном итоге произошло то, что теперь манипулятор остановится на 0,0001 градуса ниже идеальной вертикали. Это было, конечно, ближе к другой полосе, поэтому предмет можно было бы уронить туда. Ранее он всегда отбрасывался идеально вертикально, и алгоритм выбора полосы движения выбирал правильную полосу. Исправление было легким, и оно, вероятно, выйдет к тому времени, как вы это прочтете.

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

Новые иконки ресурсов v453000

В FFF-179 мы представили новую графику ресурсов для Factorio 0.15. Когда графика была закончена, мы попытались вырезать из нее кусочки и скомпоновать их в новые значки элементов, но результаты оказались не лучше, чем у нас, и нам нужно было сделать гораздо больше вещей за 0,15, поэтому мы сохранили значки ресурсов как они были в настоящее время.

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

Как упоминалось в FFF-179, чтобы сэкономить время при создании графики ресурсов, мы использовали различные методы рандомизации, чтобы легко получить новый пакет повторно рандомизированных частей ресурсов. Этот метод имеет один большой недостаток для значков – его очень сложно просматривать и контролировать в Blender.

Однако случайная генерация позволяет нам очень быстро генерировать множество случайных частей ресурсов …

… и объединить их в Photoshop в иконки с идеальным контролем над каждым пикселем.

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

Была еще одна вещь, касающаяся значков ресурсов, которую мы пытались сделать для 0,15, но у нас не было достаточно времени – ресурсы получали бы случайные варианты значков при рисовании на конвейерах

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

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

Новые иконки еще не готовы, но мы надеемся, что они появятся для стабильной версии 0.17.

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


Поделиться

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