на главную
об игре

Дневник разработчиков # 31 Моддинг (создание аномалий)

Приветствую, земляне. Мое имя может быть незнакомо некоторым читателям дневников. Я уже некоторое время работаю над «Стелларисом» и отвечаю за написание кодаи дизайн контента, пока небезызвестный Goosecreature возится со своим выводком. Этот дневник будет одним из двух, посвщенных моддингу. Читайте, наслаждайтесь, черпайте вдохновение. Мы здесь работаем, так что не ждите симпатичных скриншотов!

«Стелларис» создан на движке «Клаузевиц» и имеет многие части функциональности из других наших игр. Поскольку мы генерируем случайную галактику при старте (если, конечно, вы не будете использовать мод на статичную), наш подход к некоторым вопросам отличается по сравнению с подходом, используемым, к примеру, по отношению к предустановленной карте «Европы». Если вы делали моды к играм Paradox Development Studio, вас ждёт несколько сюрпризов, но со временем вы привыкнете.

General Modding
Как и прочие наши игры, Стелларис легко может быть модифицирован. Загляните в папку \Stellaris\common\ и вы всё увидите. В ней содержится большая часть того, что определяет функционирование игры. Здесь вы найдёте эдикты, этики, правила, дополнения к армиям, списки имен, типы государств, классы планет, модификаторы, здания и всё остальное. В\Stellaris\common\defines\ вы обнаружите Lua-скрипты, определяющиеосновные модели поведения игры и настройки, такие как базовый лимит центральных миров (CORE_SECTOR_PLANET_CAP = 5) или поле обзора камеры (NCamera = { FOV = 35 }), и всё это легко правится. Бо́льшая часть этих переменных сопровождается достаточно подробными комментариями!

Программируемые триггеры и эффекты, связанные цели событий
Недавно мы унаследовали программируемые триггеры и эффекты из Hearts of Iron IV! Они весьма хороши. Одним из нововведений, добавленных в «Стелларисе», которое потенциально может быть использовано и в последующих играх — это связанные цели событий. Мы таким образом можем связывать между собой цели, области воздействия и последствия ивентов способом, отличным от используемого в локализации. Например, до этого писавшийся так код может быть записан в более удобной форме:

Code:

 from = {   owner = {   establish_communicati root   } } 

Code:

 from.owner = { establish_communicati root } 

Потрясающе!

Аномалии
Быстренько пройдемся по аномалиям, основе исследования галактики на раннем этапе «Стеллариса». Между прочим, аномалии тоже отличаются от событий из других наший игр. Вы легко можете (и я настаиваю, чтобы вы попробовали) сделать свою собственную. Сейчас покажу как.

Аномалия состоит из как минимум четырех компонентов: категория аномалии, аномалия, событие и локализация.

  1. \Stellaris\common\anomalies\00_anomaly_categories.txt
  2. \Stellaris\common\anomalies\00_anomalies.txt
  3. \Stellaris\events\00_anomaly_events.txt
  4. \Stellaris\localisation\events_l_english.yml

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

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

Этап 1 - 00_anomaly_categories


Этап 2 - 00_anomalies


Этап 3 - 00_anomaly_events


Этап 4 - events_l_english

И конечный результат!
Планета обследована


Аномалия изучена


Пока это все, обитатели планет. На следующей неделе арт-директор Aerie расскажет, как добавить свои изображения в игру. Модули экспорта! Графика! Космические корабли!

11
0
Комментарии:  0
Ваш комментарий