Вот фон... в свободное время я разрабатываю игру для артиллерийской войны под названием Staker (вдохновленный старыми ОСНОВНЫМИ играми Tank Wars и Scorched Earth), и я программирую его в MATLAB. Ваша первая мысль может быть "Почему MATLAB? Существует множество других языков/программных пакетов, которые лучше подходят для разработки игр". И ты был бы прав. Тем не менее, я дорка, и я заинтересован в изучении орехов и болтов о том, как вы будете разрабатывать игру с нуля, поэтому я не хочу ничего использовать с модулями prefab. Кроме того, я много лет использовал MATLAB, и мне нравится делать что-то с этим, что другие на самом деле не пытались сделать.
Теперь перед проблемой: я хочу включить ИИ, чтобы игрок мог подняться против компьютера. Я только начал думать о том, как разработать алгоритм для выбора азимутального угла, угла места и скорости снаряда, чтобы достичь цели, а затем настроить их на каждый ход. Я чувствую, что, может быть, я переусердствовал с проблемой и пытался с самого начала сделать AI слишком сложным, поэтому я подумал, что сделаю паузу и попрошу сообщество рассказать о том, как они будут разрабатывать алгоритм.
Некоторые конкретные вопросы:
-
Существуют ли конкретные ссылки на дизайн ИИ, которые вы бы предложили мне проверить?
-
Не могли бы вы сконструировать игроков AI с переменным сложностью в непрерывном режиме (сложность 0 (легкая) до 1 (жесткая), все еще использующая один и тот же общий алгоритм) или вы бы разработали специальные алгоритмы для дискретное количество игроков AI (например, легкий враг, который стреляет в случайных направлениях или жесткий враг, способный учитывать последствия ветра)?
-
С какими типами математических алгоритмов (описание псевдокода) вы начинаете с?
Дополнительная информация: модель, которую я использую для моделирования движения снаряда, включает в себя гидравлическое сопротивление и эффект ветра. "Жидкостью" может быть воздух или вода. В воздухе плотность воздуха (и, следовательно, эффект сопротивления) изменяется с высотой над землей на основе некоторых простых атмосферных моделей. В воде сопротивление настолько велико, что снаряд обычно требует дополнительного удара. Другими словами, на снаряде могут влиять силы, отличные от гравитации.