Yayın öncesi BSP kontrolü: GMod haritaları için kontrol listesi
Yayın öncesi BSP kontrolü: son derleme, cubemap'ler, paketlenmiş içerik, spawn'lar, navmesh, performans ve tarama. GMod mapper'ları için kontrol listesi.
Yayından önce haritanı sabit bir sırayla kontrol edersin: son derleme, cubemap'ler, paketlenmiş içerik, temiz bir istemcide test, ardından ad ve sürüm. Tipik yayın hataları eksik texture'lar, bozuk yansımalar ve hatalı spawn'lardır, üçü de kendi bilgisayarında çoğu zaman fark edilmez. Aşağıdaki kontrol listesi seni tek seferde her maddenin üzerinden geçirir.
Kontrol listesine genel bakış
| No. | Kontrol | Ne zaman tamam |
|---|---|---|
| 1 | Son derleme | VBSP normal, VVIS normal, VRAD -final ve -both ile, log'da leak yok |
| 2 | Cubemap'ler | LDR ve HDR için oluşturuldu, yansımalar doğru görünüyor |
| 3 | Özel içerik | kendi materyallerinin, modellerinin ve seslerinin tamamı BSP'ye paketlendi |
| 4 | Temiz istemci | addon'ların olmadan yapılan testte eksik texture ya da error modeli yok |
| 5 | Temizlik | developer texture'ı yok, test entity'si yok |
| 6 | Spawn noktaları | yeterince spawn var, hiçbiri zemine ya da duvara gömülü değil |
| 7 | Navmesh ve node'lar | NPC ya da NextBot planlanıyorsa mevcut |
| 8 | Performans | kritik noktalar dolaşıldı ve ölçüldü |
| 9 | Dosya boyutu | BSP'de kullanılmayan içerik yok |
| 10 | Ad ve sürüm | sürüm etiketi taşıyan nihai dosya adı |
| 11 | Tarama | BSP, Map Scanner ile kontrol edildi |
| 12 | Koruma (isteğe bağlı) | yalnızca bitmiş dosyaya uygulandı |
Son derleme ve cubemap'ler
Fast VVIS ya da fast VRAD ile yapılan bir test derlemesi yayın için yeterli değildir. Fast VVIS görünürlüğü yalnızca kabaca hesaplar, bu da oyunda performansa mal olur. Yayın için VVIS normal modda, VRAD ise -final ile çalışır. -both ile VRAD, LDR ve HDR ışıklandırmasını tek seferde hesaplar. Daha iyi prop ışıklandırması için sık kullanılan ekler -StaticPropLighting ve -StaticPropPolys parametreleridir. Ardından log'un tamamını oku. Bunun nasıl yapıldığı compile log nasıl okunur yazısında anlatılıyor.
Cubemap'leri derlemeden sonra oyunda buildcubemaps komutuyla oluşturursun. LDR ve HDR için derlenmiş bir harita iki tur gerektirir: biri mat_hdr_level 0, diğeri mat_hdr_level 2 ile, her biri haritayı yeniden yükledikten sonra. İki şey önemlidir:
- Her yeni derleme cubemap'leri siler. Ardından onları yeniden oluşturman gerekir.
- Cubemap'ler haritanın dosya adına bağlıdır. BSP'yi sonradan yeniden adlandırırsan modellerdeki ve prop'lardaki yansımalar kaybolur.
Tipik sorunların ayrıntıları cubemap yansımalarını düzeltme yazısında.
Özel içeriği paketle ve temiz bir istemcide test et
Oyunun parçası olmayan her şey haritayla birlikte gitmek zorundadır. En güvenilir yol, içeriği doğrudan BSP'nin içine paketlemektir. Rehber özel içeriği BSP içine paketleme yazısında. Sık unutulanlar:
- skybox'ın ve 3D skybox alanının texture'ları
- detail sprite'ları ve özel sesler
- soundscape script'i
scripts/soundscapes_<mapname>.txt - particle manifest'i
maps/<mapname>_particles.txt - navmesh dosyası
maps/<mapname>.nav; genellikle BSP'nin yanında ayrı bir dosya olarak dağıtılır
VMF'nin, compile log'larının ve yedek dosyalarının BSP'de işi yoktur.
Ardından en önemli test gelir: haritayı, içeriğinin bulunmadığı bir istemcide yükle. Bu ikinci bir PC, bir arkadaşın ya da addon'larını geçici olarak kaldırdığın bir kurulum olabilir. Pembe-siyah yüzeylere, error modellerine ve eksik seslere dikkat et, konsolu da oku. Harita başka oyunların, örneğin Team Fortress 2'nin içeriğini kullanıyorsa bunu açıklamada açıkça belirt.
Temizlik: texture'lar, entity'ler, spawn'lar
Hammer'da yapım aşamasından kalan artıkları özellikle ara:
- Görünür yüzeylerdeki,
dev/klasöründen gelen developer texture'larını değiştir. - Test entity'lerini kaldır, örneğin geçici ışıkları, test NPC'lerini ya da debug mantığını.
- Map > Check for Problems (Alt+P) komutunu çalıştır ve listeyi tek tek hallet.
- Spawn noktalarını kontrol et. Dolu bir sunucuya yetecek kadar
info_player_startentity'si olmalı ve her spawn zeminin üzerinde serbest durmalı. - Kendi spawn entity'leri olan oyun modları için uygun entity'leri yerleştir.
Haritada NPC'lerin ya da NextBot'ların çalışması gerekiyorsa sırasıyla AI node'larına ya da bir navmesh'e ihtiyacın var. Navmesh'i oyunda nav_generate ile oluşturursun.
Performans, dosya boyutu ve sürümleme
Aynı anda en çok şeyin göründüğü yerleri dolaş: geniş meydanlar, uzun caddeler, yüksek seyir noktaları. cl_showfps 1 kare hızını, +showbudget ise motorun zamanını nereye harcadığını gösterir. mat_wireframe 1 (sv_cheats 1 gerektirir) ile duvarların arkasında hâlâ nelerin render edildiğini görürsün. Oyuncular ve prop'larla dolu bir sunucunun, tek başına yaptığın testten çok daha fazla yük oluşturduğunu unutma.
Dosya boyutu, oyuncuların ilk girişte ne kadar bekleyeceğini belirler. Yalnızca haritanın gerçekten kullandığı içeriği paketle.
Ad konusunda kural şu: küçük harfler, boşluk yok, bir oyun modu öneki ve bir sürüm etiketi, örneğin rp_example_v2. Yayınlanan her değişiklik yeni bir dosya adı alır. Aksi halde oyuncularda aynı adla eski dosya bulunur ve sunucu onları harita sürümlerinin farklı olduğu uyarısıyla reddeder. Yayınlanan her sürümün VMF'sini ve tam o BSP'yi sakla.
Tarama ve isteğe bağlı koruma
Son bir teknik kontrol, oyunda göremeyeceğin hataları yakalar. Map Scanner bir BSP'de header'ın, lump tablosunun ve offset'lerin tutarlılığını kontrol eder, point_servercommand ya da lua_run gibi riskli entity'leri arar, bir spawn noktası olup olmadığına bakar ve pakfile içine gömülü Lua ve asset dosyalarını listeler. Pakfile listesi, paketlemeni doğrulamanın iyi bir yoludur. Tarama ücretsizdir ve dosya en fazla 50 MB olabilir.
Haritayı satıyorsan ardından onu koruyabilirsin. BSP Protection Audit, Cleanup, Fingerprint, Obfuscation ve Server-Exclusive seviyelerini sunar. Eksiksiz bir kopya koruması garanti edilmez. Sıra önemlidir: koruma en sonda, bitmiş ve test edilmiş dosyaya uygulanır. Her yeni derlemeden sonra onu yeniden uygulaman gerekir.
Sık sorulan sorular
Her derlemeden sonra cubemap'leri yeniden oluşturmak zorunda mıyım?
Evet. Yeni bir derleme BSP'yi baştan yazar ve oluşturulmuş cubemap'ler bu sırada kaybolur. Onları ancak geometri ve ışıklandırma kesinleştiğinde oluştur.
Cubemap'leri oluşturduktan sonra BSP'yi yeniden adlandırabilir miyim?
Yapmasan iyi olur. Cubemap verileri haritanın adına bağlıdır ve yeniden adlandırmadan sonra modellerdeki ve prop'lardaki yansımalar eksik kalır. Bunun yerine VMF'yi yeniden adlandır, tekrar derle ve cubemap'leri yeniden oluştur.
Hızlı (fast) derleme bir yayın için yeterli mi?
Hayır. Fast VVIS daha kötü performansa, fast VRAD ise daha kaba ışıklandırmaya yol açar. Yayın için normal VVIS ve -final parametreli VRAD ile derle.
PC'mde her şey doğru görünüyorsa eksik içeriği nasıl fark ederim?
Senin bilgisayarında içerik oyun klasöründe durur, bu yüzden bir paketleme hatası orada görünmez. Emin olmanın tek yolu, dosyalarının bulunmadığı bir istemcide test yapmaktır. Bir taramadan çıkan pakfile listesi de yardımcı olur.