Имеется игровой сервер и куча игровых клиентов. Стоит серьёзный вопрос: как правилно считать путь? Смысл вопроса не в самом способе подсчёта, а где он должен считаться? Вариантов у нас немного: либо на сервере, либо на самом клиенте.
Подсчёт пути на сервере: возникает ряд проблем. Чтобы сервер мог адекватно расчитать путь для персонажа, он должен иметь точное представление всех объектов, все их координаты, точно высчитывать все столкновения и т.д. Если таких объектов в сцене 10000, при этом имеется 1000 клиентов, то любой сервер загнётся! Это ещё не беря в расчёт, что это будет трудно реализовать.
Подсчёт пути на клиенте: было бы замечательно, если каждый клиент считал бы для себя путь сам! Клиентское приложение само определяет все столкновения, находит подходящий путь, отправляет на сервер сообщение, что персонаж переместился по такому пути, и все радуются. Но тут имеется одна огромная проблема: неограниченная возвожность для читеров! Что если какой-нибудь умник залезет в клиентское приложение, внесёт туда некие поправки, и будет считать путь так, как ему это удобно. Будет гулять по воде, проходить сквозь деревья и всё в этом духе. Т.е. полагаться на вычисления клиента очень и очень опасно.
Может быть есть у кого идеи по этому поводу?