Сообщество Империал: CK2 Dev Diary №58: Моддинг и немного оптимизации - Crusader Kings II (Крестоносцы II) - Paradox Interactive - Библиотека - Сообщество Империал

Стратегии, Игровые Миры, История, Total War
  • Поиск
  • Законы
  • Сообщество
  • Репутация
  • Экономика
  • Больше
Уважаемый Imperial Гость, прими участие в Конкурсе Imperial Game Awards 2017. Лучшие игры 2017 года по версии Сообщества Империал.

Информация об авторе

Tempest
  • Автор: Tempest

Информация по статье

  • Добавлено: 17 Июл 2017, 19:39
  • Просмотры: 364

Дополнительно

Классификация статьи: [Статья]
Раздел Техподдержки: Перейти
Ссылка на сообщение: Перейти
Перевод: Да

Последние Статьи

  Mortal Empires: Reprisal Update

Mortal Empires: Reprisal UpdateTempest · 14 Дек 2017, 23:15

  Топ-10 исторических игр

Топ-10 исторических игрПоследний Эллин · 10 Дек 2017, 21:05

  CK 2 Dev Diary №77: Патч 2.8.1

CK 2 Dev Diary №77: Патч 2.8.1Tempest · 04 Дек 2017, 19:22

  Обзор карты Istari Realm (ROTWK)

Обзор карты Istari Realm (ROTWK)Count Bagatur RF · 02 Дек 2017, 19:52

  EU IV Dev Diary — 28 ноября 2017

EU IV Dev Diary — 28 ноября 2017Tempest · 29 Ноя 2017, 12:22

  Рецензия на фильм Эверест (2015)

Рецензия на фильм Эверест (2015)JulianSol · 27 Ноя 2017, 11:22

  Alliance at War. Обзор Ноябрьской версии 2017

Alliance at War. Обзор Ноябрьской версии 2017Count Bagatur RF · 25 Ноя 2017, 10:45

  Рецензия: CK 2 - Jade Dragon

Рецензия: CK 2 - Jade DragonKAST · 23 Ноя 2017, 06:03

  EU IV Dev Diary — 21 ноября 2017

EU IV Dev Diary — 21 ноября 2017Tempest · 22 Ноя 2017, 17:58

  Повесть о доме Датэ.

Повесть о доме Датэ.Titus_Maygrem1 · 07 Ноя 2017, 20:20

CK2 Dev Diary №58: Моддинг и немного оптимизации

Описание: Дневники разработчиков и прочая информация про Crusader Kings 2
Дневник разработчиков №58: Моддинг и немного оптимизации

Всем доброго дня. Я Magne «Meneth» Skjæran, программист CK2. Раньше я писал дневники разработчиков о моддинге, оптимизации и повышении удобства игры, а также дневник на прошлой неделе, рассказывающий о том, за что отвечает каждая роль в команде.

Лето всё ещё продолжается, и значительная часть офиса разъехалась до конца июля, включая большинство команды CK2. Шоу должно продолжаться, поэтому в эти четыре недели я напишу большинство или вообще все дневники разработчиков CK2.

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

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

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

Наша приверженность
Как я рассказывал в дневнике "Моды и телеметрия", мы считаем моды и моддеров прекрасным явлением в CK2. Моды увеличивают долговечность игры, позволяя корректировать её под свой вкус, исследователь альтернативные сценарии и миры. На время написания дневника лишь чуть менее половины (48%) игроков, игравших вчера, использовали хотя бы один мод, в сравнении с 42% во время написания дневника "Моды и телеметрия".
Более того, значительное количество народу в PDS являются бывшими моддерами.
К тому же, большинство из того, что делает моддеров счастливыми, облегчает работу наших дизайнеров контента или открывает полностью новые возможности.

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

Немного основных моментов

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

- Большинство эффектов и триггеров, которые принимали число, теперь могут принимать имя переменной и будут брать переменную из текущей цели, например, "wealth = test_variable"

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

- Следующие консольные команды, которые были доступны лишь разрабам и бета-тестерам, теперь доступны всем: guibounds, noai, join_society, leave_society, society_rank_up/down, society_currency, set_society_grandmaster, get_all_artifacts, activate_artifacts

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

- Направленные решения теперь поддерживают 3-х лиц и артефакты

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

- Теперь можно хранить переменные также, как и цели события; любые переменные, которые начинаются с "local_", будут работать таким образом, то есть они будут существовать до тех пор, пока идёт цепочка событий, но к ним нельзя обращаться извне.

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

- Загрузка модов в Steam больше не ограничена в 50MB

Это изменение с самым большим, наверное, немедленным эффектом. Прямо сейчас максимальный размер модов CK2 сильно ограничен, но с 2.8 это будет в прошлом.

- Изменения цели эффектов и триггеров теперь имеют опциональный параметр "show_scope_change". При установке на "no" изменение не будет отображаться во всплывающей подсказке. Это будет отображаться просто как "effect description", а не "scope change: effect description". Этот функционал не поддерживается людыми/случайными целями.

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

- Добавлено "conditional_tooltip"; определяет, когда данная часть кода тригера должна отображаться. Её содержание оценивается только при отображении.

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

- Абсолютно все всп. подсказки теперь поддерживают свои локи. Как правило, "Root" будет игроком.

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

- Все числовые триггеры теперь поддерживают операторы сравнения (>=, <=, <, > и ==) за исключением триггеров ранга и among_most_powerful_vassals. Это исключения, связанные с тем, что триггеры операций ломают существующее поведение (например, "tier=duke" не является эквивалентом "tier >= duke", что предполагают операторы сравнения)

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

- Добавлена поддержка "else_if" и "else". Если что-то из этого разместить после "if" или "else_if", то они сработают при возвращении "false". Пример

    if = { limit = { something = yes } do_something = yes }
    else_if = { limit = { something_else = yes } do_something_else = yes }
    else = { do_another_thing = yes }


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

- Добавлено пространство fail_trigger_effect для событий. Этот эффект вызывается, если скрипт код пытается вызвать событие, но условия не выполнены. Удобно для того, чтобы разбираться с ситуациями типа смерти одного персонажа в цепочке от несвязанных причин во время прохождения цепочки.

Добавлено в тот же день, когда я это пишу, по просьбе Matthew Clohessy (моддер GoT, который работает дизайнером контента CK2 этим летом). Это должно помочь с цепочками событий, которые могут сработать неправильно из-за внешних событий.

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

Хоть повышение скорости не будет таким же большим, которое пришло с патчем 2.6, мы провели несколько дней, ускоряя игру. Частично это связанно с добавлением Тибета, но мы не остановились, просто сделав игру такой же быстрой, как в 2.7.1.

В общем игра в моих тестах стала примерно на 8% быстрее, чем 2.7.1, хотя точные улучшения по разному влияют на каждую машину.

Вот частичный список того, что мы сделали для того, чтобы достичь этого:
  • Портировали оптимизацию интерфейса из HoI4, о которой упоминали полгода назад
  • Несколько других улучшений интерфейса, упоминания стоит ускорение аутлайнера
  • Часть вещей из последовательной оценки перемещены в параллельную оценку
  • Избежание ряда ненужных обновлений модификаторов провинций и персонажей. Например, получение артефактов без эффектов не будет обновлять модификаторы персонажа
  • Придворные будут проверяться на события реже (но у них останется тот же шанс получить их)
  • Убраны неиспользуемые переменные, которые были сохранены без веской причины
  • ИИ реже проверяет большое количество решений, если у него низкий шанс принять их. Т.е., если у него был шанс в 1% принять решение каждый месяц, в целом теперь у него будет 10% шанса принять его каждый год.
  • Дальнейшее уменьшение генерации ненужных персонажей. Например, если ИИ захочет избавиться от баронства, он сначала попробует найти кого-то подходящего, и при неудаче будет формировать случайного персонажа.
  • Различные структурные изменения в коде, чтобы сделать его более производительным.

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

Итоги
Моддинг и скорость игры очень важны для команды CK2, потому мы потратили время на их улучшение для 2.8

Теперь, как и было обещано, чейнджлог 2.8. Некоторые пункты, связанные с ещё не раскрытыми нововведениями, были убраны из списка. Список не является окончательным, до релиза 2.8 он почти наверняка пополнится

Спойлер (скрытая информация)


Надеюсь, вам показалось интересным то, что мы сделали для моддеров в 2.8.

Как и обещал, вот 5 пунктов из чейнджлога 2.8:
- ИИ сказано, что если он атакует в войне, *может* быть хорошей идеей действительно пойти атаковать, даже если он атакует целое государство, а не определённый титул, и нужно немного п
- Иконка священных мест ересей теперь отображается в окне владения, если у родительской религии священные места другие (например, ибадистские и манихейские священные места)
- Исправлен экран гвардии, который отображал иконку конных лучников, даже если гвардия состояла из другого специального юнита
- Армии теперь использует самый лучший модификатор осады при определении лидерского бонуса в осадах и лучший модификатор скорости для определения скорости передвижения вне зависимости от фланга
- Авантюристы могут понять после поселения что им, может быть, стоит считать свои новые земли базой для военных операций и вернуть туда свои армии, если они ничем не заняты

Это всё на этой неделе. На следующей неделе бразды получит Gustav “Gruffa” Groth продукт-менеджер CK, который расскажет вам о том, что он и издательское подразделение Paradox делает для CK2.

Оригинал

Будем благодарны, если Вы поделитесь этой публикацией:


Copyright © «Империал». Копирование информации с этой страницы возможно только при указании прямых ссылок на эту страницу.


    Воспользуйтесь одной из соц-сетей для входа на форум:


    Внимание: Реклама отключена для зарегистрированных посетителей

    Сообщество Империал > Библиотека > Paradox Interactive > Crusader Kings II (Крестоносцы II) > CK2 Dev Diary №58: Моддинг и немного оптимизации Обратная Связь
    Стиль
       18 Дек 2017, 04:29
    © 2017 «Империал». Условия предоставления. Ответственность сторон. Декларация о Сотрудничестве. Лицензия зарегистрирована на: «Империал». Счётчики