Как выглядит стратегическая игра, если мы будем смотреть только на мини-карту? Недавно я решил изучить эту идею, вернувшись к классической Age of Empires II.

Начало исследования


Я начал с изучения матча с тремя ИИ-игроками на карте средних размеров. Вот исходное состояние:


Если «Первому игроку приготовиться» и научил меня чему-то, так это тому, что абсолютно нормально вечно держаться за своё детство.

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


Вот тот же самый матч с убранным фоном. Напоминает мне о бактериях, сражающихся в чашке Петри:


При наложении кадров друг на друга получается такая картина:


Усреднённое смешивание всех кадров демонстрирует стандартные маршруты на карте:


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


А вот визуальное представление покрытия каждым цветом:


Цветовое покрытие карты. Как и в других примерах, воспроизводится на скорости 2x

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


Красиво.

Другие матчи


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

  • Age of Empires II HD edition
  • Режим Conquest на случайной карте
  • Случайно выбираемые команды
  • Начало с постимпериалистической эпохи
  • Стандартная сложность ИИ

Вот предыдущий матч и три повторных реплея. Несмотря на одинаковые стартовые условия, каждый развивается по-своему:


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

Матчи на трёх игроков особенно интересны благодаря своей динамике. Иногда два игрока объединяются против третьего, иногда в центре карты начинается «королевская битва», а иногда третий игрок проводит скрытную атаку, пока первый и второй игроки дерутся между собой (ИИ недостаточно умён, чтобы на самом деле планировать все эти маневры, они просто появляются естественным образом).

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






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





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


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

  • Красный + синий
  • Голубой + фиолетовый
  • Серый + оранжевый
  • Жёлтый + зелёный



Золотая лихорадка


Крепость


В одной из игр почти не было боёв:


Срезы


Разумеется, существует множество других способов изучения данных, кроме таймлапса. Один из самых интересных — проецирование 2D-срезов мини-карты на трёхмерный объём. Для этого анализа я использовал ImageJ.

Вот матч из начала статьи в виде 3D-объёма:


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

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


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


С другой стороны, матчи на восьмерых игроков очень хаотичны.


Наконец, взяв 2D сквозь срезы объёма, мы можем посмотреть на отдельные плоскости карты с течением времени



Завершение


Хотя 3D-проекции красивы, я всё равно нахожу более интересными простые таймлапсы. Мини-карта очень напоминает взгляд на игру, как на чашку Петри: каждая из сторон сводится к кучке разноцветных пикселей, и почему-то очень захватывающе следить за тем, как цвета разрастаются, отступают и завоёвывают пространство. Возможно, с достаточно далёкого расстояния так выглядят все битвы.

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

Комментарии (7)


  1. KuMa1104
    21.06.2018 17:55

    Ого! Спасибо за статью, было очень интересно понаблюдать за всем этим!


  1. MonkeyD
    21.06.2018 18:27

    Без смысленно, но дико захватывающе и увлекательно. Спасибо за статью.


  1. olgerdovich
    22.06.2018 02:23

    На первом таймлапсе болел за синих. В итоге почувствовал себя болельщиком сборной Аргентины.


  1. dsapsan
    22.06.2018 11:36

    Довольно занимательно. Интересно как будут вести себя ИИ в других подобных играх.


  1. Sunder_GL
    22.06.2018 11:36

    Спасибо, довольно интересно
    видел подобные видео по Civilization 5, где на самых маленьких картах (для 4 игроков) воевали 12+ AI и прокручивалась партия на очень быстрых скоростях, тоже довольно забавно


  1. Dart_Zaiac
    22.06.2018 12:21

    При разработке ИИ такие тесты имеет смысл проводить, чтобы убедиться в отсутствии шаблонности


  1. nanshakov
    22.06.2018 16:03
    +1

    А я невнимательно прочитал заголовок и думал до самого конца что автор вот вот начнет пилить свою игру…