CodeBlanks Logo Icon CodeBlanks

Procedural nedir?

Procedural generation'ın algoritmayla içerik ürettiğini öğrenirsin.

Procedural İçerik Üretimi (PCG)

Procedural Generation (yordamsal üretim), oyun içeriklerinin (harita, seviye, doku) geliştiriciler tarafından elle tek tek tasarlanması yerine algoritmalar ve matematiksel kurallarla otomatik olarak üretilmesidir.

// Calisma aninda (runtime) algoritma ile dunya uretimi
void GenerateWorld() {
    // Kural ve dongulerle arazi insa edilir
}

Bu yaklaşım sonsuz çeşitlilikte seviyeler yaratmayı mümkün kılar ve her oyunda oyuncuya yepyeni bir deneyim sunar.

Çalışma Anı (Runtime) ve Bellek Tasarrufu

Devasa açık dünyaları yüzlerce gigabaytlık statik dosyalar olarak diske kaydetmek yerine, dünyayı oluşturan matematiksel kuralları saklayıp çalışma anında (runtime) üretmek depolama alanından büyük tasarruf sağlar.

// Kurallari kodla yaz, haritayi ihtiyac aninda uret
int levelSeed = 1337;

Minecraft ve No Man's Sky gibi yapımlar bu teknik sayesinde milyarlarca kilometrelik arazileri minimum dosya boyutuyla sunar.

Uygulama Procedural üretim durumu

Bir Start metodu tanımla. İçinde string durum = "Procedural dunya uretildi"; tanımla ve konsola Debug.Log(durum); ile yazdır.

Başlangıç kodu

Player.cs
using UnityEngine;

public class ProceduralIntro : MonoBehaviour
{
    // Start icinde durum tanimla ve yazdir
}

Örnek çözüm

Player.cs
using UnityEngine;

public class ProceduralIntro : MonoBehaviour
{
    void Start()
    {
        string durum = "Procedural dunya uretildi";
        Debug.Log(durum);
    }
}

Beklenen çıktı

Procedural dunya uretildi

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Procedural Content Generation (PCG) yaklaşımının elle harita tasarımına göre en belirgin avantajı nedir?

  • Sahnedeki tüm kamera ve ışıkları silmesi
  • Her çalıştırmada farklı, sonsuz veya tekrarlanabilir içerikleri otomatik üretebilmesi Doğru cevap
  • Oyunun grafik kartını (GPU) tamamen devre dışı bırakması
  • Tüm ses dosyalarını otomatik olarak mono formatına çevirmesi

Açıklama: Procedural üretim, algoritmalar sayesinde her oyunda benzersiz veya sonsuz dünyaları otomatik olarak inşa edebilir.

2 Dünya üretim fonksiyonu

Soru
void ____() { }
Cevap
void GenerateWorld() { }

Açıklama: Dünya oluşturma adımlarını başlatan fonksiyon genellikle 'GenerateWorld' gibi açıklayıcı bir isimle tanımlanır.

3 Procedural temel kavramlar

Kavram Anlamı
Procedural Algoritmik içerik üretimi
Runtime Oyunun aktif olarak çalıştığı an
Handcrafted Elle tasarlanmış geleneksel içerik
Algorithm Matematiksel içerik adımları

İleri seviye bölümündeki tüm dersler