Есть персонаж с неким состоянием. Хорошо представить состояние как неизменное. Есть некий конечный автомат, который на вход принимает действие, а на выходе даёт новое состояние. Бездействие - это тоже действие. Поведение персонажа в прошлом - это журнал действий. Теперь нужно выбрать стратегию поведение персонажа на будущее. Обычно это делается с помощью деревьев решений. То есть у персонажа есть в каждый тик выбор из набора допустимых действий. Некоторые будут вести к нежелательным последствиям вроде смерти, такие ветки можно обрубать, а некоторые ещё позволят пожить какое-то время. Если дерево получается сильно ветвящееся, то можно ввести норма-функцию, которая будет давать эмпирическую оценку состояния. Персонаж должен выбрать путь в дереве допустимых решений с наименьшими рисками. Правильно понимаю. что помимо действий на судьбу персонажа влияет внешний Пуассоновский поток рандомных событий?
Вот поэтому выбирается тот путь в дереве, который даёт максимальный запас живучести по каждому состоянию из всей цепочки прогнозируемого жизненного пути персонажа.
При возникновении любого внешнего события дерево придётся очистить и перестроить заново. Можно кешировать его отдельные ветки по состоянию. Помним, что состояние у нас имеет смысл сделать иммутабельным (неизменным), тогда его можно использовать как простой бинарный хеш-ключ в кэше. Это может сэкономить много вычислительных ресурсов и памяти при сильно ветвящихся деревьях.
Описаный подход позволил бы применять и нейросети и генетические алгоритмы и логические каркасные правила на том же прологе для оптимизации поиска пути в дереве решений. Можно, зная вероятности разных событий или накопив со временем статистику в прогнозы добавлять и события, тогда персонаж сможет целенаправленно учитывать риски или "надеяться" на позитивные случайные события.
Звучит как игра, которую кто-то "
джва года ждал"=)