Saya harus menyinkronkan pergerakan beberapa pemain melalui Internet, dan saya mencoba mencari cara teraman untuk melakukannya.
Permainan ini berbasis ubin, Anda hanya dapat bergerak dalam 4 arah, dan setiap gerakan memindahkan sprite 32px (seiring waktu tentunya). Sekarang, jika saya hanya mengirim aksi perpindahan ini ke server, yang akan menyiarkannya ke semua pemain, sementara tombol jalan terus ditekan, untuk terus berjalan, saya harus mengambil perintah berikutnya, mengirimkannya ke server, dan untuk semua klien, pada waktunya, atau perpindahan tidak akan mulus lagi. Saya melihat ini di game lain, dan itu bisa menjadi sangat cepat, bahkan tanpa lag. Jadi saya bertanya-tanya apakah ini bahkan pilihan yang layak. Ini sepertinya metode yang sangat bagus untuk pemain tunggal, karena mudah, lurus ke depan (, cukup ambil tindakan gerakan selanjutnya dan tambahkan ke daftar), dan Anda dapat dengan mudah menambahkan gerakan mouse (mengklik ubin), untuk menambahkan jalur ke antrian, itu berjalan bersama.
Hal lain yang muncul di benak saya adalah mengirimkan informasi bahwa seseorang mulai bergerak ke suatu arah, dan sekali lagi dia berhenti atau mengubah arah, bersama dengan posisi, sehingga sprite akan muncul di posisi yang benar, atau lebih tepatnya sehingga posisi bisa diperbaiki jika salah. Seharusnya ini (semoga) hanya membuat masalah jika seseorang benar-benar tertinggal, dalam hal ini yang diharapkan. Agar hal ini berhasil, saya perlu semacam antrian, di mana perubahan arah yang masuk dan hal-hal disimpan, sehingga sprite tahu ke mana harus pergi, setelah gerakan saat ini ke ubin berikutnya selesai. Ini sebenarnya bisa bekerja, tetapi terdengar rumit. Meskipun itu mungkin satu-satunya cara untuk melakukan ini, tanpa risiko gagap. Jika perubahan berhenti atau arah diterima di sisi klien, itu s disimpan dalam antrian dan char terus bergerak ke koordinat yang ditentukan, sebelum berhenti atau mengubah arah. Jika perintah baru datang terlambat pasti akan gagap juga ...
Saya kesulitan menentukan metode, dan saya belum bisa menemukan contoh untuk ini. Masalah utama saya adalah menjaga pergerakan ubin menjadi lancar, itulah sebabnya topik lain tentang sinkronisasi gerakan berbasis piksel tidak banyak membantu.
Apa cara "standar" untuk melakukan ini?