2009-12-12 11 views
6

Ben bir öğrenme egzersizi olarak python yazıyorum küçük çok oyunculu oyun başlangıçlar var. Şu anda sunucu 10 fps hızında çalışıyor, istemciler istedikleri oranda çalışıyorlar. Bu, bant genişliğini korumak için iyi çalışır, ancak istemcinin girdisi olduğunda sunucuya bildirmediği sürece, tüm girdiler 100 ms aralıklarla ölçülür. İstemci ve sunucu arasındaki zamanı nasıl eşitleyebilirim, böylece bu düzeltmeleri yapabilirim? Burada büyük bir engel, ping sürelerini belirlemem ve onları telafi etmem gerekmesi.senkronize süresi

+0

Diğer oyun tasarımcılarının çoğunun yanıtı, (temelde) iyi bir senkronizasyon elde edemeyeceğinizdir. Wow ve kin gibi büyük oyunlar, istemci tarafındaki işlemlerin çoğunu simüle eder ve her iki yönde de güncellemeleri uygun şekilde yönlendirir. –

cevap

1

Genelde dağıtılmış ağ fiziğinin nasıl yapılacağı hakkında (geleneksel müşteri tahminleri olmaksızın) yanlışlıkla bir excruciatingly fine blog post numaraya rastladım. Bunu tavsiye ederim, Fiedler birkaç yıl önce sunduğu GDC slaytları ile birlikte. İyi şanslar!

+0

Teşekkürler, dizinin eksik olduğu uzun zaman önce bu blog yazılarını hatırlıyorum. Ağ üzerinde sonuncusu harika ve çok yardımcı olmalı! – Alex

0

Bu çok ilginç bir sorudur. Ne yazık ki kolay bir cevap yok. Sadece iyi sorunu understnad ve uygulamanız için yeterliiyi bir çözüm için razı olmak zorunda.

Benim ilk içgüdüsü NTP sunucularından makine saatlerini ayarlamak için Network Time Protocol (NTP) bu konuya değindik olacağıydı. konulardan biri packet delay variation içerir ki, Jitter Buffers orada ilgilidir hitap etti. Bu, RFC 3393; IP Packet Delay Variation Metric for IP Performance Metrics (IPPM)'da ayrıntılandırılmıştır.

+0

NTP'ye bakacağım, bu durum benim durumum hakkında biraz bilgi verebilir. – Alex