Tüm yazılar
Eğitimler · 8 min read

Greybox'tan altına: ortamları programda tutan geçiş sırası

Oyun ortamları inşa etmek için kanıtlanmış beş geçişli sıra (blockout, makro, yapı, sahne giydirme, cila), çıkış kriterleri, geçiş başına zaman bütçeleri, dikey dilim hilesi ve her geçişin önlemek için var olduğu hata deseniyle.

Illustration of a grey blockout turning into a fully dressed scene

Kısaca: ortamlar programlarını tek bir öngörülebilir şekilde patlatır: altındaki yerleşim kanıtlanmadan detay eklenir, ardından yerleşim değişir ve detay onunla birlikte ölür. Çözüm, yazılı çıkış kriterleri olan sabit bir geçiş sırasıdır: her geçiş tam olarak bir soruyu yanıtlar ve o yanıt onaylanana kadar sonraki geçiş başlamaz. Bu yazı, her geçişin hak ettiği toplam zamanın kabaca payı, erken tanıtım kareleri isteyen bir yayıncıyı nasıl memnun edeceğiniz ve her geçişin önlediği belirli hata dahil, tüm sırayı adım adım anlatır.

Bir binanın açığa çıkmış beton iskeletiyle yıkım sahası Her bitmiş bina katmanlardır: önce yapı, en son yüzey. Ortamlar da aynı şekilde inşa edilir: sıra atlanıp biri duvarlar kanıtlanmadan banyoyu fayanslamaya kalkınca aynı şekilde başarısız olur.

Neden sıra yeteneği yener

Ortam üretiminde en pahalı cümle "yerleşimi sonra düzeltiriz"dir. Sonrası asla daha ucuz olmaz: greybox'ta taşınan bir duvar saniyeler tutar; sahne giydirmeden sonra aynı taşıma 10 ila 20 kat pahalıya patlar.

Zamanında teslim eden ekipler daha hızlı sanatçılar değildir; sadece kanıtlanmamış zemine inşa etmeyi reddederler. Blockout'ta taşınan bir duvar saniyeler tutar. Sahne giydirmeden sonra taşınan aynı duvar, duvarı, pervazını, çıkartmalarını, navmesh'i, ışıklandırma derlemesini ve bir sanatçının öğleden sonrasını tutar: orijinal değişiklik üzerinde rutin olarak 10–20× çarpan. Bu sıradaki her geçiş, değişiklik olduğunda (ve hep olur), henüz ucuzken olmasını sağlamak için vardır.

Geçiş 0: Niyet (yarım gün, kâğıt üstünde)

Mekânın ne işe yaradığını, ruh hâlini ve bir oyuncunun hatırlaması gereken üç anı belirten bir paragraf yazın. Hiçbir araç yok.

Bunu atlamak, en yaygın ölü seviye türünü üretir: teknik olarak temiz, duygusal olarak boş. Paragraf, her sonraki geçişi test edebileceğiniz bir sözleşmedir: bir giydirme kararı üç andan hiçbirine hizmet etmiyorsa, kendisi için dekorasyondur ve kayıpsız kesilebilir. Bütçe: toplam zamanın %1'inden azı ve amaçsız yinelemede bunun katlarını tasarruf eder, çünkü her sonraki karara tartışma yerine evet/hayır testi verir.

Geçiş 1: Blockout: "oynanıyor mu?" (~zamanın %15'i)

Gri ilkeller, gerçek karakter metrikleri, sıfır sanat: oyun testleri yapısal değişiklik üretmeyi bıraktığında çıkış.

Bu geçişi dürüst tutan kurallar:

  • Kilitli metriklerinizi (kapı genişlikleri, siper yükseklikleri, atlama mesafeleri) ilk günden kullanın. Yanlış ölçekte bir blockout hiçbir şeyi doğrulamaz, çünkü oyuncuların asla gerçekten hareket etmeyeceği bir mekânı test ediyorsunuz.
  • Malzeme ve prop'ları yasaklayın. Güzel bir blockout yalandır: eleştirmenler bitmiş görünen yerleşimlere yumuşak davranır ve kötü mekânlar bitmiş göründükleri için incelemeyi atlatır.
  • Gerçek karakter denetleyicisiyle oyun testi yapın, fly-cam ile değil. Fly-cam, içinde yürümesi ve dövüşmesi berbat mekânları onaylar.
  • Burada acımasızca yineleyin. Blockout'ta on yerleşim revizyonu sağlıklı bir işarettir, savurganlık değil: sanattan sonra aynı on revizyon felaket olurdu.

Geçiş 2: Makro: "uzaktan okunuyor mu?" (~%10)

Arazi silueti, birincil dönüm noktaları, ana değer kütleleri: gözler kısılmış bir ekran görüntüsü hâlâ mekânı iletiyorsa çıkış.

Bu en büyük ölçekte kompozisyondur: ufuk çizgisi, oyuncuyu yönlendiren tek dönüm noktası, büyük aydınlık-karanlık kütleler. Yararlı bir araç üç değer testidir: bir ekran görüntüsünü siyah, orta gri ve beyaza indirgeyin. Önemli şekiller üç değerde ayrışmıyorsa, hiçbir doku detayı manzarayı kurtarmaz. Doku ancak değerden sonra okunur. Makro kompozisyonu burada, hâlâ itip kakabileceğiniz bir avuç gri kütleyken oturtun; aşağıdaki her şey, zaten kasıtlı görünen bir sahneyi miras alır.

Spiral merdiven, bir mekânın nasıl geçildiğini tanımlayan yapı Yapı geçişi, yürünebilir mekânın gerçek olduğu yerdir. Çarpışma, geçiş ve yönlendirme burada karara bağlanır: tek bir dekoratif prop yerleştirilmeden önce, bir merdiveni taşımak hâlâ saniyeler tutarken.

Geçiş 3: Yapı: kitler ve büyük yerleştirme (~%25)

Modüler mimari, kahraman kayalar ve ağaçlar, yollar, köprüler (yürünebilir mekânı tanımlayan her şey), seviye baştan sona son ölçekte gezilebilir ve yönlendirme çalışıyorsa çıkış.

Çarpışma bu geçişte gerçek olur, oyuncu yönlendirmesi de: ışık, yönlendiren çizgiler ve dönüm noktaları ilk kez oynayan bir oyuncuyu UI olmadan mekânda yönlendirmeli. Yönlendirmeyi sahne giydirmeden önce doğrulamak önemlidir, çünkü giydirme yalnızca zaten işleyen bir rotayı pekiştirebilir. İşlemeyen birini kurtaramaz. Taze bir oyun testçisi, yapı geçişi bitmiş bir greybox'ta kaybolursa, daha fazla yaprak yardım etmez; sorun yapıdır ve bu onu düzeltmenin son ucuz anıdır.

Geçiş 4: Sahne giydirme: görünür %80 (~%35)

Bitki örtüsü sistemleri, zemin döküntüsü, hikâye anlatan sahneler: öncelikli bakış hatları giydirildiğinde çıkış, harita tekdüze doluyken DEĞİL.

Programların geleneksel olarak öldüğü yer burasıdır, çünkü elle yerleştirme yoğunlukla doğrusal ölçeklenir. İki disiplin hesabı değiştirir:

  1. Haritayı değil, kamera yollarını giydirin. Oyuncular çoğu seviyenin belki üçte birini yakından görür. Tekdüze yoğunluk, çabanızın üçte ikisini kimsenin incelemediği mekâna harcar.
  2. Kütle katmanını sistemler yerleştirsin. Maskeler ve tür başına kurallarla yoğunluk boyayıp sonra yerel motor örneklerine pişirmek günleri saatlere sıkıştırır. Bu iş akışı Numivo'nun çekirdeğidir ve sonuç sıradan yaprak ve örneklenmiş meshler olduğundan, sonraki iki geçişteki her şey ona elle yerleştirilmiş içerik gibi davranır.

Elle yalnızca hikâye anlatanı yerleştirin: devrilmiş araba, kamp, mabet. Orman için sistemler, anlatı için eller: bu ayrım, bu %35'lik geçişin %60'lık bir geçişe dönüşmesini engelleyen şeydir.

Geçiş 5: Cila: kalite olarak okunan son %5 (~%10)

Çıkartmalar, aşınma, kenar ıslaklığı, son ışık dengesi, atmosfer: teslim tarihinde çıkış, çünkü cila, kritere göre değil, meşru olarak saate göre biten tek geçiştir.

Algılanan kaliteye orantısız etkisi olan küçük dokunuşlar: suyun kıyıyla buluştuğu yerde koyulaşan zemin, ışık huzmelerindeki toz zerreleri, her uzun düz kenarı kıran bir çıkartma, canlı hissettirecek kadar titreşen bir ışık. Cila yalnızca kararlı zemine aittir; yeniden bloklanan cilalı bir köşe saf savurganlıktı. Tam da bu yüzden bu geçiş sonuncudur ve onu öne çekmek (yani "sadece şu kahraman köşe" demek), dikkat edilmesi gereken bir disiplin başarısızlığıdır. Cila, yapı onaylanmadan başladığı an, yerleşimin değişmeyeceğine bahse girersiniz ve yerleşim hep değişir.

Geçiş 6: Performans ve tarama (~%5)

En kötü üç görünümü bütçenize karşı ölçün, cull mesafelerini ayarlayın, çarpışmayı denetleyin, sınır dışını kontrol edin: sayılar hedef donanımda yeşilse çıkış.

Bütçeler önceki geçişlerde saygı gördüyse, bu doğrulamadır, kurtarma değil. Sabit "bütçe kameraları" (en kötü manzara, en yoğun savaş mekânı, en hareketli iç mekân), gerileme sorunlarını rastgele uçuşların asla yapmadığı şekilde görünür kılar. Performansı şimdiye kadar görmezden gelen ekip burada bir kriz keşfeder; yol boyunca ölçen ekip bir kontrol listesi keşfeder.

"Şimdi tanıtım karesi lazım" talebini karşılamak

Tam kalitede tek bir dikey dilim koridoru inşa edin ve gerisini dürüst greybox'ta tutun. Cilalı tek bir yol, geniş cilalamanın bir kesridir ve tekdüze yarı giydirilmiş bir haritadan daha iyi kareler üretir.

Yayıncılar ve pazarlama erken tanıtım kareleri ister ve yanlış yanıt tüm seviyeyi ince ince cilalamaktır. Bu geçiş sırasını her yerde birden ihlal eder ve hem kanıtlanmamış hem yarı bitmiş bir harita üretir. Doğru yanıt dikey dilimdir: seviye boyunca temsili bir yol seçin, onu sonuna kadar altına götürün ve gerisini dürüst greybox'ta bırakın. Dilim, pazarlamaya gerçekten bitmiş bir kare, ekibe kalibre olacağı bir kalite hedefi verir ve (tüm harita değil, tek bir yol olduğu için) alternatifin bir kesrine mal olurken çok daha az yeniden çalışma riski taşır.

Çalmaya değer saha rakamları

  • Blockout'tan giydirilmiş sahneye yerleşim değişikliği maliyet çarpanı: 10–20×
  • Sağlıklı blockout yineleme sayısı: 5 ila 10 yapısal revizyon
  • Oyuncuların yakından incelediği seviye payı: kabaca üçte biri, yani orayı giydirin
  • Çoğu ekip için işleyen zaman dağılımı: altı geçişte 15 / 10 / 25 / 35 / 10 / 5
  • Geçiş başına çıkış kriteri: bir. Fazlası, geçişin gizlice iki geçiş olduğu anlamına gelir.

Mini-SSS

Geçişler seviyeler arasında örtüşebilir mi? Evet, bu paralelliğin sağlıklı versiyonudur: seviye A giydirmedeyken seviye B blockout'ta. Programları kıran, tek bir seviye içinde geçişleri örtüştürmektir; cilanın kanıtlanmamış yapının önüne geçtiği yer.

Bir çıkış kriterini kim onaylar? Geçişi inşa etmeyen biri: tasarımcı sanat geçişlerini, sanatçı yerleşim geçişlerini onaylar. Öz sertifikasyon, kanıtlanmamış işin sıvışma yoludur: kendi yerleşiminizin bitip bitmediğine dair en kötü yargıçsınız, çünkü sorunlarını görmeyi bıraktınız.

Ya geç bir oyun testi giydirmeden sonra yerleşim değişikliği talep ederse? Her şeye rağmen ara sıra olacaktır. 10–20× çarpanının size şikâyet etme hakkını satın aldığı şey budur. Değişikliği yerelleştirin, etkilenen geçişleri yalnızca o alan için yeniden çalıştırın ve bunu bir dahaki sefere blockout onayını güçlendirmek için kanıt olarak ele alın, sürecin başarısız olduğunun kanıtı olarak değil.

Bu küçük bir ekip için fazla katı değil mi? Geçişler küçük bir ekip için daha küçüktür, yok değil. Tek başına bile "güzelleştirmeden önce oynandığını kanıtla" tüm derstir. Başarısızlık modu (güzel köşe, silinmiş yerleşim) her ekip boyutunda aynıdır.

Geçiş sırası bürokrasi değildir. Hiçbir şeyin kum üzerine kurulmadığının sözüdür: çıkış kriterlerini herkesin görebileceği yere yazın, birbirinizi bunlara tutun ve projenin son ayı ayıklama yerine teslim etme hâline gelsin.