Пятничные факты #301 – Место крушения: Начальное состояние

Поделиться

опубликовали Ernestas, V453000, Albert, Rseding

Место крушения: Начальное состояние Ernestas, V453000, Albert

В течение многих недель отдел GFX был сосредоточен на подготовке замен для графики кампании Место крушения Тема, как обычно, не так проста, потому что нам сначала нужно было решить основную концепцию Места крушения.

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

Вот подтверждение концепции внешнего вида:

Концепция заключается в том, что большой (средний) космический корабль развалился на части при падении и потерял много компонентов, которые игрок, во время введения, будет ремонтировать и использовать для своей собственной выгоды.

Внешний вид остатков космического корабля немного основан на дизайне научной фантастики 60-х / 70-х годов. К счастью, мы можем сохранить внешний вид Factorio из-за аварии, которая позволяет нам разрушить и загрязнить машины, показывая множество внутренних механических деталей.

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

Для лаборатории мы сохраняем форму купола и балки внутри, чтобы поддерживать соответствие с обычной лабораторией. Так медленно игрок привыкает к значению фигур.

Генератор похож на подстанцию – более или менее – подключаемую как столб, но он также производит электричество. Иногда нам действительно приходится изобретать.

Это работает как сборочная машина. Дизайн больше основан на (пока не показанном) изменении конструкции сборочных машин, а не на реальных «классических».

Эти цилиндры похожи на сундуки. Мы решили сделать их цилиндрическими вместо коробки для этой разницы в технологическом уровне, о котором мы говорим. Игрок узнает их по форме, цвету, а также на них всегда напечатан номер. Вы действительно не хотите знать значение чисел.

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

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

Моды делают сумасшедшие вещи Rseding

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

На прошлой неделе я получил сообщение об ошибке, что игра использовала большой объем памяти и занимала слишком много времени для выхода. После прочтения отчета об ошибке у меня появились теории о том, почему это может происходить, но сначала мне нужно было воспроизвести его. Несколько неудачных попыток позже я получил правильный набор модов и настроек модов, чтобы это произошло. К моему удивлению (ну, не совсем – сейчас такое случается почти каждый раз) – это было не то, что я думал.

Спрайты.
Не вид видео-текстуры, а класс внутренней оболочки, который мы используем для хранения информации о видео-текстуре. Игра создавала безумное количество из-за того, что делал мод. В частности: мод создавал множество вариаций каждого кусаки, плеваки, червя, гнезда кусаки и гнезда плеваки. Обычно это не проблема – игра может сделать это легко. Проблема возникла из-за того, как работают черви. Черви имеют несколько направлений с несколькими анимациями для каждого направления. Конечным результатом является то, что каждый базовый игровой червь создает 7668 спрайтов. … “Это всего 7668 спрайтов на червя, их не так много в базовой игре, так что все должно быть в порядке”. В базовой игре 4 червя: маленький, средний, большой, бегемот. Этот мод заставлял игру сделать 3020.

Базовая игра:

  • 188’056 спрайтов в главном меню
  • 1,281 секунды от запуска до главного меню
  • 245 МБ на холостом ходу в главном меню
  • 0,1 секунды до выхода

Моды:

  • 41’071’478 спрайтов в главном меню
  • 47,395 секунд от запуска до главного меню
  • 15’791 МБ на холостом ходу в главном меню
  • 47,5 секунд до выхода

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

Результат:

  • 23’681’677 спрайтов в главном меню
  • 37,444 секунды от запуска до главного меню
  • 5’484 МБ на холостом ходу в главном меню
  • 2,9 секунды до выхода

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

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


Поделиться

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