Nihai oyunda neden ekstra varlıklar bırakılıyor?


28

Sadece No Man's Sky'ın dosyalarında keşfedilenleri, oyunda kullanılmayan ya da alakalı olmayan şeyleri okuyordum. Kısa bir süre önce Watch Watch dosyalarında bırakılan E3 ayarları hakkında da kısa bir süre okudum. Oyun geliştiricileri neden son oyunda eski ve kullanılmayan dosyaları bırakıyor?

Elbette bu sadece diskte fazla yer kaplar ve oyunu indirirseniz daha fazla veri indirilmesi gerektiği anlamına gelir?

Ayrıca geliştiriciler insanların bulabileceklerinden korkmuyorlar mı?


7
genellikle silmeyi garanti altına almak için yeterli veri kullanmaz. Ve bazen bu "kullanılmayan" Dosyaları silmek, aslında "Kullanılmayan" dosyaların parçalarını kullanan diğer oyun nesnelerine sorunlara neden olabilir. Sanırım, sadece karşılanması gereken son tarihler ve son anda içeriğin kesilebileceği gerçeği ortaya çıkıyor.
Ryan White,

10
Bir yandan not olarak, kesme odası zemini bununla doludur. tcrf.net/The_Cutting_Room_Floor
drawoc

2
1) Kimse onları silmeyi hatırlamadı. 2) Evet. 3) No.
kullanıcı253751

Diğer bir örnek Dota2'dir. Sadece geliştiriciler bir varlık bırakmazlar, gelecekteki sürümler için ortalama eksik özellikleri de içerirler. Yeni karakterler, eşyalar veya beceriler. Böylece ikiliyi söken insanlar, oyunla ilgili gelecekteki olası haberlerden en azından bir kısmını görebilirler (dikkate değer bir örnek: yıllar önce kodda görülen çukur efendisi / underloard karakteri resmen birkaç gün önce ilan edildi).
Bakuriu

Yanıtlar:


35

Büyük oyunlar, inşa hattı olarak adlandırılan bir şey kullanır. Bu, tüm farklı dağıtımlar için oyun içeriğini oluşturmayı ele alan başka bir araç seti gibidir. No Man's sky ve Watch_Dogs gibi çoklu platform oyunları kesinlikle farklı platformlar için farklı varlıklar kullanıyor. Gördüğüm gibi sorunuza iki olası cevap var.

  1. Devs, belirli varlıkları boru hattından çıkarmayı unuttu ve gerçek oyunla birleştiler.

  2. Devs, oyunun sonunda kullanılmayan bazı varlıkları kasıtlı olarak bir yama ya da güncelleme sırasında kullanmak için bıraktı, çünkü bitiş tarihini karşılayamadılar. The Witcher 3'ten Şeytanın Çukuru Örneği.


16
Ayrıca, 3. Kasıtlı olarak "kullanılmayan varlıklar" yerleştirilir, böylece modderler / güç kaynakları yaklaşmakta olan sürümlere gizlice bakmak için onları bulur. # 2'ye benzer şekilde, içerik o belirli başlıkta veya gelecekteki yamalar için bile kullanılamayabilir.
Kroltan

4
Kroltan'ın # 3'ü için +1. IIRC Witcher 3'ün kullanılmayan içeriğe gizlenmiş bir paskalya yumurtası örneği vardır. Devs fotoğrafını ya da onun gibi bir fotoğrafı olan bir oyuna ulaşmak için oyunu değiştirmek için ihtiyaç duyduğunuz bazı gizli alanlar vardı.
süt

3
"Kaldırmayı unuttum" açıklamak için çok iyi bir yol değil. Devs, bir varlıkları kullanımlarını kaldırdıklarını biliyor olabilir. Ancak bu mümkün olan başka bir ekip, varlığı kullanmaya başladı. Böyle bir durumda, olası oyun çıkarma maliyeti (oyunun tamamen kırılması), oyundan kaldırmanın faydalarından çok daha ağır basar.
Aron

33

Bu bulmak düşündüğünüzden daha zor olabilir tümBirden fazla kişi tarafından çalıştırılan büyük bir oyunda referans verilen içeriği . Yardımcı olabilecek açık araçlar olsa bile (ArenaNet'te böyle araçlar yaptık, Unreal kullanan herkes Unreal'ın bu araçların sürümüne erişebiliyor, Bungie aynı şeyi yapan araçlara sahip ve hatta onlarla ilgili bir konuşma yaptı.)

Bu tür sistemleri yenmek için içeriğe, genellikle içeriğin sistemin izleyemediği bir şeyle (örneğin, bir varlığa kod olarak örtülü veya kodlanmış bir referans oluşturmak gibi) atıfta bulunularak atfedilebilecek birkaç yol vardır.

Tüm içerikler arası referansları bulma problemini çözdüğünüzü varsaysanız bile, bir şeyin gerçekten kullanılıp kullanılmadığını söyleyememe probleminiz vardır . Belki bazı varlıklar bir komut dosyasında bir yere referansta bulunur, ancak bu komut dosyası için tetikleyici birimi yanlış bir duvarın içine yerleştirilir ve içerik bu nedenle oyun içinde asla ortaya çıkmaz. Bunu ayrıntılı bir şekilde test etmek de oldukça zor.

Otomatik (veya otomat zaman mümkün ) tespit ve kullanılmamış içerik başarısız filtreleyerek yöntemleri, eski moda bir yolu kalmamıştır: insan müdahalesi. İnsanlar o birileri çünkü olmadığı halde hatalar, kötü varsayımlar (bunlar dosya halen kullanılmaktadır düşünebilir hale başka bir değişiklik ) ve evet, bazen oyunda kasten Paskalya Yumurtaları olarak ilgisiz içerik bırakmayı seçebilirler. Buna sebep olan sadece doğal insan yanılabilirliğidir.

Bu var genellikle gerçekten yük veya dosya boyutu optimizasyonlar için çok iğne taşımak için içeriğin yeterli miktarda değil. Ayrıca, herhangi bir büyük yapı zincirinde veya motorunda en büyük veya en yavaş varlıkları rapor etmenin araçları da vardır, ancak odak noktası büyük suçluların etkisini azaltmak ve boşa harcanan her bir baytı bulup bulmamaktır. Genellikle.


Arqade'de paskalya yumurtası olarak kullanılmayan bir dosya örneği: Undertale'de 'Sans İle Mücadele Edebileceğiniz Şarkı Nerede?'
Philipp,

1
Starbounl şu anda "pişmiş dokunaç" yapamayacağınız / yapamayacağınız bir sorun var çünkü tarifi öğreten bit silindi. Bu arada, varlık ve tanım dosyaları da çalışıyor olmalı gibi bakıyorlar. Orada, aynı malzemeden (yine de yiyecek için) yapılan bazı farklı öğeleri oluşturmak / almak için tek bir tarif aldığınızı göz önünde bulundurarak, bitlerin oyundan yanlışlıkla nasıl çıkarılabileceğini görmek kolaydır.
StarWeaver

1
Diskte yer alan oyun tarafından kullanılmayan tüm içerikler bulunabilse bile, bazı oyunlar kullanıcıların diskler üretildikten sonra satıcı tarafından üretilebilecek ek maliyet ek modüllerini indirmesine izin verecek şekilde tasarlanmıştır. . Disk, diskte oyunda kullanılmayan ancak indirme sürümünde kullanılabilecek on megabayt değerinde doku içeriyorsa, indirme boyutunun on megabayt azalmasına izin verebilir.
supercat,

1
Gönderilen oyunda çok sayıda kullanılmayan varlığın bulunduğu eski bir örnek MechCommander 2'dir. Microsoft, yeni XNA Build araçlarını test ettiğinde, oyundaki dokuların% 40'ının kullanılmadığını ortaya koydu. blogs.msdn.microsoft.com/briankel/2006/01/24/…
Ross Ridge

Sadece bir not: Turing-complete dilleri (ve en kullanışlı olanlar), bir kod satırının çalıştırılıp çalıştırılmadığını çözülemez hale getirme (Halting Problem). Bunu yapmayı başarırsanız, oyunu hendek edip Nobel Ödülünü alabilirsiniz.
Ordous

9

Diğer cevaplarda eksik olan, bunun oyunlarla ilgisi olmadığı. Tüm uygulamaları etkiler.

Her zaman oldukça karmaşık bir programda kullanılmayacak dosyalar ve kodlar vardır. Bu, aşağıdaki 2 şey nedeniyle gerçekleşir:

  • Programlar zamanla gelişir.
  • Bir parça kodun veya bir dosyanın artık kullanılmadığını anlamak için çaba sarfedilmesi gerekir.
    • Sözü geçen çabayı harcamadan işleri kaldırırsanız, uygulamanın davranışı öngörülemez hale gelir

7

İçin / ehancing ekleme Uri Popov 'ın cevabı :

  1. Programlar, varolan varlık dosyalarının yeni, geliştirilmiş sürümlerini ve programın kendisinin güncellemesini içeren güncelleme paketleri kurabilir. Benim açımdan, varlık dosyalarının önceki sürümlerinin üzerine yazmıyorum, çünkü daha önceki bir program sürümüne geri dönüşe izin vermek istiyorum (örneğin, tamamen feci bir güncelleme dağıtma panikini hayal edin :-)). Orijinal program sürümü texture_0.dds ve güncellenmiş one texture_1.dds kullanıyor olabilir (bu nedenle texture_0.dds artık gerekli değildir). Üzerine yazmak (yalnızca tek bir ad kullanmak) program güncellemesinin kaldırılmasını, yani daha eski olanlarla daha yeni varlık dosyalarının üzerine yazmak için zorlu mekanikler olmadığı sürece orijinal sürüme geri dönüşü yasaklar. Ve bu, kimsenin desteklemek istediği bir şey değil.

Düzenle:

Özgün soruya yapılan bir yorum üzerine tepki göstermek,

Kimse onları silmek için hatırladı

  1. Kimsenin onları silmeye cesaret edemediğini söyleyebilirim . Oyun X'in (şu anda eksik olan) dosyasının yükleme noktasında (eğer eksik, cehalet, hata, anahtar-kişi şirketten ayrıldı vb.) Yeterli hata payına sahip değilse ve yoğun teste rağmen sorun keşfedilmezse ne olur? Diyelim ki yükleme sadece "her 3. seferde", sadece 36 haftada, yalnızca 4 haftalık yoğun oyunlarda ulaşacağın seviyede gerçekleşir :-). Yazılımı çökerterek itibarını kaybetmek acımasız bir olgudur ve en kötü durumda iflas etmiş bir şirkete yol açabilir. O dosyaya dokunmasan iyi olur :-).

4
"Kimse kaldırmaya cesaret edemedi" için +1. Kullanılmayan bir öğenin kaldırılmaması çoğu zaman yalnızca küçük bir disk alanına mal olur. Ekibinizdeki bir başkasının hala kullandığı bir öğeyi kaldırmak, büyük mor dama tahtası bırakırsa veya çökmelere neden olursa, şirketinize büyük bir üne mal olabilir.
Patrick M,

2

Oyun geliştiricileri neden son oyunda eski ve kullanılmayan dosyaları bırakıyor?

Elbette bu sadece diskte fazla yer kaplar ve oyunu indirirseniz daha fazla veri indirilmesi gerektiği anlamına gelir?

Ayrıca geliştiriciler insanların bulabileceklerinden korkmuyorlar mı?

Oyun geliştiricileri kullanılmayan dosyaları son oyunda bırakır çünkü kullanılmayan dosyaları bulmak ve kaldırmak için çaba harcamak istemezler. Tüm oyunlar biraz daha fazla malzeme ile iyi yürüdükten sonra ve zaman paradır. Temizleme, maliyetleri arttırır (bunun ne kadar otomatik hale geldiğine bağlı olarak).

Daha fazla yer kaplar ve daha fazla veri indirilmesi gerektiğine rağmen, bu genellikle geliştiricilerin problemi değildir ve müşteriler bile genellikle biraz daha büyük indirme boyutlarına pek aldırmazlar.

Geliştiricilerin insanların bulabileceği herhangi bir şeyden korkması gerekip gerekmediğinden emin değil misiniz? Neden onlar? Ekstra dosyalardan ödün veren hiçbir şey olmadığı sürece (gerçekten kötü sanat eserleri, patronları veya müşterileri hakkında şakalar yapıyorlar ...) muhtemelen umursamıyorlar. Her ne kadar bazı durumlarda onlar oyuncuların varlıklara tespit olabilir ne aslında korkuyorlar.


Not sure if developers need to be afraid of anything people might find?Titanfall 2'nin teknoloji testinin PC'ye gelmemesinin nedenini okuyun, katılmıyorum: P.
TMH

@TomHart Haklısın. Bu durumda korkuyorlardı. Diğer durumlarda, soruda belirtilenler gibi, bunlar ek varlıkları içermez ve dahil etmezler. Sanırım korkma seviyesi geliştiriciler arasında farklılık gösteriyor.
Trilarion

1

Dikkat edildi, ancak diğer cevaplar ile tam olarak değinilmedi: hepsi maliyete düşüyor ve maliyetlerin bir kısmı düşündüğünüzden daha zor.

En bariz maliyet, birisinin onları silmek zorunda olmasıdır. Şimdi davaya bir stajyer koyabilir ve gerçek oyunda gerekmeyenleri çıkarmak için dosyalar arasında arama yapmalarını isteyebilirsiniz. Ama yine de, bunun için para ödemeniz gerekiyor, ve yapmasanız bile (stajyerleri ödeyemeyen bir canavar olduğunuz için), hala bu stajyerin dev ekip için pizza siparişi vermek gibi faydalı bir şeyler yapması gerekebilirdi. Hala sana mal oluyor.

Daha az belirgin maliyet, çıkarmak üzere olduğunuz kaynağın bir sebepten kaynaklanmış olmasıdır: bu nedenin eski olduğuna kesinlikle emin misiniz ? Elbette, bu kodu bir demo için yazdınız ve artık ihtiyacınız yok, ama bu tamamen doğru mu? Diğer kütüphanelere taşımayı unuttuğunuz yararlı bir fonksiyon yazdınız mı? Stacey, gerçek oyunda sona eren demo için gerçekten harika bir grafik yaptı mı? Dahili bir simülatör hala test etmek için kullandığınız eski seviyeden faydalanıyor mu?

Oyun yapmak bir iştir. Para kazanma işi olmasa da, kaynakları sınırlı olan bir işletme. Her karar için iş vakası yazmasanız bile, her karar bir maliyet-fayda analizi gerektirir. Ve basit gerçek şu ki, oyunda bu varlıkları bırakma maliyeti biraz daha büyük bir indirme ve bunun avantajları piyasaya sürülmeden hemen önce patlayan bir şey için önemli derecede azaltılmış bir risk.

“Daha az belirgin” paragraftaki bütün bu soru işaretleri belirsizliği temsil eder. Sadece bilmiyorsun. Ve bir işletmeyi yönetirken, bilinmeyenlerinizi bilmeleri için takas etmeniz gerekiyor. Ve bilinen şey, inşa ettiğiniz paketin birazcık şişmesine rağmen testten geçmesidir.

Hack'leri elde etmek için potansiyel olarak kullanılabilecek geliştirme sürecinin etrafındaki bilgi sızıntıları gibi başka potansiyel maliyetler de var, ancak test sürecini olduğu gibi yaptınız, bunun için gerçekten endişelenmemelisiniz.

tl; dr: Hiç kimse% 4 daha büyük bir indirme işleminin farkına varacak, ancak gerekli dosyaları kaldırarak oyunu kırıp atmadığınızı fark edecekler.

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.