Oyunlar, bir seviyeyi yeniden başlatırken neden tüm seviyeyi yeniden yüklüyor?


47

Veriler oyun sırasında gerçekten bu kadar değiştirilmiş mi?

Bir seviyenin yeniden başlatılması arasındaki uzunca duraklamanın tüm seviyenin yeniden yüklenmesi olduğunu farz ediyorum. Ancak bana göre iyi uygulanmış bir sistem, seviyenin başlangıcına sadece 'ping' yapabilmeli.

Konsollarda daha belirgindir, ancak PC oyunlarında farkedilmez.


8
Bunun cevabı oyuna, geliştiricilere, alışkanlıklarına ve deneyimlerine ve daha birçok faktöre bağlı. Genel bir düzeyde yalnızca doğru cevap olacaktır: bazen çok, bazen bazen şeyler Yürütülecek değil değiştirilir ve böylece başlangıç bellekte değil artık ve bazen oyunlar zaten yapmak seviye başlangıç "ping" sırt, ve bazen neden yapamadıklarının iyi sebepleri olmayan oyunlar ve bazen de yeterince iyi uygulanmadıkları için.
Christian,

4
Genel olarak konuşursak, oyuncunun yaptığı her şeyi geri almak yerine seviyeyi yeniden yüklemek (her şeyi ilk durumuna getirir). Zaten benim deneyimim böyle.
Benjamin Danger Johnson,

Soru siyah ve beyaz değil. Ne kadar devlet yeniden yüklendi? Pek çok oyun iyi bir sebep olmadan tüm doku setlerini yeniden yüklüyor. Tabii, 5. seviyeden 6. seviyeye geçmek, yeni dokular yüklemek anlamına gelebilir, ancak bu, 6. seviyeye her başladığınızda bunu yapmanız gerektiği anlamına gelmez.
MSalters

@ MSalters Kaynaklardan ziyade çoğunlukla oyun durumu ile ilgili olacaktır, ortak bir kullanım dokusunu yeniden yüklemeniz gerekmeyebilir, ancak daha önce öldürdüğünüz daha fazla düşman - bunun için nesnenin başlangıç ​​durumunda imha edilmesi ve yeniden yüklenmesi gerekebilir (hatta Dokusu hala güzel hafızada saklanırsa.)
Tom 'Blue' Piddock 19:13

Sanırım birileri eski bir sistemde Kanat Komutanı III oynuyor.
Erik Reppen

Yanıtlar:


54

Peki şimdi - başa çıkmak için ne basit ama ilginç bir soru.

Bir seviye yeniden yüklenirken, cevabın birçok yoldan gidebileceği göz önünde bulundurulması gereken çok fazla faktör vardır.

Seviye durumunuz geniş bir varlık listesi içeriyorsa, bir seviyeyi tekrar kaydetme / görev durumuna geri yüklerken temiz bir sayfadan başlamak daha pratik olabilir, çünkü bu işlem yeniden yüklendikten sonra seviyenin tam durumunu korur ancak çok fazla zaman almaz işleme Ancak, dikkate alınması gereken çok az kişi varsa, varlıkları tek başına sıfırlamak daha etkilidir; bu küçük düzeylerde işlemi hızlı bir şekilde yeniden başlatabildiğinizden emin olun. İkincisi, özellikle olay yerindeki herhangi bir şeyi korumanız gerekmediğinde veya oyundaki seçimlerinizden etkilenmiyorsa - ölü bedenlere ihtiyaç duymazsanız, bir köyde ilk koşunuzdan korunmak için, Bu seviyeye geri döndüğünüzde yeniden yüklenmeniz gerekiyor, bu sayede işlemci zamanı ve tasarruf / görev durumu erişim süresi korunuyor.

Bunu düşünmenin iyi bir örneği, bu oyun sırasında kalıcı bir duruma sahip olan ancak bu kontrol noktasını veya seviyesini yeniden başlattıysanız kalmayacak olan arazi imha / mermi etiketlerini kullanan bir Birinci Şahıs Nişancı olacaktır .

Eğer olsaydı sarmak seviyesini yerine yok etmek ve onu yeniden her ve değiştirilen tüm eyaletleri izlemek gerekir. Bir roketle duvarda bir delik açarsanız, duvardan düşen parçalardan arazi boşlukları oluşturacaksınız, duvarın modeli deliği üretmek için değişecektir ve güzel görünmesi için üretilmiş parçacık efektlerine sahip olacaksınız. . Bunu "yeniden başlatılabilir" durumuna geri getirerek temizlemek için yapmanız gerekenler:

  • Bu duvar için dinamik olarak oluşturulmuş boşlukları kaldırın (ancak yüklediğiniz konumdakileri çıkarmayın)
  • Tozun parçacık efektini kurşun deliğinden çıkarın
  • Oluşturduğunuz deliklerden kurtulmak için duvarı değiştirin / onarın
  • Oyuncu mermisini sıfırla
  • Vb...

Bir seviyeyi geri almak için izlenecek bu kadar çok kaynağın olması nedeniyle, tüm seviyeyi basitçe yok etmek ve tüm varlıkları varsayılan ya da göreve özel durumlarında yeniden yüklemek genellikle daha az işlemci yoğundur. Belirli nesneleri sıfırlamak zorunda olmak, sahnedeki nesnelerin bir listesini aramayı ve sonra bunları sıfırlamak için özelliklerine erişmeyi içerir. Duvardaki o kurşun deliği temizlenerek tamir edilmek yerine, temizleme işlemlerini hesaplamanıza gerek kalmaz , tüm seviyeyi hafızadan silin ve sıfırdan doldurun.

Bu, bir seviyeyi yeniden yüklemenin bir durum nesnesinden (bir oyun kaydetme dosyası veya görev senaryosu) bağışlandığı ve dinamik hesaplamalar gerektirmediği anlamına gelir. Konsollar için bu, disklerle ilgili yükleme süreleriyle daha da kötüleşir. Ayrıca, yükleme sürelerini kabul ettirmek için gerekli güce sahip olmayan bilgisayarları da dikkate aldığından PC oyunlarına yardımcı olur.

Bu nedenle, büyük içerik düzeyleri için - Birini hesaplamak ve "geri almak" yerine tek bir durum yüklemek:

  • Daha az işlemci yoğunluğu var
  • Daha düşük seviyeli makinelerde daha verimlidir
  • Aynı şekilde kullanılacak bir görev betiğini ve kaydetme dosyasını etkinleştirir (düzeyi yeniden başlatırken bir kaydetme durumu veya görev denetim noktası durumu yüklemek için potansiyel olarak aynı yükleme sistemini kullanın)
  • Bir seviyeyi sıfırlamak için geliştirici olarak daha az çalışmanız anlamına gelir - Tam bir yeniden yüklemeyi oturum verilerinden izlemek ve geri almaktan çok daha kolaydır. Bu muhtemelen en etkili nokta

Bununla birlikte, bir karşı örnek olarak, bir dövüş oyununun (Street Fighter 4 olan harika gerçek hayat örneği) bir seviyeyi yeniden başlatmak için tüm bu varlıkların yeniden yüklenmesi gerekmeyebilir. 2 oyuncu, seviye için ortam durumu ve basit seviye zamanlayıcılar çoğunlukla statiktir ve dinamik değildir (oyuncu sağlığı her turda% 100 yeniden canlanır, zamanlayıcılar 90 saniyeye sıfırlanır ve seviyenin kurşun delikleri yoktur [veya yapar!] ) ve böylece seviyeyi sıfırlamak, savaşçıları tam sağlık durumuna getirmek ve çevreyi orijinal konumlarına geri döndürmekle ilgili bir konudur (bazı düzeylerdeki izleyiciler gibi).

Bu nedenle, bir rövanş yaparken dövüş oyunu için (turdan döneme değil) yapmanız gerekenler:

  • Sağlık ve enerjiyi Maks veya varsayılanlara sıfırla (karakter başına daima aynı)
  • Zamanlayıcıyı Sıfırla
  • Karakter başlangıç ​​pozisyonlarını sıfırla
  • Araziyi varsayılan durumuna sıfırla (düzeltmek veya yeniden yüklemek için kurşun delikleri olmaz!)

Ve esasen listenin tamamı bu - yani tam seviyeli bir yeniden yükleme yerine hızlı bir durum sıfırlamasının daha uygun olduğu anlamına geliyor. Bu, maça ilk başladığınızda yükleme süresi ile de gösterilebilir. Tüm karakter ve seviye modellerini yüklemek uzun zaman alıyor ancak az önce yüklü olan bir modelle eşleşmeler arasındaki karakter başlangıç ​​pozisyonlarını sıfırlamak için sadece birkaç işlemci keneler.

Bunun aynı zamanda oyuncuların aksiyona hızla geri dönme eğiliminde olmaları nedeniyle, maçların genellikle bir dakika kadar sürebileceğinden, bu oyunun daha hızlı bir şekilde talep edilmesi gerektiğine dikkat etmek önemlidir. ve tür. FPS'nin daha dinamik varlıklar talep etmesi, Fighters'ın hızlı tekrarlanabilir işlem talep etmesi.

Umarım bu, sorunuza bir miktar ışık tutmuştur.


7
Müthiş cevap ... benim alaycı yönüm, şunu söylerdi: "devs için daha az çalışman" listeyi daha yükseğe çıkar ... ama belki de motorun daha iyi olabilecek bir uygulaması.
Mesh

3
Ayrıca, böcek kurtarma ne olacak? Fiziksel sistemdeki bir hata, bir bellek sızıntısı vb. Nedeniyle hareket etmeyen bir NPC. Oyun iyice test edilmiş olsa bile, böyle şeyler hala devam etmeli ve oyunu bilinen ve çalışma durumuna getirmenin bir yolu olmalı.
Sulthan

9
Daha az çalışma, utanç verici bir konu değil, başarılacak kıskanılacak bir amaçtır. Bir geri sarma sistemi kurmak için bir hafta, tüm hataları gidermek için bir ay geçirebilir veya yeniden yükleyip diğer özelliklere erişebilirsiniz =)
Patrick Hughes

1
Burada maliyetin en önemli argüman olduğunu düşünüyorum. Bir seviyeyi yeniden yüklemek çok fazla bir şey olmaz ve kullanıcıya büyük bir sıkıntı olmazsa, yeniden doldurmayı daha hızlı hale getirmek için optimize edilmiş kod yazma konusunda bir teşvik yoktur. Normal bir yük için kodu tekrar kullanmak daha ucuza mal olur.
orlp

1
+1 Sadece bir seviyenin yeniden yüklenmesinin ve bir seviyenin yüklenmesinin - yeniden yükleme her şeyi attığında ve yeni bir yükle başlarsa - oyun hedefini gerçekleştirmek için yeni bir kod yazılmasını gerektirmediğini netleştirmek istiyorum. Geri alma sistemi, önemsiz olmayan tamamen yeni bir kod setidir ve değişken bir duruma bağlı olduğu için hata ayıklaması son derece zordur. Örnek: "Hata Düzeltme: 200 piksel su içinde bir füze patladığında bombanın üzerine bir kask bıraktıktan sonra seviyenin yeniden başlatılması artık masaüstüne çarpmaya neden olmaz." Kısacası, rahatsız etmek için gerçekten iyi bir nedeniniz olmalı.
BrianH

14

Konsollar hakkındaki sorunuza dair mevcut cevapları netleştirmek için: daha büyük karmaşık oyunlar için hem başlangıç ​​hem de mevcut durumu saklamak için yeterli hafızaya sahip değiller.

Bir oyun, seviyeyi ve başlangıç ​​durumunu ayrı ayrı depolayabilir, böylece yalnızca durumun yeniden dinlenebilmesi sağlanabilir ve bu, pek çok oyunun yapması muhtemeldir. Akarsu akışları bile hafızada tutulduğundan biraz daha yavaş olacak.

"En iyi" geçerli gen konsolu, CPU verileri ve grafikler arasında paylaşılan yalnızca 512 MB belleğe sahiptir. Bu küçücük. Konsolun geliştirilmesinin günümüzdeki baş ağrılarından biri, günümüzün kalite seviyesini bu kadar küçük miktarda bellekle karşılayan oyunlara uymaya çalışıyor. Kilobayt sayımı, özellikle gemi tarihine yakın olabilir. Bir seviyenin başlangıç ​​durumunun bir kopyasını saklamak, oyunun oyun sırasında daha ilginç olmasını sağlayan şeyler için daha fazla bellek kullanılmasına izin vermeksizin, sadece seviyeyi yeniden yüklemeyi hızlandırmak yerine, daha fazla bellek kullanılmasına izin verir.

İdeal olarak, oyuncu oyunu oynamak için ölmek ve yeniden başlamaktan daha fazla zaman harcar, bu nedenle oyun sırasında daha iyi bir deneyim için optimize etmek daha mantıklı olur.

Yeni nesil konsollarla ve 8 GB'lık bellekleriyle işler ciddi şekilde değişebilir. Veya daha yüksek çözünürlüklü modeller ve malzemeler ve çok sayıda aktif oyun içi nesne ile aynı kalabilirler. Zaman gösterecek. PC oyunlarının tipik olarak 2GB RAM ve 512 MB VRAM'lı makineleri hedef almasına rağmen (çoğu daha büyük değerlere sahip olsa da), 8GB yeni konsolların minimum taban çizgileri kadar oldukça lüks. Yakında gelecek yıllarda 1-2GB VRAM ile 64-bit CPU / OS ve 4-8GB RAM gerektiren oyunlara geçişi göreceğiz. Hızlı anlık görüntü almak için birden fazla durumu bellekte saklamak o zamanlar çok daha kolay olmalı.


+1 Harika bilgiler ve konsolların yeniden yükleme sırasında neden daha yavaş olduğu konusunda harika bir açıklama.
Tom 'Blue' Piddock 19.03.2013

7

Blue'nun cevabının çoğuna katılmıyorum, seviyeleri sıfırlamamak için teknik bir durum olduğuna inanmıyorum - kesinlikle hiç karşılaşmadım. Seviye yükleme neredeyse her zaman seviye sıfırlama işleminden daha yavaştır, aslında bunun olmadığı bir durumun anlaşılmasını zor buluyorum. Çoğu durumda, oyunlar tercih edildiyse oyunlar etkili anında seviye yüklemesi sunabilir.

Gerçek cevap, önerildiği gibi, daha kolay ve daha hızlı. Seviyelerin tekrar tekrar yüklenmesi, bir oyunun yine de gerektirdiği bir şeydir, bu yüzden bunu tekrar seviye yeniden başlatmaya koymak oldukça kolay. Sıfırlama, yeni hatalar ve bellek sızıntıları için büyük potansiyele sahip karmaşık yeni yollar gerektirir ve geliştirici zamanının iyi bir şekilde yatırılmasını gerektirir. Bazı durumlarda hafıza sınırlarını da zorlayabilir. Oyunlar nadiren geliştirici süresine sahip olarak geliştirildiğinden, seviye sıfırlama gibi öğeler, özellikle oyun mimarisi en iyi şekilde inşa edilmemişse, yol boyunca düşürülme konusunda üzücü bir eğilime sahiptir.

Sanırım sıfırlamak için "geri sarmanın" gerekli olduğu bir durum ortaya çıkacak olsa da, aslında çoğu oyunun yalnızca orijinal durumunu kaydetmesi, tutulan nesneler için tamamen bu duruma sıfırlamak için etkili bir araç ve nesneleri işaretlemek için bir araç sağlaması gerekir. sıfırlamadan vazgeç. Oyun durumu bilgilerinin de depolanması ve geri yüklenebilmesi gerekir. Bu tür bir bilgi tipik olarak tüm seviyenin gereksinimlerine göre belleğe nispeten nispeten hafiftir, bu nedenle bunu yapmak, yavaş, pahalı veriyi diskten (dokular ve modeller gibi büyük öğeler dahil) yüklemek için gerekli olan ihtiyacı ortadan kaldırır ve - sahnenin hatıra geçidi.


3
Sean'ın cevabını "resetleme" üzerine bir seviye yeniden yüklemek isteyebileceğiniz bir teknik durum örneği için cevaplarını kontrol etmek isteyebilirsiniz
SpartanDonut

2

Sınırlı hafızada bile (üst düzey bellek her zaman çok küçükse) ilk önce RAM'deki veya grafik kartındaki sınıra ulaşırsanız, soru şudur: Başka bir strateji daha vardır:

Seviyenin sadece bir kısmını hafızada bulundurun, oynatıcının şu anda ihtiyacı var veya birkaç saniye içinde ihtiyacı olacak. Artık gerekmeyen modeller, dokular, ses örnekleri ... bellekten silindi.

Zindan Kuşatması akla geliyor (bir zamanlar geliştiriciler, bellek yönetiminin gerçek oyundan daha fazla işlem gücü aldığını iddia ediyorlardı), çoğu MMORPGS bunu yapıyor, Açık bir ortama sahip atıcılar bunu yapmak zorunda ... seviyesi (ya da 30 saniye önce yeniden doğmuş bir nokta bile) bellekte (tamamen) olmayabilir.

Genellikle yeni bir yeniden yükleme en kolay yol, en ucuz yol ve belki de en hızlı yoldur.

Düzenleme: İşte Zindan Kuşatması yükleme mekanizmaları hakkında bir makale: Zindan Kuşatmasının Sürekli Dünyası


İyi nokta, sürekli veya kesintisiz seviyeler hakkında düşünmedim. Bu tamamen farklı bir seviye yükleme sistemine ihtiyaç duyacaktır.
Tom 'Blue' Piddock

2

Sean ve Blue'nun fiziksel platform sınırlamaları ve yanlısı kararlar konusundaki mükemmel cevapları ile bir yorumu farklı bir yaklaşımla genişleteceğim:

Neden Tamamen Sadece Tamamen Yeniden Yükleyiniz?

Böylece loadLevel () çağrınız mükemmel çalışıyor, yay! Düz bir dosya bilgisinde akış yaparsınız ve dünyayı temel alarak, nesneler yaratarak ve ilerledikçe dokuları ve sesleri yükleyerek ilerlersiniz. Sonra, oyunun başlaması için hepsi bittiğinde - ya da "yeterince" bittiğinde, startPlay () 'i çağırırsınız ve dünyanız ortaya çıkar ve müziğiniz çalmaya başlar.

Şimdi seviye bittiğinde veya menüye kaçtığınızda veya oyundan çıktığınızda, sorunsuz bir deneyim sağlamak için elinizde tuttuğunuz tüm kaynakları ve belleği boşaltmak için unloadLevel () işlevini çağırırsınız.

Şimdi, "Seviyeyi Yeniden Başlat" özelliği eklemek istediğinizde ne olur? İyi...

unloadLevel(currentLevel);
loadLevel(currentLevel);
startPlay();

Ve bitti! Yeni bir kod yok, sadece birkaç basit fonksiyon çağırıyor ve zaten hepsini yazdınız ve hata ayıkladınız, şimdi yeni parlak Yeniden Başlatma Özelliğiniz listenizden çıkarıldı ve muhtemelen bir daha karşılaşılmayacak - zalimsiz, paslanmayan bir kod en iyi tür! Kodu bir restartCurrentLevel () işlevine taşıyın ve bu kodu uzağa katlayabilir ve bir daha asla bakamayabilirsiniz - belki elbette yeniden başlatılacak bir seviye olduğundan emin olduktan sonra :)

Ama sonra bunun bir atık olup olmadığını merak edersiniz, yine de yeniden yüklemek üzere olduğunuz şeyleri boşaltın. Eğer seviyeleriniz ve kaynaklarınız küçükse, kazanmanız gereken en fazla, birkaç saniyelik boş zaman süresidir. Her seferinde "Yeniden Başlat", yavaş sistemlerde (ve belki de eski akıllı telefonlarda) bile adlandırılır. "Erken optimizasyon", zamanınızla yapacak daha iyi şeyleriniz var.

Ah, ama şimdi seviyeleriniz artıyor ve dokularınız daha ayrıntılı hale geliyor ve soundtrack her ses ve müzikal katman için ayrı kanallarla 512kbps'te parçalandı (nedenini hatırlayamasanız da o zaman iyi bir fikir gibi görünüyordu). ..) ve gerçek bir şey değil, tamamen oluşturulmuş olduğunu düşündüğünüz, çok boyutlu Fourier dönüşüm matrislerini izleyen "devlet kökenli bağımlı voksel ışını" hakkında bir şey ve seviye yüklemesinin aslında sizi biraz sinirlendirmesi biraz zaman alıyor. Gerçek insanlarla bile test ettiniz ve aslında benzer oyunlardan daha kötü olduğu için bekleme süreleri için bir huzursuzluk gösteriyorlar (100 saniyeli bir MMORPG başkentinin <2 saniyede tam yüklenmesini beklemiyorsunuz değil mi?), ve bu bir problem.

Peki nasıl optimize edersiniz? Seviye yeniden yükleme bir sorun ise, seviye yükleme sorunu olmaz mı? Bunun sadece yeniden yüklendiğini düşünüyorsanız, neden dünyadaki insanlar seviyenizi ilk etapta yüklemekten çok daha fazla tekrarlıyorlar? Kodlama problemi değil, oyun oynama problemi gibi. Kim tekrar tekrar bir seviye yeniden yüklemek için eğlenceli olduğunu düşünüyor ve sadece tamamen önlenebilir yerine daha hızlı olmasını diliyorum ?

İlk önce asıl sorunu çöz!

Ancak, oyununuzun, en azından ara sıra yeniden başlatmanız gerekecek şekilde tasarlandığını ve yükleme süresinin bir kez ve tamamen kaçınılmaz bir şekilde yapması için tamam olduğu kadar uzun olduğunu, ancak tekrar yapmak zorunda kalmayacağınızı söyleyelim. Bu nasıl bir oyun? Biraz garip bir problem gibi görünüyor ... belki de art arda bulmacayı bozacağını düşündüğü yüksek çözünürlüklü bir Portal benzeri oyun?

Her şeyden önce, bunun önemsiz olmayacağının farkında olmalısınız. Tamamen yeni, denenmemiş bir kod yazmak zorunda kalacaksınız ve bu "duruma bağlı" dır, böylece seviye oyunları arasında neyin yeniden kullanılacağını veya neyin yeniden kullanılacağını bile bilmiyor olabilirsiniz. Rasgele unsurlar, yumurtlamalar, değişken dokular (iskeletleriniz sadece bazen zırh giyer mi?) Veya seviyenizdeki diğer değişen unsurlar var mı? Bir kıyafet veya özel bir model veya renkler / kapılar / tuzaklar gibi oyuncu ile değişen şeyler var mı?

Karşılaştırmalar yapacaksınız ve birçoğu. Şu anda yüklü olana karşı neyin gerekli olacağını karşılaştırarak, şu anda yüklenenlere karşı ne yapacağınızı karşılaştıracaksınız (son seviye için yüklenen şeylerle ne yaparsınız, bunun için değil - onları serbest bırakın veya geleceği önlemek için tutunun). yük?). Bu, oyununuz için gerçekten çok önemliyse, muhtemelen yüklenmeden önce bir şeyin yüklenip yüklenmediğini görmek için yükleme / boşaltma kodunuzu değiştirmek isteyeceksiniz (kodu çok amaçlı hale getirme, ancak daha önce çalışan özelliklere yeni hatalar getirme ve işlevler yapma) Bu, yakın gelecekte kullanılmayacak olan kaynakları dikkatlice salıverir). İç çekmek.

Ne yaparsanız yapın, oyununuz basit olsa bile, seviyeyi ilk kez yüklemeyeceğiniz bir seviye yeniden başlatıldığında seviye / oyuncu durumuna bağlı belirsiz hatalarla karşılaşacaksınız. Böylece oyun güncellemelerini aşağıdaki gibi metinlerle yazabilirsiniz:

“Bombayı bir füzeye patlatan bir füzenin patladığı bir karo üzerine, aynı zamanda 200 piksel su içinde olan bir damlanın düşürülmesi artık oyun verilerinizi bozmaz veya oyunun çökmesine neden olmaz.”

Gerçek Sebep Çoğu Oyun Rahatsız Etmiyor

Hiç kimse, bir taban katmanına sıyrılmak yerine mevcut duvarlarının üzerinden sadece duvar veya alçıpan boyadıklarını veya duvarları yukarı çekmek yerine parke zeminlerin üzerine halı döşendiğini hiç fark ettiniz mi?

Basit gerçek şu ki, en az ödül için hepsi daha iş. Mevcut duvarlarınız üzerinde boyamak çoğu zaman iyi sonuç verir ve parke zeminleri yırtıp atma değeri genellikle çok az veya yoktur.

Aynısı, yazılımdan oyunlardan multimedyaya Power Point Sunularına kadar geçerlidir - tek yapmanız gereken yükleme ekranından birkaç saniye uzaklaşmaksa insanlar zamanlarının% 1'ini inceleyerek geçiriyorlarsa, o zaman yapmak için inanılmaz önemsiz yatırım yaptığınız zaman çok kötü bir geri dönüş.

Ve bu yüzden çoğu oyun rahatsız etmiyor ve birkaç yükleme örneği haricinde ekranları yüklemenin aksi takdirde iyi bir oyunu daha az değerli hale getirdiği birçok oyunu düşünmekte zorlanıyorum; Aşırı örnekler, daha hızlı yükleme seviyesi için optimizasyonun mantıklı olduğu yerlerdir ve bu halka açık yapan oyunların küçük bir bölümüdür ve muhtemelen hiç kimsenin görmediği için hiç kimsenin görmediği daha küçük bir oyun bölümüdür.


0

Çünkü statik oyun verilerini (dokular, jeoloji bilgileri, etkilenmemiş çeteler gibi) hafızada tutmak ve sadece dinamik verileri (oyuncu pozisyonu, oyuncu istatistikleri, görev durumu, envanter gibi) yeniden yüklemekle ilgili olan zıt davranışı geliştirmek daha zordur. .

Daha fazla para ve zaman harcadığından oyun geliştiricileri bunu genellikle yapmaz.


Bu, oyun türü veya bireysel talepler nedeniyle karşıtlığın gerçekleşmesi gereken durumları kapsamaz. Belirli bir oyun teknisyeni kullanmak için oyun durumunu kaydetmeye ihtiyaç duyan Pers Prensi gibi bir oyun teknisyeni kullanmak için verdiğim dövüş oyunu örnekleri gibi bir eşleşmenin başlaması için yarıda sıfırlamak üzere bireysel eşya / seviye / karakter durumlarını yeniden yükleyebileceğimi verdim. Bir sonraki turda veya bir sonraki oyuna başlamak için maçı yeniden başlatın. Oyunun taleplerini karşılamak için bunlara ihtiyaç vardır ve bu nedenle oyun geliştiricilerin daha fazla zaman ve para harcaması gereklidir.
Tom 'Blue' Piddock

Aksini belli bir oyunda ortaya çıkarsa, yukarıdaki soru o oyun için geçersizdir. . Yükleme süresi tersi cereyan ettiğini oyunda hızlı olacağı için ben sadece geçerli olduğu durum için soruyu yanıtladı (oyunlar hangi sıfırdan yükler bütün seviye olduğunu)
Xtro

Sorunun öncülünün olabileceği yerde bunun tersi meydana gelirse, bunu her zaman ve neden belirtmeye değer. Bir durumun veya çözümün neden geldiğine dair bilgileri kaçırmamak ya da ayrıntıları bırakmak hiç bir zaman fayda sağlamaz. Ayrıntıya gerek olmadığını söylemek, kişi ayrıntıyı aramasaydı, ilk etapta bir soru olmayacağı için sezgiseldir. Daha fazla ayrıntı sunabiliyorsanız, başkalarının bir konu hakkında bir bütün olarak daha fazla bilgi edinmesine ve deatil'den ne istediğini almasına yardımcı olduğundan, her zaman yapmaya çalışın.
Tom 'Blue' Piddock

Bu yüzden, tepkiniz benim “cevap için gerek yok” ile ilgili ilk cevap hattım için değil mi? o çizgiyi kaldırırsam -1 puan geri alır mısın?
Xtro

Yeterince tuhaf - evet. Ayrıntıyı asla vermenin mümkün olduğu yerlerde asla vazgeçmeyin; genellikle yanıtlarınızın çok daha fazla takdir edildiğini görürsünüz.
Tom 'Blue' Piddock
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.