Прежде чем переходить к реализации (или к тому как это будет реализовано) и к ограничениям, я бы все таки хотел услышать именно пожелания менеджеров ЧТО должно влиять на автозамены. А не выбор из двух вариантов озвученных выше.
На данный момент, судя по откликам, я бы определил следующие варианты:
1. Замена по усталости + времени (именно плюс, а не или). Данный вариант позволит менять игрока НЕ раньше определенного времени (например усталость 50 и время 60 минута), но также и на какой то минуте вне зависимости от усталости (усталость 0 + время 75) - для прокачки молодых игроков. Просто усталость и замена во втором тайме не дают подобной гибкости.
2. Изменение тактики по счету матча. На мой взгляд это больше относится к Расстановке игроков (а не просто к замене) и Сопутствующие ей замены. То есть, игроки , которые есть в расстановке 3-4-3, при изменении тактики 4-4-2 на 3-4-3, выйдут на поле. Но в таком случае Обратное изменение расстановки будет невозможно. В данный вариант также можно добавить время матча. Например разница в счете в 3 мяча + 60 минута.
3. Важный момент был отмечен несколькими менеджерами - удаление защитника в начале игры может привести к катастрофическим последствиям для команды. Данный вариант может включать возможность 'замены по удалению' игрока определенного типа. То есть при удалении защитника заменить нападающего или пз на защитника и поставить на ту же позицию... (хотя данный вариант может быть достаточно сложен в реализации). Возможно имеет смысл сделать данный вариант прописанным внутри движка, а юзер только должен будет выбирать галочку в тактике: делать замену или нет. Движок же будет сам определять кого и на кого поменять.
4. Замена по травме игрока. Несколько игроков высказалось ЗА замену по травме. Честно говоря, я сомневаюсь, что кто-то будет пользоваться этой опцией. Так как никогда нельзя знать какой игрок будет травмирован и соответственно надо будет ставить автозамену ВСЕМ игрокам перед началом каждого матча. Движок итак обычно достаточно хорошо выбирает игрока наиболее подходящего на замену того, что травмирован и не может продолжать играть. Есть вариант устанавливать планку автозамены по травме (не 50, а другое значение), но сама замена опять же будет выбираться автоматически.
Хотелось бы услышать мнение менеджеров по этим и возможно каким то другим вопросам, которые я упустил.
п.п. 1 и 3-й (второй слишком мудрен), если 3-й сложен в реализации, может, действительно, сделать внутри движка, чтобы на место удаленного заща вставал п/з.