2022–2022
Procedural Terrain Generator
Python ve Arcade ile rastgele biyomlardan tile tabanlı 2D dünya üreten harita oluşturma prototipi.
Role
Kişisel proje — tasarım ve geliştirme
Stack
Python · Arcade · 2D Tile Maps · Procedural Generation
Links
—
Kare bir dünya matrisi üzerinde biyom seçimi, dağılım denemeleri ve sprite tabanlı harita çizimini bir araya getirdiğim algoritma odaklı oyun geliştirme çalışması.
Bir dünyayı algoritmayla oluşturmak
Procedural Terrain Generator, 2D oyunlar için rastgele dünyalar oluşturmayı araştırdığım bir Python projesi. Amacım, haritayı elle yerleştirilen görseller yerine bir veri yapısından üretmek ve aynı veriyi görsel bir oyun alanına dönüştürmekti.
İlk olarak N × N boyutunda bir matris oluşturdum ve hücreleri beş biyom türünden biriyle eşleştirdim: dağ, orman, çöl, bataklık ve su. Ardından bir haritada bulunabilecek biyomların sayısını seçen ve dağılımını sınırlamayı deneyen bir yaklaşım ekledim.
Projenin sonraki aşamasında Arcade ile biyomları önce renkli hücreler, sonra bir tileset’ten okunan 40 × 40 piksellik görseller olarak çizmeye başladım. Böylece sayılardan oluşan bir matris, görsel olarak incelenebilen bir haritaya dönüştü.
Teknik yaklaşım
Yapının merkezinde üç adım var: biyom seçimi → harita matrisi → tile çizimi. Harita üretimini ve ekrana çizimini ayrı düşünmek, algoritmayı görsel taraftan bağımsız olarak geliştirmemi sağladı.
Bu çalışma kesintisiz ve gerçekçi arazi üretmekten ziyade, rastgele biyom dağılımı ve tile tabanlı gösterimin araştırıldığı, ilk kapsamı tamamlanmış bir prototipti. Biyom komşuluk kuralları ve yeniden üretilebilir seed gibi konuları sonraki olası aşamalar olarak bıraktım.
Projenin teknik kararlarını ve dört denemenin nasıl geliştiğini blog yazımda anlattım.