Мой друг, который раньше занимался дизайном ИИ для известной игры-стрелялки от первого лица, о которой вы, вероятно, слышали, рассказывает историю о том, как их алгоритм поиска пути привел к фальшивому поведению.Вы бросали гранату в группу врагов в ограниченном пространстве, и они все сталкивались друг с другом, пытаясь встать на эффективный путь к единому выходу.Это выглядело глупо и разрушило иллюзию.
Вместо того, чтобы сжигать ценные циклы процессора при лучшем поиске пути, они добавили эвристику, такую, что если группа врагов убегает, и враг сталкивается с другим врагом дважды подряд,враг перестает пытаться бежать и вместо этого делает прикрытие, а в результате граната обычно убивает его.Это очень приятно для игрока и выглядит намного реалистичнее.
Возможно, вы можете сделать что-то подобное здесь.Если слишком много юнитов в конечном итоге движутся к одному и тому же пути и сталкиваются друг с другом, и это выглядит нереально, есть ли какая-нибудь дешевая и простая вещь, которую вы можете сделать, чтобы обнаружить ситуацию и изменить анимацию?