Обновлено:

На этой странице

Заселение, рабочие и общий поиск пути ИИ

Развитие пункта 4.9 плана, вместе с исправлением пригодности стартов в 4.6. Модель стратегии — known-world-expansion-v1. Это собственная стратегия поверх правил Atlants; совпадение с решениями Windows-ИИ не установлено.

Выбор следующего города

ИИ оценивает только известные ему клетки и видимые отряды. Неизвестная местность и скрытые пищевые ресурсы не участвуют в оценке. Кандидат проходит обычную проверку основания города, затем стратегическую проверку расстояния не менее трёх шагов до известных городов и отсутствия близкого видимого противника. Минимум в три шага — предпочтение этой стратегии; ядро сохраняет свой отдельный предел допустимости.

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

Тип поселенца выбирается по способности основания города среди реализованных PRTO и проходит общую проверку производства: технология, цивилизация и ресурсы. В обычном раннем профиле это «Племя» PRTO 0, стоимость 30 щитов и два жителя. Исходный «Основатель» PRTO 318 остаётся стартовым юнитом. ИИ не создаёт его бесплатно вместо обучения поселенца.

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

Поселенец получает обычный GoTo до пригодного места. Приказ и его прерывания сохраняются обычным движком. По прибытии место оценивается заново, затем отправляется FOUND_CITY с исходным названием из RACE. Занятые строительством рабочие сохраняют установленный пользователем запрет отмены задания.

Рабочие и маршруты

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

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

Пригодность стартов генератора

Естественная партия выявила недостаток первой модели: ресурс, скрытый поздней технологией, увеличивал оценку еды, а штраф начального правительства не уменьшал её. В Atlants расход составляет три единицы еды на жителя, исходная «Община» снижает высокую выработку, а орошение требует TECH 51 «Севооборот». Сырой показатель местности поэтому не доказывает возможность роста.

atlants-native-world-v2 оценивает эффективную начальную еду без поздних скрытых ресурсов. При необходимости около выбранного старта добавляется или заменяется бонусный пищевой ресурс, разрешённый TERR/GOOD и доступный без технологии. Стратегические ресурсы и роскошь при нормализации не заменяются. Записи startFoodAdjustments сохраняют клетку, исходную местность, старый и новый ресурс и соответствующий старт; загрузка проверяет их допустимость. Это собственная нормализация, не восстановленный алгоритм Firaxis.

Уже созданные карты atlants-native-world-v1 не перерисовываются и не генерируются заново. Настоящее опубликованное сохранение схемы 20 из сборки 2bc7950fb3f7e0d9, включая очередь Wait, проверяется как неизменяемый контрольный пример.

Проверки и границы

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

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

Естественные прогоны проверяются отдельно. Старый ИИ завершил 4 000 команд на 206-м ходу без победителя; повтор команд с контрольными загрузками воспроизвёл тот же мир. Первая политика заселения на прежней сгенерированной карте завершила завоевание на 91-м ходу за 1 152 команды; обе стороны при этом не успели основать по два города. Окончательный отдельный прогон с исправленной едой и заменой рабочих прошёл 574 обычные команды: к 71-му ходу Россия основала три города, Рим — два. Повторное создание мира по зерну и загрузка после каждой команды восстановили точно тот же итог. Воспроизведение естественной победы не является доказательством поведения Windows-оригинала.

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

Итог: 460 автоматических проверок и 19 публичных сценариев Chromium

Естественное развитие: проверка · Исходное сохранение и команды · Повтор естественной победы · Предыдущий ИИ: контрольный прогон

Второй город ИИ в браузере — подготовленный сценарий с запасом щитов; естественный прогон описан и проверен отдельно выше.

Генератор и родная сетка · Ход разработки · Браузерная проверка