Saya pemrograman server khusus di C # menggunakan BeamServer2 DLL. Pada awalnya saya ingin melihat pemain lain bergerak di peta Omuni kami yang sudah dibuat. Ini saya lakukan dengan hanya mengirim posisi Anda ke server setiap frame. Ini berhasil dan saya bisa bermain dengan beberapa teman tetapi gerakan itu tidak laggfree. Jadi saya mulai mencoba untuk menambahkan perataan gerakan dan juga beberapa keamanan sehingga mereka tidak bisa hanya mengirim posisi palsu ke server tanpa server menghentikannya dari menjangkau klien lain.
Apa yang saya lakukan, saya membuat masterClient yang memiliki movementController pada remotePlayer. Ketika klien ingin pindah, dia bergerak secara lokal dan mengirim pesan ke server dengan arah untuk pindah. Server kemudian mengambil kecepatan dan mengirimkannya ke masterClient. MasterClient daripada memindahkan remotePlayer sama seperti remotePlayer bergerak sendiri. Ketika dia berhenti bergerak, dia mengirim pesan dengan posisi di dalamnya. Masterclient akan memeriksa apakah posisi yang ia datangi sedekat posisi yang ia miliki dari klien, jika realistis menurut ping klien, server menempatkannya pada posisi klien.
Ini berfungsi, tetapi saya masih memiliki masalah tunda dan saya tidak yakin bagaimana cara memperbaikinya. Saya harus membuat gerakan memuluskan pada klien tetapi saya menemukan diri saya bahwa saya hanya bisa lerp (x / 2, y / 2, z / 2) ke posisi dan menempatkannya pada posisi nyata frame berikutnya, saya gagal pada saat itu dan saya akan mencoba lagi nanti. Bahkan jika itu ditambahkan, saya tidak yakin apakah lagg diperbaiki.
Ada teknik, saran, pertanyaan, ...? Terima kasih, Diede.