Дневник разработчиков ИИ и быстродействие от 21.02.2018

  • Приглашаем на наш активный(!) Discord-сервер по стратегическим играм, истории и политике: перейти

vito

Случайный пассажир
Депутат
Сообщения
41
Здравствуйте! Я был зафрахтован из команды EU4, чтобы месяц сражаться в окопах вместе с командой HOI4 и оказывать некоторую поддержку в плане усовершенствования ИИ и производительности. Собственно об этом я и расскажу.

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



После этого стала ясна большая задача, требующая переписывания приказов гарнизонам и назначение дивизий. Было множество проблем, и вы, вероятно, сталкивались с ними время от времени. Путаница, неправильные приоритеты областей или провинций и т.д. и т.п.
Итак, что же я сделал? Вместо того, чтобы оставить старую логическую систему правил по которым расставлялись подразделения, я пошел по пути, который ненавижу больше всего. Математическому. Главное отличие заключается в том, что ИИ будет рассчитывать «болезненность» перемещения дивизии, пытаясь найти наименее болезненный способ размещения гарнизонов и, в конечном итоге, прийти к своего рода равновесию.
Это дало нам намного более простой способ контроля расположения подразделений в качестве гарнизона и, где они в конечном итоге будут соответствовать наибольшему весу, который вы можете видеть на вышепредставленных скриншотах.
Мы наконец осуществили то, что планировали сделать в течение долгого времени — создать более гибкий способ контроля действий ИИ. Для этого мы используем систему, названную «Стратегические планы ИИ». По сути, ИИ действует определенным образом от национальных фокусов и приоритетах, основанных на сценариях. Чтобы удобоваримо это объяснить это, я собираюсь передать слово Bratyn с несколькими примерами:

В некоторых ситуациях, в которых будут полезны новые стратегические планы, необходимо обеспечить адекватное поведение ИИ в случае альтернативно-исторической Германии. Поведение ИИ основных европейских держав основывалось на том, что Германия остается фашистской и несёт в Европу хаос. ИИ Италии обычно видит Германию в качестве своего союзника, а ИИ Франции либо всегда будет кооперироваться с Соединенным Королевством (при включённом историческом режиме), либо будет настолько непредсказуем, что планировать любые альтернативные сценарии будет крайне проблематично.
Используя стратегические планы, мы заставили эти страны частично вести себя более логично для изменяющихся условий мировой политики и частично обеспечить игроку вызов. Переход в демократическую Германию только для того, чтобы заставить вашего единственного врага (Советский Союз) вступить в войну как с Союзниками, так и с игроком — это не очень сложное прохождение. Вместо этого после немецкого завершения «Оппозиции Гитлеру» Франция будет следовать новому стратегическому плану. Это приостановит их выбор политического направления, и, пока не появится больше информации о немецком игроке, будет применяться «шаблон ожидания».

  • Если Германия возродит Кайзеррайх и выберет «Фокус на истинного врага», Франция уйдёт от шаблона ожидания и будет сотрудничать с Британией, чтобы противодействовать возможным попыткам немецкого колониализма. По сути, в в таком случае мало что измениться, как если бы Германия оставалась фашистской. Вероятно, война будет развиваться в аналогичной манере (хотя и в другой хронологических рамках): с одной войной с Союзниками и одной войной с Советским Союзом.
  • Если Германия станет демократической, Франция уйдёт от шаблона ожидания и выберет «Пересмотр Версаля». То, какое направление она выберет следующим, зависит от ИИ, обеспечивая некоторую непредсказуемость. Франция может стать коммунистической и основать свою собственную фракцию или заключить альянс с Советским Союзом, открыв второй фронт, если Германия начнет войну с СССР. В качестве альтернативы Франция может стать фашистской. Она выберет «Роман с Италией», создав новую фашистскую фракцию стран юго-запада Европы. Аналогичные стратегические планы для Италии (и гибкое применение стратегий ИИ) сделает альянс стабильным. Новый фокус «Демонтаж демократий» станет доступным, если Германия является демократической, и ИИ особенно будет склонен выбирать его, если немцы уже воюют с СССР. Это сделает игру более динамичной и гарантирует наличие у Германии достаточного числа врагов, чтобы пришлось сражаться, даже если она и решит пойти демократическим путём.
С помощью стратегический планов ИИ мы научили китайцев справляться с механикой инфляции, и заставили КНР поддерживать мир, если они собираются захватить власть мирным путём через политическую борьбу. В целом для меня и Archangel85 это было (и будет) бесценным инструментом для обеспечения правдоподобных и, самое главное, интересных игр для каждого альтернативно-исторического сценария. Мы надеемся продолжить работу в этой области и сделать государства ещё более «умными» в условиях альтернативных ситуаций или просто в случаях радикального изменения мировой ситуации.

Моддерам должно понравиться, поэтому вы, ребята, взгляните на пример ниже:




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



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



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

Анонс "трехдневной войны" стриммеров:

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


Оригинал

Двойные поиски пропавшего ядра
Дневник разработки HOI4: Настройки полярности отражающей тарелки
Горячие графики
 

Warlord

Легенда
Губернатор
Модератор Victoria 2
Модератор
Hearts of Iron IV
Модератор Tropico 6
Сообщения
1,065
Оптимизация! Они вспомнили об оптимизации!
 

Илья

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

Haikan

Известный пользователь
Сообщения
244
Прошло каких-то 18 лет с выпуска первой игры, чтобы они сделали хоть где-то оптимизацию.
:peka3:

Оптимизация из Еу-4 от Груги? Вы таки хотите перезагружающуюся игру после каждого нажатия кнопки " Выйти в главное меню " ? По сути, патч оптимизирующий игру на поздних датах с осени 2017 из Еу-4, релизнут в Дне победы-4, спустя 4-5 месяцев, если не больше.
 

Warlord

Легенда
Губернатор
Модератор Victoria 2
Модератор
Hearts of Iron IV
Модератор Tropico 6
Сообщения
1,065
Вы таки хотите перезагружающуюся игру после каждого нажатия кнопки " Выйти в главное меню " ?
С этим моментом поподробней. Это неисправимая особенность движка или просто лень параходов? А то меня рестарты просто вымораживают.
 

vito

Случайный пассажир
Депутат
Сообщения
41
Это про EU4 - выход на рабочий стол, чтобы вернуться в главное меню. Потому и спрашивают, нужно ли вам такое же для HoI4. :lenya:
 

Статистика форума

Темы
2,475
Сообщения
31,593
Пользователи
2,393
Новый пользователь
Гусев/dagot

Сообщения профилей

дайте мне форум епт
пацаны я по малолетке с малолетки спросу нет понимаю мой косяк . все не буду топить за солрейх по глупости ну простите умоляю я с вами
,,,,,,,,,,,,,,,,,,,,,,,
Боже, Царя храни!
зашел скачать викторию 2(салотегиумская сборка поломана), а ссылка уже всё
шизоиды, пишете тут ещё

Пользователи онлайн

Сейчас на форуме нет ни одного пользователя.
Сверху