У меня есть школьный проект по созданию ИИ для 2D гоночной игры, в которой он будет конкурировать с несколькими другими ИИ ( без столкновений ).
Нам дают черно-белое растровое изображение гоночной трассы, после получения карты нам разрешается выбирать базовые характеристики нашего автомобиля (управляемость, ускорение, максимальная скорость и тормоза). ИИ подключается к игровому серверу и дает ему несколько раз секундные цифры для текущего ускорения и руления. Кстати, я выбрал язык C ++. Вопросы:
Какова лучшая стратегия или алгоритм (так как я хочу попробовать и выиграть)? В настоящее время я имею в виду некоторые идеи, найденные в сети, и одну или две мои собственные, но я хотел бы, прежде чем начать кодировать, что моя точка зрения является одной из лучших. Какие хорошие книги есть по этому вопросу? На какие сайты мне ссылаться?
Ответы:
Настройте базовый ИИ, а затем настройте API для управления вашим собственным автомобилем. Если вы можете победить его, вы должны настроить алгоритм записи, который затем может положительно укрепить ваш ИИ. Это может быть нейронная сеть для настройки действий вашего ИИ. Например, постепенное торможение в повороте и т. Д.
Вам разрешено использовать внешние библиотеки в вашем проекте? Если это так, я предлагаю вам взглянуть на FANN . Это быстрая библиотека нейронных сетей; чтобы спасти тебя писать самому. Если вам нужен исходный код, вы всегда можете написать его самостоятельно, однако это может занять некоторое время.
источник
Если вы можете предварительно обработать карту перед запуском ИИ, то просто рассчитайте лучшие гоночные линии по сегментам карты.
Этот пост на GameDev.net имеет ряд предложений.
В мудрости AI книгах есть много статей о гонках ИИ. Я определенно рекомендую их, особенно первую, в которой есть статьи, описывающие, как вы можете представить карту как структуру данных в вашем AI.
Другой метод, который я видел, это простое обучение с подкреплением (Q-learning), которое, вероятно, займет несколько тысяч итераций, чтобы найти оптимальный путь. Это описано в этой статье: http://www.cs.ubc.ca/~zhijin/540report.pdf
источник
Вот отличный справочник по вождению AI: Поведение рулевого управления для автономных персонажей . Размещено здесь для всеобщего сведения. Есть много информации, чтобы начать, но также много информации, так что не зацикливайтесь на деталях.
источник