Для sem123
Дорожка правильная, узнаю стиль мышления. Однако пропущены детали.
Для начала: модель поведения может быть сколь угодно сложной и жрать неограниченное число ресурсов ибо задача изумительно распараллеливается, а времени на ее обсчет дохфига: пока там 3Дшники все свои модельки доваяют каждый бот на тест-арене уже найдет себе безопасный угол и будет по-снайперски сидеть обшаривая сенсорами мегабайты виртуального мира и отстреливая неосторожных, которым поставлена конкретная задача.
Смысл вот в чем - каждая цепочка действий должна закончиться либо гибелью бота, либо выполнением задачи. Соответственно те цепочки, которые в результате обсчета привели к гибели должны быть отсеяны и не попадут в окончательную базу поведения бота. Как результат база будет иметь полный возможный набор комбинаций входных параметров и некоторое количество цепочек действий, приводящих к выполнению задачи (не надо для каждой миссии конкретную задачу, это тогда боты стратегами станут, а нам вполне достаточно их анализа тактической ситуации, пусть задача ставится классу ботов или подразделению, но не каждому отдельно). При всех остальных наборах параметров очевидно, что бот погибнет, поэтому что бы он ни делал - все равно. Может в кусты прятаться, может в плен сдаваться, может с криком "Мать вашу!" кидаться на противника, может застрелиться (поведение по дефолту подчеркнуть).
В игре же логика вычисления цепочек уже не нужна, отсутствует и ресурсов не жрет: пока внешние параметры не меняются он выполняет цепочку, дергая действия по одному из базы. Изменились - смотрим что мы можем сделать, есть ли у нас для изменившейся ситуации новая цепочка.
Кстати, для ускорения учебного процесса ботов вполне можно ими вручную покомандовать, чтобы подсказать явно выигрышные линии поведения, на это завсегда желающие найдутся - это будет вполне натуральный Starcraft .
Разные типы ботов могут просто иметь разные наборы сенсоров: к примеру бот-командир может иметь сенсор "приказ", а рядовые - "положение командира" - и по ним строить свои цепочки поведения.