Сеть в мобильных играх: офлайн-first, синхронизация и честный PvP
Почему игрок в метро не должен проигрывать из-за обрыва LTE — и как проектировать backend.
Мобильная сеть нестабильна: туннели, Wi‑Fi в кафе, фоновые ограничения OS.
Офлайн-first UX:
• Локальное сохранение прогресса с timestamp
• Очередь действий на сервер при восстановлении сети
• Конфликты: last-write-wins для косметики, server authority для валюты и рейтинга
Realtime (Photon, Nakama, custom WebSocket):
— подходит для кооп и быстрых дуэлей
— нужен reconnect и предсказание (client-side prediction) для отзывчивости
Async PvP (Clash-style):
— игрок бьёт «призрак» записи другого
— проще масштабировать и дешевле по инфраструктуре
Античит: никогда не доверяйте клиенту счёт очков в лидерборде. Валидация на сервере, rate limits, подпись критичных пакетов.
Battery & data: пакеты реже и меньше; не поллите каждую секунду без нужды.
Тестируйте на 3G throttling и airplane mode toggle — классический сценарий «зашёл в лифт во время боя».