Раньше я немного программировал в игровой сети, но в основном с TCP для игр без необходимости в реальном времени. Я работаю над 2D Java-игрой с сетевым мультиплеером. Для обучения я хочу сделать это сам, без существующего сетевого API.
Как эффективно представить состояние игры, отправленное клиентам с сервера? Существует наиболее очевидный, но, вероятно, наименее эффективный способ, который заключается в создании какого-либо объекта контекста игрового состояния с указанием местоположения каждого игрока, состояния анимации и т. Д. И отправке его каждому игроку при каждом обновлении . Это не кажется ужасно сложным для реализации, но, вероятно, будет слишком большим для достижения чего-либо, близкого к взаимодействию в реальном времени (конечно, мой опыт с этим ограничен, поэтому я могу ошибаться)
Есть ли надежный способ, который вы использовали раньше, чтобы передавать только изменения состояния, и есть ли достаточно большой дисбаланс в производительности, который стоит дополнительной работы?