Примерная архитектура:
Клиент (приложение под ios)
по апи сохраняет на сервере стратегию (карточки программ поведения зомби)
по желанию пользователя отправляет заявку на бой с другими зомбями
как только заявка на бой сформирована, клиент ждет, когда к нему придет результат симуляции боя
как только симуляция боя пришла, то клиент проигрывает визуализацию боя
Сервер (nodejs)
сохраняет стратегию
принимает заявки от игроков, создает сообщение со стратегиями зомби, отправляет в очередь.
Отслеживает, орбаботана ли симуляция на проведение боя. Если да, то передает клиенту шаги (все сразу или по одному), чтобы тот отрисовал симуляцию боя
Рассчет боя (python):
берет из очереди сформированную заявку со стратегиями зомби, вычисляет ходы по правилам, сохраняя состояния карты, после этого передает всю последовательность состояний сохраняет/передает серверу для отправки клиенту.
Примерная архитектура: Клиент (приложение под ios)
Сервер (nodejs)
Рассчет боя (python):