Нечеткая логика
Автор: Daddy
WEB-сайт: http://daddy.mirgames.ru
В обще в последнее время довольно много говорится об искусственном интеллекте, но обычно речь идёт о чётких алгоритмах.
Например: рыцарь видит вражеский отряд и идёт прямо на него.
Чем этот алгоритм плох? Тем более, что он использовался в большинстве старых игр? Плох он тем, что рыцарь обязательно пойдёт на отряд и скорее всего погибнет.
Ну а как вам такой алгоритм: рыцарь видит вражеский отряд, он смотрит какой он величины, затем ищет друзей которые пойдут вместе с ним, если отряд больше всех его друзей, то он бежит на базу и встаёт за стены или устраивает засаду на месте, или уходит в сторону затем пропускает отряд и бьёт в спину. С помощью этого алгоритма можно добиться довольно сильного ИИ.
А вот если вражеский отряд идёт горизонтальным строем то рыцарь не атакует его "в лоб", а старается окружить противника таким способом:
- Два конных (например) отряда уходят в стороны, от основной битвы .
- В центр ставятся самые слабые войны, а чем ближе к краю тем сильнее армия.
- В конце армии также по всей длине ставятся сильные войны.
И когда вражеский отряд нападает он как бы прорубается в центр, а тем временем войны AI окружают его, он нарывается на конечные ряды и оказываются в тисках, в это время выскакивают засадные конные войска и окончательно его окружают.
Согласитесь, намного лучше чем схема "стенка на стенку".
Вот на таких действиях и устроен ИИ с нечёткой логикой. Можно конечно ещё добавить массу вариантов действий в зависимости от величины отряда, но это уже тема для диссертации ;).
Пока.
|