Procedural nedir?
- Oyun Geliştirme kursu
- İleri seviye
- Ders 43/71
- 4 dk
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
using UnityEngine;
public class ProceduralIntro : MonoBehaviour
{
// Start icinde durum tanimla ve yazdir
}Örnek çözüm
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
void ____() { }
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ı |