Prosedürel içerik üretimi (Procedural Content Generation, kısaca PCG), oyun dünyalarının elle değil kurallar üzerinden üretilmesi pratiğidir. Bir tek graph, bir tek noise fonksiyonu, bir tek attribute table; onlarca kilometre ormanı veya yüzlerce dairenin iç detaylarını üretebilir. 2026'da bu pratik, AI destekli prompt katmanı ile birleşince tasarımcının üzerinden mekanik karar yükünü tamamen kaldırıyor.
Biz Althera Games olarak, hem Potion Rise Simulator'ın workshop sahnesindeki yüzlerce malzeme dağıtımını hem NightRecord: Thin Walls'taki her bir dairenin yaşanmışlık hissini PCG ile inşa ediyoruz. Bu yazıda, UE5 PCG plugin'inin nasıl çalıştığını, AI'ın bu denkleme nasıl girdiğini ve indie ekipler için doğru kullanım sınırlarını paylaşacağız. Motor genel bakışı için UE5 ile indie geliştirme rehberimiz tamamlayıcı bir okuma olarak ilgi çekebilir.
Prosedürel İçerik Üretimi Nedir, Neden 2026'da Önemli?
PCG, oyun geliştirme tarihinde yeni bir kavram değil. 1980'lerin sonunda Rogue ve NetHack, dungeon haritalarını her oturumda yeniden üretiyordu. 1996'da Diablo, modern action-RPG'lerin temelini atan random dungeon mantığını yaygınlaştırdı. Minecraft (2009), Perlin noise üzerine kurulu sınırsız bir biyom üretici olarak prosedürel oyun dünyalarını ana akıma taşıdı. No Man's Sky (2016), tek bir seed'den 18 kentilyon gezegen üretebilen "yıldız çapında" PCG sistemini gösterdi. Bu mirasın üzerinde, bugün PCG bir oyun mekaniği değil, bir geliştirme pipeline kararı.
2026'nın PCG manzarasında üç güç var. Birincisi, motor seviyesinde olgunlaşan araç setleri: UE5 PCG Framework, Houdini Engine ve Unity'nin geleneksel ProBuilder + custom script'leri. İkincisi, açık dünyaların kalıcı norm haline gelmesi; Hogwarts Legacy'den Cyberpunk 2077: Phantom Liberty'ye kadar her büyük yapımda PCG, dekorasyon yükünü omuzlayan görünmez bir asistandır. Üçüncüsü, AI tabanlı içerik üretiminin pipeline'a girmesi; tasarımcı artık her parametreyi elle ayarlamak yerine niyetini cümleyle ifade ediyor.
İndie ekipler için bunun pratik anlamı şudur: 2-3 kişilik bir takım, 50 saatlik bir oyun dünyasını PCG olmadan elle kurmaya çalışsaydı, yalnızca dekorasyon için bir yıllık iş gücü harcardı. PCG ile aynı iş, kararlar arketipler düzeyine yükseldiğinde haftalara iner. Bu yazıda asıl mesele kalitenin korunarak nasıl yapılacağıdır.
UE5 PCG Plugin: Graph, Points, Splines
UE5 PCG Framework, UE5.2 ile experimental olarak gelen, UE5.4 ile stable işaretlenen, node-graph tabanlı bir prosedürel üretim sistemidir. Mental modeli üç temel kavram üzerine kurulur: point, spline ve attribute set. Her bir point, dünyada bir konumu (transform) ve onunla bağlı metadata'yı (density, scale, color, biome ID, vb.) temsil eder. Bir grafik, point'leri üretir, filtreler, dönüştürür ve sonunda Static Mesh Instance olarak sahneye basar.
Tipik bir orman scatter grafiği şöyle çalışır: Get Actor Data node'u zemini volume olarak alır, Surface Sampler noise tabanlı bir point dağılımı üretir, Density Filter belirli bir eşiğin altındaki point'leri eler, Transform Points rastgele rotasyon ve scale uygular, son olarak Static Mesh Spawner mesh'leri sahneye basar. Bütün bu zincir bir tek PCG Volume içinde yaşar ve volume'ü taşıdığınızda grafik kendiliğinden yeniden değerlendirilir.
Spline tabanlı üretim, yol kenarına çit dizmek, bir nehir kenarına kaya dizmek veya bir koridorun boyu boyunca lamba yerleştirmek için kullanılır. Spline üzerinden örneklenmiş point'ler, attribute set ile zenginleştirilir; örneğin spline'ın bitiş noktasına yaklaştıkça point density azalır. Attribute set'ler ise PCG'nin gerçek gücüdür: her point'in üzerinde tablo şeklinde veri taşıyabilirsiniz, ardından bu veriyi grafiğin ileriki adımlarında koşul olarak kullanırsınız. Debug için Debug node ve Inspect view edebilirsiniz; PCG Editor, point bulutlarını ve attribute değerlerini gerçek zamanlı gösterir.
PCG + Lumen + Nanite: Performans Hikâyesi
PCG'nin yarattığı en büyük yanılsama "ücretsiz" olmasıdır. Aslında PCG runtime performansını üç kanaldan etkiler: generation cost (grafik yürütme süresi), memory footprint (üretilen mesh instance'larının bellekteki ağırlığı) ve render cost (sahnede her frame çizilen üçgenler). İndie ekipler için pratik strateji, generation cost'unu build-time'a kaydırmak ve render cost'unu Nanite + ISM/HISM ile yönetmektir.
Build-time generation modunda PCG grafiği Editör'de çalışır, sonuçlar ISMComponent ve HISMComponent içine bake edilir, paketlenmiş oyunda yalnızca instance render maliyeti kalır. Bu, performans öngörüsü için en güvenli yoldur. Runtime generation ise World Partition cell yüklendiğinde tetiklenir; sonsuz dünyalar için güçlüdür ama her cell'in yüklenme anında milisaniyelik hiccup üretme riski taşır. r.PCG.RuntimeGeneration.Async 1 ile asenkron çalıştırma açılır; karmaşık grafiklerde bu satır olmadan production'a çıkmak risklidir.
HISM vs Nanite kararı bir başka kritik noktadır. Nanite, milyonlarca üçgenli mesh'leri otomatik LOD'lar ile çizen geometri sistemidir; PCG ile birleştiğinde "sonsuz detaylı" sahneler mümkün hale gelir. Ama Nanite, çok sayıda küçük ve hareketli mesh için ideal değildir; çim, küçük taş, küçük yaprak gibi binlerce kopya için klasik HISM hâlâ daha hızlıdır. Bizim Potion Rise Simulator workshop'unda büyük raflar ve duvar panelleri Nanite, masaüstündeki yüzlerce küçük şişe ise HISM ile çiziliyor.
PCG'nin maliyeti grafiğin yürütülmesinde değil, üretilen sahnenin nasıl çizildiğindedir. Bir profiler turu olmadan PCG'yi "ücretsiz" varsaymak, ekip için en pahalı yanılsamadır.
Profiling için stat PCG, stat InstancedStaticMeshComponent ve Unreal Insights → PCG Trace üçlüsü esastır. Lumen ile birlikte çalışırken, PCG ile spawn edilen mesh'lerin surface cache'e doğru kayıt edildiğinden emin olun; aksi halde sahne tutarsız bir indirect lighting üretir.
Houdini Engine Entegrasyonu: Pro Pipeline
UE5 native PCG, indie ekipler için %80 senaryoyu kapsar. Geriye kalan %20'de, özellikle terrain sculpting, destruction, complex spline networks (yol şebekeleri, nehir sistemleri) ve parametric architecture (procedural binalar) söz konusu olduğunda SideFX Houdini, hâlâ sektör altın standardıdır. Houdini Engine, bir Houdini projesini HDA (Houdini Digital Asset) olarak paketleyip UE5 içinde parametrik bir node gibi çalıştırmanıza olanak tanır.
Bir HDA, tasarımcının Houdini'de kurduğu prosedürel grafiği UE5'e siyah kutu olarak verir: tasarımcı UE5 sahnesinde HDA'ya bir spline ve bir set parametre verir, Houdini bunu işler, sonucu UE5'e geri gönderir. Bu pipeline'ın asıl gücü, Houdini'nin vex script'leri ve simulation node'ları sayesinde UE5 PCG'nin doğal olarak yapamadığı işleri yapabilmesidir: bir kayanın realistik şekilde aşınması, bir nehrin doğru hidrolojik akışla yerleşmesi, bir şehrin sokak şebekesinin Wave Function Collapse algoritmasıyla üretilmesi gibi.
Lisans tarafında: Houdini'nin Indie lisansı yıllık ~269 USD ve son yıllık geliri 100.000 USD'nin altındaki ekipler için kullanılabilir; Houdini Engine entegrasyonu bu pakete dahildir. Profesyonel sürüm on binlerce dolarlık etiketle gelir. Detaylı lisans şartları için SideFX Houdini Engine sayfası başvurulacak kaynaktır.
Karar matrisi: Eğer ekibinizde Houdini bilen biri yoksa, UE5 native PCG ile başlayın. Eğer prosedürel terrain veya parametric arşitektüre gerçekten ihtiyacınız varsa ve ekibinizin haftalarca Houdini öğrenmeye ayıracağı kapasitesi varsa, HDA pipeline'ı uzun vadede ciddi getiri sağlar. Bizim NightRecord: Thin Walls'da apartman geometrisinin temel modüllerini UE5 native PCG ile, dışarıdaki Sovyet bloğunun çevresindeki kentsel detayları ise küçük bir Houdini HDA seti ile üretiyoruz.
AI Katmanı: LLM ile Biome ve Senaryo Üretimi
2026 itibarıyla PCG'nin üzerine konan en heyecan verici katman, AI tabanlı parametre üretimi. Bu, "tüm dünyayı AI üretsin" anlamına gelmez; aksine, AI burada PCG'nin kontrol panelini tutan bir asistantır. Tasarımcı doğal dilde "çürümüş bir bataklık köyü, kayık iskeleleri, kırık fenerler" yazar; LLM bunu PCG grafiğinin parametre setine çevirir: biome_id=swamp_decay, density=0.6, prop_set=village_ruined, moisture=0.85, fog_intensity=0.7.
Pratik mimari iki katmandan oluşur. Birinci katman editor-time AI'dır: Claude, GPT veya Gemini gibi LLM'ler bir HTTP endpoint üzerinden tasarımcının prompt'unu alır ve JSON formatında parametre tablosu döner. UE5 tarafında bu JSON, PCG grafiğine attribute set olarak beslenir. İkinci katman runtime curation'dır: oyuncu davranışını izleyen küçük transformer modelleri, level'a giren her oyuncu için PCG parametrelerini hafifçe modüle eder; örneğin oyuncu çok yorgun gözüküyorsa bir sonraki encounter daha sönük üretilir.
Bu yaklaşımın iki büyük tuzağı vardır. Birincisi, hallucination: LLM, var olmayan asset isimlerini parametreye yazabilir; PCG grafiğinin bunları silmek için bir defensive layer'ı (asset whitelist) olmalıdır. İkincisi, aesthetic drift: AI çok özgür bırakılırsa oyunun sanat yönü dağılır. Çözüm, AI çıktısını her zaman küçük bir parametre uzayına (5-10 değişken, sınırlı min/max aralık) hapsetmektir. AI'ı, sınırsız tasarımcı değil, hızlı bir prop yerleştirici asistan olarak konumlandırın.
Somut bir prompt örneği: "NightRecord apartmanının 3. kat 7 numaralı dairesi. Sahibi 60'lı yaşlarda emekli bir öğretmen, eşi geçtiğimiz yıl vefat etmiş. Salondaki düzen ve clutter seviyesini ayarla." LLM bu girdiden clutter_density=0.3 (dağınık değil, durağan), book_density=0.7 (öğretmenliğin izi), dust_level=0.55 (tek yaşıyor, ama sık temizlik yapmıyor), photo_frame_count=12 üretir. PCG grafiği aynı asset setinden bambaşka bir daire kurar.
İndie Kullanım Senaryoları: Doğru Yer ve Yanlış Yer
PCG'nin en sık yapılan hatası, "her yere kullanılabilir" sanılmasıdır. Aslında PCG'nin doğru kullanımı için bir karar matrisi vardır. Doğru yerler şunlardır:
- Açık dünya streaming dekorasyonu: World Partition ile birlikte, her cell yüklendiğinde o cell'in biome'una göre flora, taş ve clutter üretmek. Bu, en doğal PCG senaryosudur.
- Roguelike level generation: Her run'da farklı dungeon, farklı oda dizilişi. Bu, klasik PCG kullanımıdır ve oyuncuya kalıcı yenilik hissi verir.
- Environmental dressing: Hand-placed ana sahnenin üzerine prosedürel olarak konan küçük detaylar; tozlar, yaprak yığınları, kâğıt parçaları, küçük taşlar.
- Variation factory: 50 farklı sandık, 80 farklı kitap rafı, 30 farklı masa ihtiyacınız varsa; PCG ile tek bir grafiği parametre vererek 50 varyant üretebilirsiniz.
Yanlış yerler de en az bunlar kadar önemli:
- Ana hikâye sahneleri: Oyuncunun önemli bir kararı vereceği oda, asla PCG ile üretilmemelidir. Hand-place edin, her bir prop'un duygusal anlamı olsun.
- Boss arenaları: Combat arenası prosedürel olamaz; sightline ve cover dengesi PCG'nin random'una bırakılırsa savaş bozulur.
- Tutorial alanları: İlk 30 dakikalık oyun deneyimi, oyuncunun motoru anlamasıdır; PCG'nin getirdiği belirsizlik burada öğrenmeyi sabote eder.
- Karakterler ve narrative props: Hikâye taşıyan objeler (mektuplar, fotoğraflar, anahtar eşyalar) prosedürel asla olmamalıdır.
Pratik Bir Mini-Pipeline: Apartman İçi Detay Yerleştirme
Şimdi soyut konuştuğumuz her şeyi somutlaştıralım. NightRecord: Thin Walls'da her bir daire farklı bir hikâye taşır; bu hikâyeyi hand-place ile yapmak 30 daire için 30 hafta demektir. Bizim çözümümüz şudur: ana mobilya (yatak, masa, dolap) hand-placed; geri kalan her şey — kitaplar, fotoğraflar, kâğıtlar, kupalar, tozun nereye yığıldığı — PCG ile.
Pipeline beş katmandan oluşuyor. Birinci katman: Apartment Profile, bir DataAsset'tir; her daire için sahibi, yaş aralığı, meslek, son olay (eş kaybı, çocuk taşındı, yeni evlendi, vb.) tutar. İkinci katman: LLM Bridge, bu profili JSON olarak Claude API'ye gönderip parametre seti döndürür. Üçüncü katman: PCG Graph, parametre setini attribute set olarak alır. Dördüncü katman: Surface Sampler, dairenin yatay yüzeylerinden (masa üstü, raf, döşeme) point dağılımı üretir. Beşinci katman: Asset Picker, parametrelere göre prop seçer ve yerleştirir.
Somut bir örnek: 7. dairenin emekli öğretmeninin salonu. LLM book_density=0.7 verir; Surface Sampler kitap rafı yüzeyinde 40 nokta üretir; Weighted Random Pick kitap mesh setinden (akademik, roman, ansiklopedi) ağırlıklı seçer; sonuçta raf 24 kitapla doldurulur. Aynı grafik 12. dairenin yeni evli çiftine uygulandığında book_density=0.15 üretir ve raf sadece 4-5 kitap içerir. Aynı motor, bambaşka hikâye.
Tozlar için ayrı bir alt-grafik var. dust_level parametresi, her yatay yüzey üzerinde transparent decal density'sini sürer; toz, yüzeyin köşelerine yakın daha yoğun, ortasına yakın daha seyrek dağılır (kullanım izini taklit etmek için). 60+ yaş profilinde toz biraz daha yoğun, ama clutter düşük. 30 yaş profilinde tam tersi. Bu, oyuncunun farkında olmadan algıladığı katmandır ve environmental storytelling'in özüdür.
Pipeline'ın son hassas noktası, regenerate determinism'dir. Aynı seed ve aynı profile'la grafik her zaman aynı sonucu üretmelidir; aksi halde QA imkansızlaşır. PCG'nin Seed input'u apartmanın internal ID'sine bağlanır; oyun versionları arası tutarlılık böylece korunur.
Sıkça Sorulan Sorular
PCG plugin UE5'in hangi sürümünde stable oldu?
PCG Framework, UE5.2 ile birlikte experimental olarak tanıtıldı, UE5.3 sürümünde production-ready statüsüne yaklaştı ve UE5.4 ile birlikte stable olarak işaretlendi. UE5.4 sürümünden itibaren node grafiklerini büyük projelerde güvenle kullanabilirsiniz. UE5.5 ile gelen runtime generation özellikleri sayesinde streaming dünyaları da PCG ile dinamik olarak üretebiliyorsunuz. Eski sürümlerde plugin'i kullanmak isteyen ekiplerin Editör'den 'Plugins → PCG' yolundan manuel olarak etkinleştirmesi gerekir. Resmi dokümantasyon için Epic'in PCG Overview sayfası başvurulacak kaynaktır.
PCG runtime mu yoksa build-time mı çalışır?
PCG her iki modu da destekler. Çoğu indie ekip için sweet spot build-time generation'dır: Editör içinde grafik yürütülür, sonuçlar level'a Static Mesh Instance olarak gömülür, pakete derlendiğinde performans cost'u yalnızca normal ISM/HISM render'ından ibarettir. Runtime generation modunda ise grafik World Partition cell'i yüklendiğinde tetiklenir; bu sınırsız oyun dünyaları için güçlüdür ama tasarım maliyetini ve frame-time riskini ciddi şekilde artırır. NightRecord: Thin Walls'da apartman içi detayları build-time, açık dış alanları runtime karışımıyla üretiyoruz.
Houdini Engine indie ekipler için pahalı mı?
Houdini'nin Indie lisansı yıllık ortalama 269 USD seviyesindedir ve son satılan oyunun yıllık gelir tavanı 100.000 USD'ye kadar olan ekipler için kullanılabilir. Houdini Engine entegrasyonu bu pakete dahildir. Bu fiyatlandırma, profesyonel sürümün on binlerce dolarlık etiketine kıyasla küçük stüdyolar için erişilebilirdir. Yine de Houdini'nin asıl maliyeti lisans değil öğrenme eğrisidir: HDA (Houdini Digital Asset) kurmak ve UE5'e bağlamak haftalar süren bir disiplin gerektirir. UE5 PCG plugin'i çoğu indie senaryosu için yeterlidir.
AI tabanlı PCG hangi araçlarla yapılabilir?
2026 itibarıyla AI tabanlı PCG iki katmandan oluşur. Editör tarafında LLM API'leri (Claude, GPT, Gemini) tasarımcının doğal dil prompt'larını PCG parametrelerine çeviren bir köprü olarak kullanılır; örneğin "çürümüş bir bataklık köyü" isteği, density, biome ID, prop set ve clutter level değerlerine map edilir. Runtime tarafında ise hafif transformer modelleri level düzeyinde varyasyon üretir; Wavefunction Collapse ve grammar-based sistemler hâlâ predictable sonuç gerektiğinde tercih edilir. AI'ın PCG için en güvenli kullanımı, parametreleri öneren bir asistan olarak konumlandırılmasıdır.
PCG ile yapılmış dünya tekrar tekrar aynı mı görünür?
Doğru tasarlanmadığında evet, görünür. Bu sorun "procedural sameness" olarak adlandırılır ve tek bir asset set ile dağıtım yapılan grafiklerde kaçınılmazdır. Çözüm üç katmanlıdır: birincisi, prop variation sayısını artırmak (her arketip için en az 5-8 mesh varyasyonu); ikincisi, biome boundary'lerini yumuşatan blend noise'lar kullanmak; üçüncüsü ve en önemlisi, kritik anlarda hand-placed override'lar eklemek. PCG'yi "her yere koy" aracı değil, "sıkıcı yerleri doldur" aracı olarak düşünmek daha sağlıklıdır.
Sonuç: Hibrit Felsefe
Bizim Althera Games olarak PCG'ye bakışımız tek cümleyle özetlenebilir: elle yapılmış ana sahne, prosedürel detay katmanı. Bir oyuncuyu bir odaya getiren yol, o odada nereye bakacağı, hangi prop'u eline alacağı; bunlar elle tasarlanmış kararlardır. Ama o odadaki 80 küçük detay, tozun yığıldığı köşeler, rafa istiflenmiş kitapların hangileri olduğu; bunlar PCG'nin alanıdır.
AI katmanı bu yaklaşımı yeni bir seviyeye taşıyor. Tasarımcı artık "şu dairenin sahibi 60 yaşında bir öğretmen" diyor ve sahne kendini kuruyor. Bu, tasarımcının üzerinden mekanik yükü alır ve niyet düzeyinde karar vermeye yönlendirir. PCG hakkında konuşurken aslında konuştuğumuz, ekibin yaratıcı dikkatinin nereye akacağıdır.
Bu yazıyı tamamlayan sister okumalar için World Partition rehberimiz ve Nanite rehberimiz doğal başlangıç noktaları; VFX katmanı için ise Niagara VFX rehberimiz ilgi çekici olabilir. Apartmanın her dairesinde farklı ama her zaman "doğru" hissettiren ufak detayların ardındaki PCG mantığını NightRecord: Thin Walls'da göreceksiniz. Oyun sayfamıza uğrayın.