У меня был этот разговор с моим другом о том, можно ли создать ИИ или нет, который может победить любого человека без обмана ресурсов в стратегии в реальном времени. ИИ, который бы играл почти идеально. У ИИ современных игр есть много областей, которые можно улучшить, большинство из них полагаются на мошенничество с ресурсами, более раннее развитие базы из-за этого и атаки в волнах.
Тем не менее, вопрос заключается в том, что нужно сделать, чтобы улучшить это, чтобы получить окончательный ИИ. Кроме того, если у вас есть пример игры, в которой использовалась определенная функция, это было бы здорово.
Редактировать: Есть небольшое разъяснение, которое я могу предоставить тем, кто не прочитал название или несколько параграфов, описывающих проблему. Речь идет о стратегических играх в реальном времени и об идеальном ИИ. Это означает Strarcraft, Warcraft, Generals, Red Alert, Age of Empires, AI War и т. Д. Игры, которые имеют более одного уровня сложности, но основное внимание здесь уделяется окончательному вызову.
У tenpn фантастический пост, наполненный большими ресурсами. Спасибо, тенпн! Я хотел бы, чтобы больше людей способствовало этому.
Ответы:
На этот вопрос сложно ответить. Чтобы указать, что нужно улучшить, вам нужно иметь некоторый известный ИИ для работы. Однако вот несколько примеров RTS AI с сайта aigamedev.com (требуется регистрация):
К сожалению, большинство действительно хороших вещей находится за платным доступом.
Распространенным решением ИИ является ориентированный на цели план действий, который использует правила для составления планов для удовлетворения целей. Это было уже давно, но очень круто. На сайте Джеффа Оркина есть краткий обзор (pdf) о том, как он применяется к FPS, но тот же принцип (с разными правилами и целями) работает для RTS.
Многие RTS будут использовать иерархии GOAP, с различными уровнями, получающими цели с уровня выше, и связанные с различными уровнями детализации поля битвы. Я прочитал отличную статью об искусственном интеллекте в какой-то шестой мировой войне, который был структурирован подобным образом, но, несмотря на это, я не могу найти ссылку сейчас. Золотая звезда для тех, кто может мне помочь.
Конечно, эффективность GOAP и других планировщиков зависит от того, насколько хорошо вы анализируете свой игровой мир и насколько совершенны ваши действия и цели.
Другая распространенная технология включает служебные архитектуры (pdf) для подсчета очков и приоритетов, а также доски для анализа игрового мира.
источник
Дело в том, если у вас есть ИИ
тогда у вас есть игра, в которую никто не будет играть, потому что они не смогли пройти первый уровень.
Самое сложное в программировании ИИ - сделать ИИ побиваемым, но побежденным кем-то с небольшим навыком. Сделайте так, чтобы бить было слишком легко, и игроки будут отстранены отсутствием проблем, сделайте это слишком сложным, и людям снова надоест быть избитым.
Таким образом, речь идет не о создании сложного ИИ (что не сложно, в конце концов, ИИ может обрабатывать все в пределах своей игровой зоны одновременно, тогда как игрок может обрабатывать только то, что на экране), а скорее о создании сбалансированной игры.
источник
Многое можно было сделать, но моей непосредственной реакцией на этот вопрос был контр-вопрос: зачем кому-то нужен конечный ИИ RTS? И почему этот человек просто не играет онлайн, против другого человека-оппонента?
Суть в том, что не проблема сделать ИИ непобедимым, это проблема заставить его мыслить достаточно быстро (например, он должен использовать ярлыки), чтобы иметь возможность играть против 3 или даже 7 противников ИИ на одной карте с обычный компьютер. Даже сегодня и завтра, и я ожидаю, что это не изменится даже через десять лет.
Следующая проблема: пока ИИ следует строгим правилам, он будет эксплуатироваться. Даже нечеткие правила сделают его уязвимым для эксплойтов. ИИ должен был бы учиться, и он должен был бы делать ошибки - преднамеренные и непреднамеренные. Это также должно вас удивить. И тогда вы играете против другого человека. Поскольку ИИ даже близко не подходит к копированию мышления человека как алгоритмическому, так и с точки зрения вычислительной мощности, вам гораздо лучше не тратить время на ИИ с одним игроком, с которым играть не так весело, как с другим. человеческое существо, хотя бы для социальных факторов.
источник
То, что вы определяете как «мошенничество с ресурсами», похоже на «усиление баланса» в гоночных играх. «Повышение» используется для того, чтобы попытаться удержать пакет в относительно близкой близости друг к другу, чтобы создать иллюзию напряженной гонки. Если игрок не в лидерах может держать игрока CPU в поле зрения, и если игрок находится в лидерах он держит давление на противников, поставив прямо на хвост, даже если сам процессор посредственный водитель.
В RTS вы смотрите на совокупность значений, которые можно расположить оптимально. Вы точно знаете, сколько времени занимает получение ресурса, сколько стоят строительные элементы, время обхода карты и т. Д.
Если вы - тот, кто создал таблицы и имеет доступную вам информацию, это просто вопрос количества данных, чтобы найти наилучшие соотношения для вывода.
Но насколько весело играть против врага, который всегда делает одно и то же в зависимости от контекста игрового поля?
Таким образом, вы добавляете хаос. Вы даете ИИ эффективность по скользящей шкале. У вас есть это беспокоить игрока. Если у игрока, кажется, дела идут хорошо, у вас есть немного обмана ИИ и дайте ему дополнительные ресурсы или подкрепление, чтобы держать игрока в тонусе.
Вы хотите, чтобы игрок чувствовал удовлетворение лицом к лицу со сложным противником, а не шлепал слабого ИИ или не был убит Hal9000. Совершенство противника процессора заключается в его несовершенстве. :)
источник
Одна большая вещь состоит в том, что вы должны идти в ногу со стратегическим развитием игры. Никакое развитие не позволит ИИ выиграть матч Starcraft 1 (в честной игре), если он думает, что основная армия морских пехотинцев - это способ играть в игру Терран против Террана.
Это не только предотвратит постоянное избиение ИИ из-за его устаревшей стратегии, но и более широкий набор подходов к игре сделает ИИ более привлекательным, если ИИ на этом пути сделает жизнеспособный выбор.
Богатое дерево стратегий даже позволяет использовать ползунок сложности; Например, безумный ИИ Зергов будет стремиться использовать гибкие подходы, которые могут адаптироваться к врагу и быстро расширяться, когда предоставляется такая возможность, но на нормальном уровне сложности он может выбрать более жесткие построения и быть менее склонным к массовым расширениям.
источник