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

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

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

Вы можете поиграть в игру и увидеть ее полную логику ЗДЕСЬ.

Понимание логики ИИ

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

Мы можем выбрать все возможные исходы для варианта Дэна Бота и все варианты, которые может выбрать его оппонент. Поскольку компьютеры находятся под контролем, каждый исход для Дэна Бота - только победа или ничья. Чтобы решить, какой выбор сделать, Дэн Бот будет исходить из того, что на каждом ходу и он, и его противник будут делать наилучший из возможных вариантов. Таким образом, его основания для принятия решений будут чередоваться между выбором пути, который максимизирует результат выигрыша его хода, и минимизирует результат выигрыша его оппонента в свой ход. И в любой момент, когда ему будет предложен выбор: выигрышный путь или путь ничьей, Дэн Бот всегда выберет первый вариант и выиграет игру. Изложив все эти возможности и выбрав путь, ведущий к победе, Дэн Бот может решить игру в крестики-нолики и обыграть в ней игрока-человека. Это означает, что он всегда будет добиваться наилучшего возможного результата, будь то победа или ничья, независимо от того, как играет его противник.

Программирование игровой логики ИИ в четыре этапа

Ниже приведены шаги, предпринимаемые нашим компьютерным игроком, чтобы принять одно решение, в какую ячейку доски разместить свой маркер. Чтобы сделать игру реалистичной, наш бот по-прежнему носит имя Дэн.

Сопоставляет возможные ходы

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

Предопределить выигрышную позицию

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

Проверить лучшие ходы

Дэн Бот сверяет центральную позицию [5] и все угловые позиции [1, 3, 7, 9] по своему ранее составленному списку доступных позиций. Он знает, что размещение маркера на любой из этих позиций - в центре и в углу - дает игроку больше шансов на победу в игре или снижает шансы его оппонента на победу. Сначала он проверяет наличие позиции 5, которая имеет наибольшие возможности среди всех. Если слот открыт и не отмечен его противником, он идет на это, а если нет, он выбирает следующий доступный слот из списка угловых позиций. Он проверяет их наличие и выбирает любого из них наугад. Это имитирует человеческую спонтанность и делает игру более реалистичной. Итак, Дэну Боту позволено быть импульсивным в течение нескольких мгновений. И если ни одно из этих действий не было возможным, он двигается дальше.

Проверить другие ходы

На этом этапе Дэн Бот повторяет то же действие, что и выше, но на этот раз с центральным положением [5] и всеми положениями среднего края [2, 4, 6, 8]. Он повторяет те же шаги, пока не найдет доступное место, не отмеченное его оппонентом.

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

В заключении

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