Дневник разработчиков Стеллариса #269 - Рытье могилы и Галактические вопросы

Дневник разработчиков Стеллариса #269 - Рытье могилы и Галактические вопросы
Опубликовано 29 Сен, 2022 0 likes

написано Жизнерадостным готом и Калигулой Цезархелло там!

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_14.png

Я CheerfulGoth, дизайнер контента на Stellaris, и сегодня я рад поделиться процессом разработки могильного холма Тиянки, который был добавлен в патч Fornax!

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_4.jpg

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

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_8.png

Кладбище Титаников представляло собой комбинацию двух таких задач: проектирование уникальной солнечной системы с новыми патрулирующими кораблями и создание площадки arc.

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_13.png

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

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_9.png

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

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_7.png

У нас уже есть система, в которой рождаются тиянки, так почему бы не показать, где они умирают?

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_15.png

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

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_0.png

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

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_10.png

После утверждения основной концепции пришло время выстраивать цепочку мероприятий.

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_2.jpg

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

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_16.png

Однако я знал, что некоторые игроки никогда не причинили бы вреда Тиянке, и я хотел, чтобы контент был доступен для разных стилей игры.

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_11.png

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

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_3.jpg

Прототипная коммуникация между различными отделами имеет решающее значение при работе в команде.

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_18.png

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

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_19.png

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

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_5.jpg

Однако мои первые попытки привели к... Непреднамеренные результаты: Пространство в Стелларисе на самом деле плоское: все планеты и космические корабли привязаны к невидимой двумерной плоскости.

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_12.png

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

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_17.png

Чтобы выяснить, как обернуть планету трупами, потребовалось немного экспериментов, но в конце концов мы добрались до цели! Реализация После внедрения в игру контент проверяется QA на наличие ошибок.

stellaris-dev-diary-269-digging-a-grave-and-galactic-mattersstellaris_1.png

Во время тестирования мы заметили любопытную проблему: кладбище выглядело нормально, когда вы столкнулись с ним в первый раз: Но если вы закрыли системное представление и открыли его снова. .

. . . .

Он раздулся в мясистое чудовище, размеры которого соперничали с Солнцем!

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

Как упоминалось выше, мы обычно используем смещение для временного VFX, поэтому эта ошибка никогда не была замечена с момента выпуска!

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

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

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

Вот удобное краткое описание того, как смещать окружающие объекты. При создании объекта события убедитесь, что вы используете use_3d_location = yet, чтобы иметь возможность настроить его положение.

Команда Принимает как фиксированные значения, так и минимальное/ максимальное количество (полезно для случайного создания нескольких объектов в блоке while).

 

= { = { тип = "small_dead_tiyanki_object" use_3d_location = да entity_offset = { min = -10 max = 10 } местоположение = это } }} Пример результирующих объектов, созданных со случайным смещением по горизонтали.

Commandentity_offset_height Устанавливает объект на вертикальной оси (вверх или вниз).

Пример принимает как фиксированные значения, так и минимальное / максимальное количество (полезно для случайного создания нескольких объектов в блоке while). создать_амбиент_объект

= { в то время как = { количество = 10 create_ambient_object = { тип = "small_dead_tiyanki_object" use_3d_location =

да entity_offset_height = { = { min = -10 max = 10 } местоположение = это } }}Пример результирующих объектов, созданных со случайным смещением по вертикали.

Commandentity_offset_angle Смещает угол, под которым объект создается по отношению к его точке создания.

Подумайте о часах: базовая сущность является стержнем, в то время как новые объекты создаются вокруг нее.

Пример принимает как фиксированные значения, так и минимальное / максимальное количество (полезно для случайного создания нескольких объектов в блоке while). создать_амбиент_объект

= { в то время как = { количество = 10 create_ambient_object = { тип = "small_dead_tiyanki_object" use_3d_location

= да entity_offset_angle = { min = 0 max = 360 } местоположение = это } }} Объекты, созданные под случайными углами.

Commandentity_face_object Автоматически поворачивает объект в направлении цели. Область применения: планета, флот, звезда, это.

Examplecreate_ambient_object = { тип = "small_dead_tiyanki_object" use_3d_location = да entity_face_object = звезда}Пример результата Левая группа установлена лицом к звезде (не на экране).

Вторая группа настроена столкнуться с этим (планета, с которой они появились). Commandbase_angle_towards Определяет угол объекта по умолчанию по отношению к базовому объекту.

Область применения: планета, флот, звезда, это. Examplecreate_ambient_object = { тип = "small_dead_tiyanki_object" use_3d_location = да base_angle_towards

= этот}Пример Результат: обе тиянки имеют угол наклона 0°.

Один из них имеет значение base_angle_towards = звезда и выровнен по своей "грани", как планеты.

Второй установлен в base_angle_towards = this, где это планета с углом 180°. Ни один тиянкис не пострадал при создании этого дневника разработчиков. ------- Но

это еще не все! Ибо мне, Калигуле Цезарю, есть чем похвастаться, а именно некоторыми экспериментами с формами галактик.

Мы не вносили никаких изменений в доступные формы галактик для… Я думаю, с момента выпуска, если я не ошибаюсь.

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

Теперь вы можете определить новую галактику в скрипте и ввести в нее параметры, и она будет доступна для выбора на экране генерации галактики.

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

Теперь он также не определяет свое поведение, основываясь на том, как называется форма галактики.

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

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

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

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

Например, мы могли бы сделать поворот на спиральной галактике с двумя рукавами, которая имеет очень толстые, слегка извилистые рукава, напоминающие галактику-стержень: Фото: NASA и STScI

Да, эти две половины соединены одной гиперпространственной кольцевой галактикой, а спиральная галактика может быть объединена в галактику “колесо обозрения”: Фото: NASA, ESA, CSA, STScI и производственная команда Webb ERO В качестве альтернативы, мы могли бы опустить 4-рычажную спираль и создать нечто, что мы назвали “ежиком”: Наконец, в приступе глупости я также добавил “звездный взрыв”, который представляет собой форму, которая на самом деле невозможна в реальности, но может создать интересный игровой процесс: Еще одна вещь с формами галактик, которые мы немного рассмотрели, связаны статические галактики.

Это система, которую моддеры используют для создания определенной предустановленной галактики, например, определенных модов total conversion.

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

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

В любом случае, мне, вероятно, не стоит говорить об этом, поскольку код еще даже не утвержден, но я постарался объединить как можно больше кода random galaxy и static galaxy, решив довольно много проблем с последним и, надеюсь, сделав его более надежным в будущем.

(Также, по подсказке моддера, я добавил возможность указывать "эффект = { }" в записи конкретной системы в статической галактике.

И теперь вы должны иметь возможность создавать несколько статических карт галактик, а не ограничиваться одной).

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

(Не могу обещать, что это обязательно будет в следующем патче).

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

оставьте ответ

Ваш электронный адрес не будет опубликован.

Смотрите также в категории Симуляторы