Как стать автором
Обновить

Как мы развивали бэкенд War Robots, в процессе заDDoSив самих себя — и чему научились после этого

Время на прочтение14 мин
Количество просмотров5.8K
Всего голосов 34: ↑34 и ↓0+34
Комментарии4

Комментарии 4

Какие выводы можно сделать из нашего опыта?

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

Геймдев он такой. Вероятность, что сильно взлетит и простая реализация фичи начнет создавать проблему не сильно большая. А делать изначально хорошо - больше человекочасов(т.е. денег), и они могут легко не окупиться.

Вначале у нас были довольно жирные запросы между клиентом и сервером, а сейчас мы переходим к ситуации, когда состояние между клиентом и сервером синхронизируется только изменениями между ними, небольшими сжатыми дельтами — это очень серьезно оптимизирует работу с сетью.

Вот в последнее время часто возникают ситуации когда вражеский робот в игре как бы есть, то есть на него наводится прицел, по нему можно стрелять, но урон не проходит, и сам этот робот стоит на одном месте без движения. То есть по сути он afk. Были также ситуации, когда мой робот как бы участвует в игре, бегает, стреляет, но урон не наносит и маяки не захватывает. Видимо здесь какая-то засада в клиент-серверном взаимодействии.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий