1. Можно использовать вебсокеты - тогда соединение будет поднято только 1 раз и бэк сможет "пушить" события на фронт.
2. Если игра не рандомная, то можно часть вычислений производить на фронте, а на бэк идти только тогда, когда что-то должно измениться или для того чтобы синхронизироваться на всякий случай.