Gecikme (video oyunları) - Lag (video games)

Gelen çevrimiçi oyun , gecikme fark edilir bir gecikme (olan gecikme eylem arasında) oyuncular (girdi) ve reaksiyonundan sunucusuna destekleyen oyun geri gönderilmesi gerekmektedir, istemci .

Oyuncunun gecikmeyi tolere etme yeteneği, oynanan oyunun türüne bağlıdır. Örneğin, yavaş tempolu bir strateji oyunu veya sıra tabanlı bir oyun , yüksek bir eşiğe sahip olabilir veya hatta çoğunlukla yüksek gecikmeden etkilenmeyebilir. Oldukça hızlı bir tempoya sahip birinci şahıs nişancı gibi seğirme oyununa sahip bir oyun , tatmin edici bir oyun sağlamak için önemli ölçüde daha düşük bir gecikme gerektirebilir .

Ping zamanı

Ping süresi, ping yardımcı programı veya eşdeğeri ile ölçüldüğü üzere, bir oyuncunun istemcisi ile oyun sunucusu arasındaki gidiş-dönüş için ağ gecikmesidir . Ping süresi, milisaniye (ms) cinsinden ölçülen ortalama süredir . Ping ne kadar düşükse, gecikme o kadar düşük olur ve oyuncu o kadar az gecikme yaşar. Yüksek ping ve düşük ping , yüksek ping'in ciddi miktarda gecikmeye neden olan bir ping anlamına geldiği çevrimiçi oyunlarda yaygın olarak kullanılan terimlerdir ; Herhangi bir ping seviyesi gecikmeye neden olabilirken, ciddi gecikme genellikle 100 ms'nin üzerinde bir ping ile gösterilir. Bu kullanım bir oyun kültürü konuşma dilidir ve profesyonel bilgisayar ağı çevrelerinde yaygın olarak bulunmaz veya kullanılmaz. Birinci şahıs nişancı ve gerçek zamanlı strateji oyunları gibi zamanlamanın önemli olduğu oyunlarda, düşük bir ping her zaman arzu edilir, çünkü düşük bir ping , oyuncuların istemcileri ve oyun sunucusu arasında oyun verilerinin daha hızlı güncellenmesine izin vererek daha akıcı bir oyun anlamına gelir .

Yüksek gecikme, gecikmeye neden olabilir. Gecikme çok yüksekse oyun sunucuları bir istemcinin bağlantısını kesebilir ve diğer oyuncuların oyununa zarar verebilir. Benzer şekilde, gecikme çok yüksekse istemci yazılımı genellikle bağlantının kesilmesini zorunlu kılar. Yüksek ping, kararsızlık nedeniyle sunucuların çökmesine de neden olabilir.

Bazı birinci şahıs nişancı oyunlarında, yüksek bir ping, oyuncunun bir yerden kaybolma ve anında başka bir yerde yeniden ortaya çıkma gibi istemeden haksız avantajlar elde etmesine neden olabilir, ışınlanma etkisini simüle eder, böylece diğer oyuncuların karakterlerinin karakterini yargılamasını zorlaştırır. pozisyon ve daha sonra oyuncuyu hedeflemeyi çok daha zor hale getirir. Buna karşı koymak için birçok oyun sunucusu, ortalamadan daha yüksek bir pinge sahip oyuncuları otomatik olarak tekmeliyor. Tersine, yüksek bir ping, meydana gelen olumsuz etkiler nedeniyle oyuncunun oyunu oynamasını çok zorlaştırabilir, oyuncunun diğer oyuncuları izlemesini ve hatta karakterlerini hareket ettirmesini zorlaştırabilir.

Video oyunu programcıları , ping sürelerini belirlemek için geleneksel ICMP yankı isteği ve yanıt ağ paketlerini kullanmak yerine , genellikle kendi gecikme algılamalarını mevcut oyun paketlerine (genellikle UDP protokolüne dayalı olarak ) kurarlar.

Ping'i etkileyebilecek bazı faktörler şunlardır: kullanılan iletişim protokolü , İnternet çıkışı (bağlantı hızı), kullanıcının İnternet servis sağlayıcısının kalitesi ve güvenlik duvarlarının yapılandırması . Ping, coğrafi konumdan da etkilenir. Örneğin, biri Hindistan'daysa ve Amerika Birleşik Devletleri'nde bulunan bir sunucuda oynuyorsa, ikisi arasındaki mesafe ABD'de bulunan oyuncular için olduğundan daha fazladır ve bu nedenle verilerin iletilmesi daha uzun sürer. Ancak, iki bilgisayar arasındaki paket anahtarlama ve ağ donanımı miktarı genellikle daha önemlidir. Örneğin, kablosuz ağ arabirim kartları , dijital sinyalleri radyo sinyallerine modüle etmelidir ; bu, genellikle bir elektrik sinyalinin tipik bir kablo aralığını geçmesi için geçen süreden daha maliyetlidir. Bu nedenle, daha düşük ping, daha hızlı İnternet indirme ve yükleme oranlarına neden olabilir.

nedenler

Basitleştirilmiş bir oyun mimarisi

Bir iken tek oyunculu oyun yerel makinede ana oyun düşürmediği bir çevrimiçi oyun bireysel müşterileri arasında tutarsızlıklar önlemek amacıyla merkezi bir sunucuda tutulmasını gerektirir. Bu nedenle, istemcinin merkezi oyun durumu üzerinde doğrudan bir kontrolü yoktur ve yalnızca sunucuya değişiklik istekleri gönderebilir ve yalnızca sunucudan güncellemeler alarak yerel oyun durumunu güncelleyebilir. Bu iletişim ihtiyacı, istemciler ve sunucu arasında bir gecikmeye neden olur ve gecikmenin arkasındaki temel nedendir. Bir oyuncunun gecikme yaşamasının altında yatan çok sayıda neden olsa da, bunlar istemcide veya sunucuda yetersiz donanım veya istemci ile sunucu arasındaki zayıf bağlantı olarak özetlenebilir.

Donanımla ilgili sorunlar, oyun mimarisinin temel yapısı nedeniyle gecikmeye neden olur. Genel olarak oyunlar, döngülü bir dizi durumdan veya "karelerden" oluşur. Her karede oyun kullanıcı girdisini kabul eder ve gerekli hesaplamaları yapar (AI, grafik vb.). Tüm işlemler bittiğinde oyun, oyun durumunu güncelleyecek ve ekranda yeni bir görüntü ve/veya sunucuya gönderilecek bir paket gibi bir çıktı üretecektir. Çerçevelerin oluşturulduğu frekansa genellikle çerçeve hızı denir . Merkezi oyun durumu sunucuda bulunduğundan, geçerli olabilmesi için güncellenen bilgilerin istemciden sunucuya gönderilmesi gerekir. Ayrıca, istemcinin durumu tamamen güncellemek için sunucudan gerekli bilgileri alması gerekir. Sunucuya gönderilecek paketlerin oluşturulması ve alınan paketlerin işlenmesi, yalnızca istemcinin yerel durumunu güncelleyebildiği sıklıkta yapılabilir. Paketler teorik olarak bundan daha hızlı oluşturulup gönderilebilse de, oyun durumu her paket arasında güncellenemiyorsa, yalnızca fazla veri gönderilmesine neden olur. Bu nedenle, düşük kare hızı, oyunu güncellemelere karşı daha az duyarlı hale getirir ve eski verileri atlamaya zorlayabilir.

Tersine, aynı şey sunucu için de geçerlidir. Sunucunun kare hızı (veya onay hızı), istemcilerden gelen verileri ne sıklıkta işleyebileceğini ve güncellemeleri gönderebileceğini belirler. Bu tür bir sorunu tahmin etmek ve telafi etmek zordur. Minimum donanım gereksinimlerini zorlamak ve oyunu daha iyi performans için optimize etmeye çalışmak dışında, bununla başa çıkmanın uygun bir yolu yoktur.

Belki de en yaygın gecikme türü, ağ performansı sorunlarından kaynaklanır . Kayıplar , bozulma veya titreme (eski bir paket aslında bir kayıptır) sorunlara neden olabilir, ancak bu sorunlar, yeterli bant genişliğine sahip ve hiç veya çok az tıkanıklığı olan bir ağda nispeten nadirdir . Bunun yerine, istemciler ve sunucu arasında veri aktarımıyla ilgili gecikme önemli bir rol oynar. Gecikme, uç sistemler arasındaki fiziksel mesafe gibi bir dizi faktöre bağlı olarak değişir, çünkü daha uzun bir mesafe, ek iletim uzunluğu ve gerekli yönlendirme ve dolayısıyla daha yüksek gecikme anlamına gelir . Bulut oyun hizmeti OnLive , birden çok Katman 1 ağ İnternet Servis Sağlayıcısı ile eşleme ilişkileri kurarak bu soruna bir çözüm geliştirmiş olsa da , İnternet üzerinden yönlendirme son derece dolaylı olabilir ve doğrudan bir rotadan çok daha fazla iletim uzunluğuna (ve bunun sonucunda gecikme süresine) neden olabilir. ve sunucu ile kullanıcı arasında en uygun yolu seçme. Ayrıca yetersiz bant genişliği ve tıkanıklık, kayıplara neden olacak kadar şiddetli olmasa bile, mesafeden bağımsız olarak ek gecikmelere neden olabilir. Donanım sorunlarında olduğu gibi, yavaş gelen veya hiç gelmeyen paketler hem istemcinin hem de sunucunun oyun durumunu zamanında güncelleyememesine neden olacaktır.

Bir kablosuz ağ kullanan çevrimiçi oyun sistemleri, kablosuz ağın mimarisine ve bu ağı etkileyen yerel elektromanyetik girişime bağlı olarak önemli gecikmelere maruz kalabilir . Elektromanyetik girişim (örneğin bir mikrodalga fırından kaynaklanan ), iletilen paketlerin kaybolmasına neden olarak gecikmeye neden olan bir yeniden iletimi gerektirebilir. Hava yoluyla radyo yayılımı bir optik fiber aracılığıyla ışıktan daha hızlı olmasına rağmen , kablosuz sistemler çoğu zaman birçok kullanıcı arasında paylaşılır ve ağ tıkanıklığı veya gecikmeye neden olan ağ protokolleri nedeniyle oluşan gecikmeden zarar görebilir .

Etkileri

Gecikmenin gözle görülür etkileri yalnızca kesin nedene bağlı olarak değil, aynı zamanda oyunun uygulayabileceği tüm gecikme telafisi tekniklerine (aşağıda açıklanmıştır) bağlı olarak değişir. Tüm müşteriler biraz gecikme yaşadığından, oyuncular üzerindeki etkiyi en aza indirgemek için bu yöntemleri uygulamak sorunsuz oyun için önemlidir. Gecikme, oyun durumunun doğru bir şekilde oluşturulması ve isabet tespiti gibi sorunlar için çok sayıda soruna neden olur. Çoğu oyunda, gecikme normal oynanışı bozduğu için genellikle hoş karşılanmaz. Gecikmenin şiddeti, oyunun türüne ve gecikmeye karşı doğal toleransına bağlıdır. Daha yavaş tempolu bazı oyunlar, herhangi bir telafi etmeye gerek duymadan önemli gecikmeleri tolere edebilirken, daha hızlı tempolu diğerleri oldukça daha hassastır ve oynanabilmesi için kapsamlı bir telafi kullanımı gerektirir (birinci şahıs nişancı türü gibi). Gecikmenin neden olabileceği çeşitli sorunlar nedeniyle, yetersiz hızlı İnternet bağlantısına sahip oyunculara bazen izin verilmez veya uzak bir sunucu ana bilgisayarına sahip olan veya birbirlerine yüksek gecikme süresi olan diğer oyuncularla veya sunucularla oynamaları önerilmez. Aşırı gecikme vakaları, oyun durumunun kapsamlı senkronizasyonunun bozulmasına neden olabilir.

İstemci ve sunucu arasındaki yetersiz güncelleme hızı nedeniyle gecikme bazı sorunlara neden olabilir, ancak bunlar genellikle istemcinin kendisiyle sınırlıdır. Diğer oyuncular, etkilenen müşteriyle ilişkili oyuncuyla sarsıntılı hareketler ve benzer sorunlar fark edebilir, ancak asıl sorun müşterinin kendisindedir. İstemci oyun durumunu yeterince hızlı bir şekilde güncelleyemiyorsa, oyuncuya oyunun güncel olmayan yorumlamaları gösterilebilir ve bu da isabet ve çarpışma algılamasında çeşitli sorunlara neden olabilir. Düşük güncelleme hızına düşük kare hızı neden oluyorsa (bazı oyunların izin verdiği gibi istemcideki bir ayarın aksine), bu sorunlar genellikle istemci tarafı işlemenin kendisiyle ilgili sayısız sorun tarafından gölgelenir. Hem ekran hem de kontroller yavaş ve tepkisiz olacaktır. Bu, algılanan gecikmeyi artırabilse de, bunun ağla ilgili gecikmelerden farklı bir tür olduğunu belirtmek önemlidir. Karşılaştırıldığında, sunucudaki aynı sorun, ilgili tüm istemciler için önemli sorunlara neden olabilir. Sunucu, istemcilerden gelen paketleri yeterince hızlı kabul edemiyor veya isteksizse ve bunları zamanında işliyorsa, istemci eylemleri hiçbir zaman kaydedilmeyebilir. Sunucu daha sonra istemcilere güncellemeler gönderdiğinde, oyunun ne tür gecikme telafisi kullandığına bağlı olarak donma (yanıt vermeyen oyun) ve/veya geri alma yaşayabilirler .

Ağ gecikmesinden kaynaklanan gecikme, aksine, genellikle daha az sorun yaratır. Daha yaygın olmasına rağmen, gerçek etkiler genellikle daha küçüktür ve bu tür gecikmeleri telafi etmek mümkündür. Herhangi bir gecikme telafisi olmadan, istemciler, bir eylem gerçekleştirildikten kısa bir süre sonra oyunun yanıt verdiğini fark edeceklerdir. Bu, özellikle, bir oyuncu onları vurmaya çalışırken düşmanların hareket etme olasılığının yüksek olduğu ve hata payının genellikle küçük olduğu birinci şahıs nişancı oyunlarında sorunludur.

Çözümler ve gecikme telafisi

Gecikmeleri azaltmak veya gizlemek için çeşitli yöntemler vardır, ancak bunların birçoğunun dezavantajları vardır ve her durumda uygulanabilir olmayabilir. Oyunun kendisi tarafından senkronizasyon mümkün değilse, istemciler gecikmeleri azaltmak için coğrafi olarak kendilerine yakın sunucularda oynamayı seçebilir veya sunucular, zorunda kalmamak için yüksek gecikmeli istemcileri bırakmayı seçebilir. ortaya çıkan sorunlarla ilgilenin. Ancak bunlar pek de optimal çözümler değildir. Bunun yerine, oyunlar genellikle gecikme telafisi göz önünde bulundurularak tasarlanacaktır.

Birçok sorun, istemcilerin kendi durumlarını takip etmelerine ve sunucuya veya doğrudan diğer istemcilere mutlak durumları göndermelerine izin vererek çözülebilir. Örneğin, müşteri bir oyuncunun karakterinin tam olarak hangi pozisyonda olduğunu veya karakterin kimi vurduğunu belirtebilir. Bu çözüm işe yarar ve gecikmeyle ilgili çoğu sorunu ortadan kaldırır. Ne yazık ki, müşterinin dürüst olduğu varsayımına da dayanır. Bir oyuncunun, her zaman hedeflerine ulaşmasını sağlamak için doğrudan istemcide veya bir proxy aracılığıyla dolaylı olarak gönderdikleri verileri değiştirmesini engelleyen hiçbir şey yoktur. Çevrimiçi oyunlarda, hile yapma riski bu çözümü olanaksız hale getirebilir ve istemciler göreli durumları göndermekle (yani hangi vektöre geçtiği veya hangi vektöre girdiği) sınırlı olacaktır.

istemci tarafı

Müşterilerin normalde ana oyun durumunu tanımlamasına izin verilmediği, bunun yerine sunucudan alınmasına izin verildiğinden, istemci tarafı telafisinin ana görevi sanal dünyayı mümkün olduğunca doğru bir şekilde oluşturmaktır. Güncellemeler gecikmeli olarak geldiğinden ve hatta düşürülebildiğinden, bazen müşterinin oyunun akışını tahmin etmesi gerekir. Durum ayrı adımlarla güncellendiğinden, müşteri mevcut örneklere dayalı olarak bir hareketi tahmin edebilmelidir. Bunu gerçekleştirmek için iki temel yöntem kullanılabilir; ekstrapolasyon ve enterpolasyon .

Ekstrapolasyon, gelecekteki bir oyun durumunu tahmin etme girişimidir. Sunucudan bir paket alınır alınmaz, bir nesnenin konumu yeni konuma güncellenir. Bir sonraki güncellemeyi beklerken, bir sonraki pozisyon, mevcut pozisyona ve güncelleme anındaki harekete dayalı olarak tahmin edilir. Esasen istemci, hareket eden bir nesnenin aynı yönde devam edeceğini varsayacaktır. Yeni bir paket alındığında konum biraz düzeltilebilir.

Enterpolasyon, esas olarak bir oyun durumunu arabelleğe alarak ve oyun durumunu hafif, sabit bir gecikmeyle oyuncuya vererek çalışır. Sunucudan bir paket geldiğinde, bir nesnenin konumunu hemen güncellemek yerine, istemci bilinen son konumdan başlayarak konumu enterpolasyona başlar. Bir enterpolasyon aralığı boyunca, nesne iki konum arasında düzgün bir şekilde hareket ettirilecektir. İdeal olarak, bu aralık paketler arasındaki gecikmeyle tam olarak eşleşmelidir, ancak kayıp ve değişken gecikme nedeniyle bu nadiren olur.

Her iki yöntemin de avantajları ve dezavantajları vardır.

  • Enterpolasyon, nesnelerin yalnızca geçerli konumlar arasında hareket etmesini ve sabit gecikme ve kayıp olmadan iyi sonuçlar üretmesini sağlar. Düşen veya sıra dışı paketler enterpolasyon arabelleğini taşarsa, istemcinin nesneyi yeni bir paket gelene kadar yerinde dondurması veya bunun yerine ekstrapolasyona geri dönmesi gerekir. Enterpolasyonun dezavantajı, dünyanın ek gecikmeyle oluşturulmasına neden olarak, bir tür gecikme telafisi uygulanması ihtiyacını artırmasıdır.
  • Konumları tahmin etme sorunu oldukça açıktır: geleceği doğru bir şekilde tahmin etmek imkansızdır. Hareketi ancak hareket sabitse doğru bir şekilde yapacaktır, ancak bu her zaman böyle olmayacaktır. Oyuncular hem hızı hem de yönü rastgele değiştirebilir. Bu, yeni güncellemeler geldikçe ve tahmini konumlar düzeltildikçe küçük bir miktar "çarpma" ile sonuçlanabilir ve ayrıca oyuncular gerçekte olmadıkları konumlarda gösterilebileceğinden isabet tespiti için sorunlara neden olabilir.

Sıklıkla, sorunsuz bir oynanışa izin vermek için, istemcinin oyun durumunda yumuşak değişiklikler yapmasına izin verilir. Sunucu nihai olarak mühimmat, sağlık, konum vb. takip edebilirken, istemcinin, bir oyuncunun sunucu yanıt vermeden önce hareket etmeye başlamasına izin vermek gibi, oyuncunun eylemlerine dayalı olarak yeni sunucu tarafı oyun durumunu tahmin etmesine izin verilebilir. komuta. Bu değişiklikler genellikle normal koşullar altında kabul edilecek ve gecikmeyi büyük ölçüde şeffaf hale getirecektir. Sorunlar, yalnızca yüksek gecikmeler veya kayıplar durumunda, istemcinin tahminleri sunucu tarafından çok belirgin bir şekilde geri alındığında ortaya çıkacaktır. Bazen, küçük farklılıklar olması durumunda, sunucu, istemciden gelen güncellemelere bağlı olarak durumda "yanlış" değişikliklere bile izin verebilir.

sunucu tarafı

İstemcilerin aksine, sunucu tam olarak mevcut oyun durumunu bilir ve bu nedenle bu tür bir tahmin gereksizdir. Sunucu tarafı gecikme telafisinin temel amacı, bunun yerine istemci eylemlerinin doğru etkilerini sağlamaktır. Bu önemlidir çünkü bir oyuncunun komutu geldiğinde zaman ilerlemiş olacak ve dünya artık oyuncunun emrini verirken gördüğü durumda olmayacak. Bunun çok açık bir örneği, marjların küçük olduğu ve uygun şekilde kullanılmadığı takdirde potansiyel olarak önemli sorunlara neden olabileceği birinci şahıs nişancı oyunlarında ateşlenen silahlar için isabet tespitidir.

geri sarma zamanı

Sorunu çözmenin başka bir yolu, belirli bir süre boyunca geçmiş oyun durumlarını saklamak ve ardından bir komutu işlerken oyuncu konumlarını geri almaktır. Sunucu, atış yapan müşterinin atış sırasında ne gördüğünü belirlemek için zamanı uygun bir miktarda geri almak için oyuncunun gecikmesini (enterpolasyondan kaynaklanan herhangi bir doğal gecikme dahil; yukarıya bakın) kullanır. Bu genellikle sunucunun, istemcinin hedefin eski konumuna ateş ettiğini ve dolayısıyla vurduğunu görmesine neden olur. En kötü durumda, bir oyuncu o kadar geride kalır ki sunucunun geçmiş verileri biter ve hedeflerine liderlik etmeye başlamaları gerekir.

Bu, oyuncuların doğrudan gördüklerine nişan almalarını sağlayan bir WYSIWYG çözümüdür. Ancak fiyat, bir oyuncu ateş altındayken gecikmenin etkilerinin ağırlaşmasıdır: sadece kendi gecikmeleri değil, aynı zamanda saldırganları da rol oynar. Çoğu durumda, bu fark edilmez, ancak yeni siper almış oyuncular, sunucudan kendi gecikmelerinin haklı çıkarabileceğinden daha uzun süre hasar/ölüm mesajları almaya devam ettiklerini fark edeceklerdir. Bu, daha sık olarak, gizlenerek vuruldukları (yanlış) izlenimine ve (tamamen yanlış olmayan) " gecikmeli isabet kutuları " izlenimine yol açabilir .

Geri sarmadan kaynaklanan bir tasarım sorunu, ölü bir oyuncunun gecikmeli komutlarını sunucuda ölür ölmez geri sarmayı durdurmak mı yoksa ölüm zamanına "yakalayana" kadar çalıştırmaya devam etmek mi gerektiğidir. Tazminatın kesilmesi, kurbanların ölümünden sonra katillerine saldırmalarını önler, bu da beklentileri karşılar, ancak bir köşeyi dönen, bir hedef elde eden ve sabit kurbanın müşterisine gidiş dönüşten daha kısa sürede onları öldüren oyuncuları hareket ettirmenin doğal avantajını korur.

Geri sarma, bir oyuncunun yüksek gecikme süresinin düşük gecikmeli oyuncuların deneyimini olumsuz etkilemesine izin verdiği için eleştirilebilir. Gecikme telafisi olan sunucular, bu sorunu azaltmak için bazen depolanan oyuncu geçmişinin uzunluğunu azaltır veya ping sınırlarını zorlar.

Müşterilere güven

İstemcilerin sunucuya ne yaptığını söylemesi ve sunucunun aldığı verilere güvenmesi mümkündür. Hile yapmaya yatkınlığı nedeniyle bu yöntemden mümkünse kaçınılır : ağ verilerini, fabrikasyon isabet mesajlarını ekleyen veya mevcut olanları değiştiren ikinci bir bilgisayar aracılığıyla yönlendirmek basit bir meseledir; bu, hile önleme araçları tarafından tespit edilemeyen bir tekniktir .

Bununla birlikte, bazı oyunların büyük ölçeği, geri sarma gibi hesaplama açısından pahalı çözümleri imkansız hale getiriyor. Örneğin Battlefield 3'te , istemcilerin sunucuya isabet ettiklerini söylediği ve sunucunun iddiayı kabul etmeden önce yalnızca belirsiz bir inandırıcılık testi yaptığı bir "karma isabet algılama" sistemi kullanılır.

Bir müşterinin sonuçlarına güvenmek, aksi takdirde geri sarma ile aynı avantaj ve dezavantajlara sahiptir .

Müşterilerin tahmin yürütmesini sağlayın

Daha az yaygın bir gecikme çözümü, sunucuda hiçbir şey yapmamak ve her istemcinin gecikmesini kapsayacak şekilde tahminde bulunmasını (yukarıya bakın) sağlamaktır. Bu, uzaktaki oyuncular sabit bir hızı korumadıkça, ileri geri kaçanlara veya basitçe hareket etmeye başlayıp/durduranlara bir avantaj sağlamadıkça yanlış sonuçlar verir.

Genişletilmiş ekstrapolasyon aynı zamanda uzaktaki oyuncuların, olmaması gerektiği halde görünür hale gelmesine (korunmasız olmasa da) yol açar: örneğin, uzaktaki bir oyuncu bir köşeye kadar koşarsa ve sonra aniden kenarda durursa, diğer istemciler onları ileriye, açıkta koşmaya zorlar, kendi gecikme süreleri boyunca. Bu sorunun diğer tarafında, müşteriler, onları teorik olarak doğru tahmin edilen bir konuma itmek için yeni hareket etmeye başlayan uzak oyunculara fazladan bir hız patlaması vermek zorundadır.

Tasarım

Oyun tasarımı ile gecikme algısını azaltmak mümkündür . Teknikler, istemci tarafı animasyonlarını eylem hemen gerçekleşmiş gibi oynatmayı, ana makinedeki yerleşik zamanlayıcıları azaltmayı/kaldırmayı ve bükülmeyi gizlemek için kamera geçişlerini kullanmayı içerir.

Bulut oyunları

Bulut oyunları , tüm oyunun bir veri merkezindeki oyun sunucusunda barındırıldığı ve kullanıcının yalnızca yerel olarak oyun denetleyicisi eylemlerini oyun sunucusuna ileten bir ince istemci çalıştırdığı bir çevrimiçi oyun türüdür . Oyun sunucusu daha sonra, düşük gecikmeli video sıkıştırma kullanılarak sıkıştırılan ve aşağı akışa gönderilen ve ince istemci tarafından sıkıştırılan oyun videosunun sonraki karesini işler . Bulut oyun deneyiminin kabul edilebilir olması için, bulut oyun sisteminin tüm öğelerinin (ince istemci, İnternet ve/veya LAN bağlantısı, oyun sunucusu, oyun sunucusunda oyun yürütme, video ve ses) gidiş-dönüş gecikmesi. sıkıştırma ve açma ve videonun bir görüntüleme cihazında görüntülenmesi ), kullanıcının oyunun yerel olarak çalıştığı algısını oluşturacak kadar düşük olmalıdır. Çünkü böyle sıkı gecikme gereksinimleri, mesafe hususlar ışık hızına aracılığıyla optik fiber göre, henüz kullanıcı ve yaklaşık 1000 mil bir bulut oyun oyun sunucusu arasındaki mesafeyi sınırlayan, devreye giriyor OnLive . Bulut oyunlarıyla ilgili gecikme hakkında da çok fazla tartışma var. İstemci/sunucu ağ mimarisi kullanan çok oyunculu oyunlarda, oyuncunun bilgisayarı oyunun grafiklerini yerel olarak işler ve yalnızca oyuncunun oyun içi eylemleriyle ilgili bilgiler sunucuya gönderilir. Örneğin, oyuncu bir düğmeye bastığında, ekrandaki karakter anında karşılık gelen eylemi gerçekleştirir. Ancak, eylemin düşmanın öldürülmesi gibi sonuçları, eylemin sunucuya ulaşması için geçen süre nedeniyle kısa bir gecikmeden sonra görülür. Bu, yalnızca oyuncunun girdisine verilen yanıt yeterince hızlı olduğu sürece kabul edilebilir.

Bulut oyunlarını kullanırken, oynatıcı tarafından yapılan girişler, onlar tarafından bir yanıt görene kadar kısa gecikmelere neden olabilir. Girişler önce uzak sunucuya iletilmeli, ardından sunucu gerçekleştirilen eylemin grafiklerini oluşturmaya başlamalı ve videoyu ağ üzerinden oynatıcıya geri aktararak ek süre almalıdır. Böylece, oyuncu bir düğmeye basmak ve ekranda bir şey olduğunu görmek arasında fark edilir bir gecikme yaşar. Oyuncunun beceri ve deneyimine bağlı olarak, bu, Gecikmeli İşitsel Geri Bildirime benzer şekilde oryantasyon bozukluğuna ve kafa karışıklığına neden olabilir ve oyun dünyasında gezinmeyi ve nişan almayı engeller. Uzun bir kombinasyon hareketi hızlı bir şekilde girilirken, ekrandaki karakter tuşa basışlarla senkronize edilmeyecektir. Bu genellikle oyuncuda ciddi kafa karışıklığına neden olur ve bu da kombinasyon hareketinin başarısız olmasına neden olur.

Ekstra giriş gecikmesi, belirli tek oyunculu oyunları oynamayı da çok zorlaştırabilir. Örneğin, bir düşman oyuncuya vuruş yaparsa ve oyuncunun blok yapması bekleniyorsa, oyuncunun ekranı düşmanın saldırmaya başladığını gösterdiğinde, düşman sunucudaki oyuncuyu vurmuş ve öldürmüş olacaktır.

Ayrıca bakınız

Referanslar