Помните, что изначально MVC был чисто архитектурным шаблоном GUI. Поэтому неудивительно, что он плохо сопоставляется с ИИ, сетью или чем-то еще. Но есть все еще некоторые преимущества использования здесь. Но то, чего достигает код, не так важно, как то, где он находится в цепочке. То, что что-то выглядит как внутреннее, не означает, что оно есть, и поэтому не должно учитываться как таковое.
например. Если вы пишете бота, высока вероятность того, что вы будете просто писать сценарии для манипулирования персонажами. Таким образом, в этом смысле интерфейс сценария является уже существующим контроллером, и ваши сценарии совершенно не зависят от этого. Вы даже не подходите близко к Модели, чтобы написать этот AI высокого уровня.
Теперь, если бы вы были первоначальным программистом, который должен был написать функциональность ИИ низкого уровня, которая запускается либо взаимодействием с игроком (например, щелкая где-нибудь, чтобы начать там ходить), либо скриптом в стиле бота, то вы бы писал это в Модель.
Может показаться неинтуитивным иметь какую-то единую концепцию, такую как «ИИ», охватывающую весь путь от модели, через контроллер и вплоть до того, кто или что-либо манипулирует контроллером, но так оно и происходит, когда вы пытаетесь отобразить 2 очень разные понятия друг на друга. Это очевидно, когда вы смотрите на это с точки зрения разработчика, пытающегося представить те же интерфейсы для неигровых персонажей, что и для персонажей-игроков - в конечном итоге ИИ должен включать в себя как принятие решений на высоком уровне, так и актер за пределами система создаст, в дополнение к низкоуровневой реализации, которая обычно существует как для игроков, так и для не игроков в системе.