yoklateknik mülakat

Multiplayer / Netcode Oyun Geliştirme Mülakat Soruları

450 doğrulanmış Multiplayer / Netcode Oyun Geliştirme mülakat sorusu — cevaplarıyla çöz, açıklamalarıyla öğren, gerçek simülasyonda kendini test et.

Gerçek simülasyonu dene →

Örnek sorular

Nc Rollback DeterminismZorluk 1
Deterministik lockstep ağ modelinde nesne durumu yerine yalnızca oyuncu girdileri ağdan gönderilir. Sahnedeki simüle edilen nesne sayısı 10'dan 10.000'e çıktığında gereken bant genişliğine ne olur?
  • aYalnızca logaritmik olarak artar, çünkü nesneler daha az pakette gruplanabilir.
  • bİkinci dereceden (karesel) artar, çünkü gönderilmeden önce her nesne diğer tüm nesnelerle kontrol edilmelidir.
  • cKabaca sabit kalır, çünkü bant genişliği nesne sayısıyla değil girdinin boyutuyla ölçeklenir.
  • dDoğrusal olarak artar, çünkü her nesnenin konumu ve hızı yine de her karede iletilmelidir.
Açıklama:Deterministik lockstep durum yerine girdi gönderir, bu yüzden ağ maliyeti varlık sayısına değil girdi struct'ının boyutuna bağlıdır; girdi küçük kaldığı sürece çok büyük sayıda simüle nesne bile tek nesneyle aynı bant genişliğiyle sürülebilir.
Nc Rollback DeterminismZorluk 1
Deterministik lockstep bir simülasyonda istemci, diğer oyuncunun girdilerini ağdan 60 Hz'de alıyor. Belirli bir karede, N karesine ait uzak girdi henüz gelmemiş. Simülasyon ne yapmalıdır?
  • aN karesine ait gerçek girdi gelene kadar bekler, N'yi ilerletmez.
  • bÖnceki karenin uzak girdisini kalıcı bir yerine koyarak N karesini ilerletmeli.
  • cN karesini tamamen atlayıp girdi gelince doğrudan N+1'e geçmeli.
  • dSon alınan iki girdinin ortalamasını enterpole ederek N karesini ilerletmeli.
Açıklama:Lockstep, bir kareyi ancak o karedeki her katılımcının girdisi bilindiğinde ilerletebilir; girdi yoksa kare deterministik biçimde üretilemez, bu yüzden simülasyon tahmin etmek yerine beklemek zorundadır.
Nc Rollback DeterminismZorluk 2
Bir dövüş oyunu ekibi iki gecikme gizleme stratejisi arasında seçim yapıyor: sabit girdi gecikmesi (herhangi bir girdiye tepki vermeden önce her zaman N kare bekleme) ile tahmin-et-ve-geri-sar (tahmine dayanarak anında tepki ver, sonra düzelt). İkisi arasındaki temel takas nedir?
  • aSabit gecikme bant genişliği açısından ağırdır, geri sarma ise hiç ağ bant genişliği kullanmaz.
  • bSabit gecikme yalnızca iki oyuncuda çalışır, geri sarma ise yalnızca ikiden fazla oyuncuda çalışır.
  • cSabit gecikme kayan nokta determinizmi gerektirir, geri sarma ise hiç determinizm gerektirmez.
  • dSabit gecikme değişmez bir gecikme katar; geri sarma ise yanlışsa görünür bir sıçrama riski taşır.
Açıklama:Temel takas hissedilen gecikme ile görsel kararlılık arasındadır: sabit gecikme her girdiyi aynı miktarda 'geç' hissettirir ama ekranın asla düzeltilmesi gerekmez; geri sarma ise çoğu zaman anında tepki hissi verir, tahmin yanlış olduğunda ise görünür bir düzeltme bedeli öder.
Nc Rollback DeterminismZorluk 2
Tahmin-et-ve-geri-sar netcode'unda, zaten simüle edilmiş bir kareye ait gerçek girdinin, kullanılan tahminden farklı çıkması durumunda gerçekleşen doğru sıra hangisidir?
  • aGerçek girdiyi görmezden gel ve tahmin edilen sonucu koru, çünkü o kare için durum zaten kaydedilmişti.
  • bO karede kaydedilen durumu geri yükle, ardından gerçek girdilerle sonraki her kareyi yeniden simüle et.
  • cO kareden bu yana yapılan tüm simülasyonu at ve maçı sıfırıncı kareden yeniden başlat.
  • dYalnızca tahmin edilen ile gerçek girdi arasındaki farkı tek karelik bir düzeltme olarak uygula, sonraki karelere dokunma.
Açıklama:Geçmiş bir karenin doğru girdisi öğrenildiğinde motor, o karede kaydedilen duruma geri dönmeli ve ardından o kareden sonra tahmin edilmiş her kareyi yeniden ileri sarmalıdır, çünkü bu karelerin her biri kendinden öncekinin sonucuna bağlıdır.
Nc Rollback DeterminismZorluk 2
Bir oyun tek bir kareyi 0,8 ms'de simüle ediyor. Belirli bir ağ aksaklığında motor, şimdiki ana yetişmeden önce 6 kareyi geri sarıp yeniden simüle etmek zorunda kalıyor. Bu tek geri sarma, normal karenin kendi simülasyonunun üzerine yaklaşık ne kadar ekstra CPU süresi maliyeti getirir?
  • aYaklaşık 4,8 ms, çünkü geri sarılan 6 kare her biri 0,8 ms'e mal olur.
  • bYaklaşık 0,8 ms, çünkü yalnızca düzeltilen kare yeniden simüle edilmesi gerekir.
  • cYaklaşık 6 ms, çünkü kare başı simülasyon maliyetinden bağımsız olarak geri sarılan her kare kabaca 1 ms'e mal olur.
  • dYaklaşık 9,6 ms, çünkü yeniden simüle edilen her kare iki kez simüle edilmelidir.
Açıklama:Bir geri sarmanın ekstra maliyeti, yeniden simüle edilmesi gereken kare sayısının tek bir karenin simülasyon maliyetiyle çarpımıdır: 6 kare çarpı 0,8 ms, 4,8 ms eder.
Nc Rollback DeterminismZorluk 2
Bir geri sarma (rollback) netcode sisteminde, tek bir düzeltmeyi işlemenin en kötü durum CPU maliyetini en iyi hangisi tanımlar?
  • aGidiş-dönüş süresinin kare süresine bölümü, çünkü bu ne kadar veri kaybedildiğini belirler.
  • bGirdi struct'ının boyutunun oyuncu sayısıyla çarpımı, çünkü yeniden gönderilmesi gereken budur.
  • cGeri sarılan kare sayısı çarpı kare başına simülasyon maliyeti, çünkü o karelerin hepsi tam olarak yeniden çalıştırılmalıdır.
  • dTam olarak tek bir karenin simülasyon maliyeti, çünkü yalnızca değişen kare yeniden çalıştırılmalıdır.
Açıklama:Geri yüklenen nokta ile şimdiki an arasındaki her kare sırayla yeniden simüle edilmelidir, bu yüzden en kötü durum maliyeti tek bir kareyle ya da ağ/girdi boyutuyla değil, kaç karenin geri sarıldığıyla ölçeklenir.

2850 soruluk Oyun Geliştirme bankasında kendini sına.

Mülakata başla