Ana içeriğe geç
Oyun

RuneScape 2004 yılında çevrim içi rol yapma deneyimini 56k modemlere nasıl sığdırdı

Öne çıkanlar

  • 56k çevirmeli ağ kısıtları nedeniyle istemci ve sunucu arasındaki veri tüketimi saniyede yaklaşık 5 KB düzeyinde tutuldu.
  • Hareket paketlerinde mutlak koordinatlar yerine yalnızca yön değişimleri (delta) gönderilerek bayt tasarrufu sağlandı.
  • Sunucu döngüsü 600 milisaniyelik adımlarla çalışarak oyuncu güncellemelerini bit düzeyinde paketlenmiş tek bir veri akışında birleştirdi.

Jagex tarafından 2004 yılında geliştirilen RuneScape 2, binlerce oyuncunun aynı sunucuda yer aldığı üç boyutlu bir rol yapma oyununu saniyede yalnızca 5 kilobayt veri aktarabilen 56k çevirmeli ağ (dial-up) bağlantılarında çalıştırmayı başardı. Tarayıcı tabanlı bir Java uygulaması olarak tasarlanan oyun, dönemin kısıtlı ağ altyapısında akıcı bir deneyim sunabilmek için bayt düzeyinde sıkı bir veri tasarrufu mimarisi kullandı.

Geliştiriciler, istemci ile sunucu arasındaki veri trafiğini asgari düzeye indirmek için bit paketleme ve fark tabanlı (delta) güncelleme yöntemlerini tercih etti. Karakter hareketlerinde tüm koordinatlar yerine yalnızca yön değişiklikleri ve varış noktaları iletilirken, TCP paketlerindeki her baytın boyutu katı kurallarla optimize edildi. Paket türlerini belirten işlem kodları (opcode) ise üçüncü taraf analiz araçlarını engellemek amacıyla ISAAC şifreleme algoritmasıyla korundu.

Sunucu tarafında her 600 milisaniyede bir çalışan ana döngü, oyuncuların eylemlerini işleyerek tek bir birleşik güncelleme paketi üretti. İstemcide tutulan yerel dünya aynası sayesinde sunucu, yalnızca değişen verileri bit seviyesinde göndererek dar bant genişliğinde binlerce eşzamanlı kullanıcının sorunsuz etkileşim kurmasını sağladı.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.