Существует два основных способа выполнения этого вида моделирования На основе агента и Динамика системы . В симуляции на основе агентов каждая сущность в игре будет представлена экземпляром класса со свойствами и поведением, все взаимодействия между сущностями должны быть явно определены, и когда вы хотите, чтобы эти сущности взаимодействовали, функция называется свойствами из взаимодействующих лиц меняется.
Динамика системы совершенно иная, она имеет дело только с суммами и итогами, в системе нет представления об одном объекте. Самый простой пример этого - модель «Хищник и добыча».
Оба из них имеют свои преимущества и недостатки, подход System Dynamics лучше масштабируется для большого количества прав, сохраняя при этом короткое время выполнения. Хотя существует несколько формул, которые необходимо вычислить, время для расчета не зависит от значений в формуле. Но нет никакого способа посмотреть на отдельную сущность в этом подходе. Подход на основе агентов позволяет размещать объекты в определенных местах и позволяет взаимодействовать с конкретными объектами в моделировании.
автоматы и Celular автоматы - другие способы моделирования систем в игре. Например. в агентном подходе вы можете смоделировать поведение одного агента с помощью FSM. Simcity использовал Celular-автоматы для выполнения имитационной работы.
Как правило, у вас, вероятно, не будет одной большой огромной модели, которая выполняет все, кроме нескольких систем, выполняющих конкретные задачи, некоторые из них не нужно будет обновлять очень часто, например. что-то, что определяет погоду, другие могут нуждаться в постоянных обновлениях. Даже если вы разместите их в отдельных потоках, вы захотите приостановить или запустить их, когда они вам понадобятся. Возможно, вы захотите разделить работу на несколько кадров, например, рассчитывать только обновления на определенное количество агентов.