По сути у вас две задачи:
1. анимация перемещения
2. взаимодействие с другими предметами/игроками
Анимация делается на js отдельно, для этого серверу не требуетс каждые 100мс сообщать куда двигаться (конечно если не было изменение маршрута).
А вот взаимодействие с другими предметами и игроками сложная штука, по сути там формула поиска пересечений траекторий объектов и принятие решений об изменении дальнейшей траектории или изменения состояний объектов. В некотором роде клиент и сервер дублируют эту задачу, просто делают это по разному.