Я создаю простую игру для Android, которая занимается многопользовательской игрой и подключением к серверу. Это то, чего я хочу добиться в своей игре.
Клиент отправляет нажатие клавиши на сервер.
Сервер принимает ввод, обновляет состояние, вычисляет и возвращает новую позицию клиенту.
Клиент получает новую позицию и обновляет экран.
У меня уже есть некоторый код, поэтому один из моих потоков отправляет нажатие клавиши на сервер, ждет новой позиции, а затем обновляет экран. Дело в том, что есть задержка между движениями игрока. Думаю, это связано с задержкой. Я также пробовал два потока: один для отправки/получения данных с сервера, а другой — для обновления экрана. Но это не решило мою проблему с задержкой.
Может ли кто-нибудь предложить хороший дизайн для сетевой игры?
Нужно ли делать раннее предсказание?
Нужен ли мне отдельный поток для получения данных и рендеринга экрана?
P.S. Я впервые создаю сетевую игру, поэтому понятия не имею, что делаю.