Political World — борьба со спамом событий
✅ Проверено в Political World 🧪 Design case study
Политическая симуляция способна создавать намного больше внутренних событий, чем игрок физически может прочитать.
В Political World эта проблема появилась из-за эволюции идеологий, саммитов и повторяющихся политических сообщений.
Решение было не в том, чтобы перестать симулировать системы, а в том, чтобы разделить события симуляции и уведомления для игрока.
Проблема
Заголовок раздела «Проблема»В ленту могли постоянно лететь:
- сообщения об эволюции идеологии;
- вызовы саммитов;
- открытие саммитов;
- отмена саммитов;
- повторяющиеся сообщения о голосованиях.
Проблемой для игрока был шум, а не обязательно сама симуляция.
Подход Quiet Feed
Заголовок раздела «Подход Quiet Feed»В проверенной версии Quiet Feed намеренно скрывались несколько частых категорий:
ideology_evolution_*summit_calledsummit_openedsummit_cancelledУведомления о голосованиях оставались видимыми, но получили глобальный cooldown.
Важное архитектурное решение
Заголовок раздела «Важное архитектурное решение»В этой версии не было отложенной очереди уведомлений.
Если во время cooldown происходило несколько дополнительных событий, лишние сообщения просто отбрасывались, а не копились для последующей выдачи.
Это не даёт породить вторую проблему:
исправить спам уведомлений, создав отложенный спам уведомлений.
Симуляция и отображение — разные уровни
Заголовок раздела «Симуляция и отображение — разные уровни»Удобная архитектура:
simulation event ↓event data ↓notification policy ├─ показать сейчас ├─ скрыть ├─ ограничить частоту └─ объединитьСимуляция не должна требовать, чтобы каждое внутреннее событие превращалось в UI-сообщение.
Замечание о паузе
Заголовок раздела «Замечание о паузе»Во время тестов сообщения, появившиеся сразу после нажатия паузы, могли быть хвостом UI/feed от событий, созданных ещё до паузы.
По одному позднему уведомлению нельзя делать вывод «симуляция продолжает работать на паузе». Нужно проверить, продолжают ли создаваться новые события спустя время.
Возможное развитие
Заголовок раздела «Возможное развитие»Позже вместо полного suppression можно использовать агрегацию:
За этот год произошло 12 изменений идеологий.Проведено 3 саммита международных блоков.Так информация сохраняется, но лента не превращается в консоль логов.
Граница
Заголовок раздела «Граница»Страница описывает внутреннюю систему уведомлений Political World. Конкретные event identifiers относятся только к этому проекту.