2016-04-06 70 views
0

Şu anda kullanılan algoritmaların ve sonuçta kullanılan prosedürel haritaların kapasitesini hesaplamak için prosedür harita oluşturma ve uygunluk fonksiyonlarını kullanma üzerine bir tez üzerinde çalışıyorum.Poligonal Harita Üretimi için Fitness fonksiyonunun hesaplanması

Amitp'in Polygonal Map Generation'dan yola çıkarak çalışıyorum, onun kaynaklarından kullanabileceğim bir Unity sürümü buldum, yeni bir sürüme güncelledim, bazı eksik bölümleri düzeltdim ve benim gözümün ötesine geçen bazı göz şekerlerini çıkardım. tez. Sorun şu anda fitness fonksiyonlarını çalıştırmaktır. Harita üzerinde

enter image description here

bazı notlar: harita beri, spor hesaplama fonksiyonu açısından benim önemli sorunlardan biridir herhangi pratik kaynaklara veya üsleri (olması amaçlanmamıştır

  • bulduğumlar, bu elementlerin varlığını varsayarlar)
  • Odak noktası en az birkaç algoritmayı değerlendirmektir (perlin bunlardan biri, ikincisi emin değilim - radyal sürece dahil olabilir) kullanımını doğrulamak için bu algoritmayı tartışan bir makale bulmamışlardır) Bu algoritmalardan kaynaklanan haritaların "fit ve sağlıklı" olması için.

Aşağıdaki fonksiyonlardan kaynaklı fitness fonksiyonlarına gelince: Toward multiobjective procedural map generation (Julian Togelius). Bunlar, doğruluk, ilgi çekicilik ve oynanabilirlik konularına odaklanır - iş alanım için mutlaka en uygun bileşenler olmasa da, şimdiye kadar bulabildiğim tek metrik değerlendirme.

  • Temel Mesafe (Bazlar arasındaki ortalama ağırlıklı mesafe). Herhangi bir taban içermeyen bir haritayı (veya bu konu için ayrı kaynakları) göz önünde bulundurarak, bu kullanımı zor bir işlemdir.
  • Zemine Dayanma (Zeminden taban için ortalama yükseklik). Yukarıdaki ile aynı.
  • Harita Asimetri (Stratejik olarak seçilmiş hücreler ve bunların x ve y eksenindeki karşıtları arasındaki ortalama yükseklik farkı). Bu çokgenlerin harita üretiminin doğası nedeniyle kullanması garip bir durumdur - yükseltiler iç kısımda yükselir ve harita çokgendir, dolayısıyla x, y veya herhangi bir başka orta eksende doğrudan zıtlık yoktur.
  • Kaynak Mesafesi (1 [maks dist - min dist]). Yukarıdaki gibi, konuşmak için ayrı kaynaklar yok. Bu durumda tüm harita çok çeşitli kaynaklar olarak düşünülebilir.
  • Kaynak Kümeleme (Ne kadar bol/kıt kaynaklar) yukarıdaki gibidir.

Yani ben gerçekten sadece Ben nasılsa bir harita potansiyel fitness ve sağlık değerlendirmek çalışılıyor ama açıkça bulabildiğim tek fonksiyonlar ilgisi olmayan ... Bu noktada sıkışıp kaldım Ben çalışmam mümkün olan çokgen bir harita üretimi türü ve bu yaklaşımın bir gridded sisteme aktarılmasındaki girişimlerim, sonuçta elde edilen sonuçların hiçbiri sonuçsuz kalıyordu.

My Soru

nasıl aşağıda gösterilen çokgen harita, uymayan veya alternatif olarak bu tür sonuçlar hesaplanması için yerine kullanmak için bazı alternatif spor fonksiyonları (bilimsel geçerli olan) bulmak için spor fonksiyonları üzerinde bu uyum sağlayabilir.Kendi işlevlerimle gelmek , bu tür metriklerin kullanımını doğrulayan bir arka plan çalışması varsa, bir yedek olarak olasılığını tamamen ortadan kaldıramasa bile, geçerli olmayacaktır.

cevap

1

Togelius kağıdı özellikle RTS türü oyunlar için haritalara bakıyor. Amit 's rehberi oyun agnostik haritaları yapıyor. Bunları bir RTS lens ile incelemek isterseniz, bunları RTS haritalarına dönüştürmeniz gerekir. (Bu genellikle prosedürel içerik üretimi için geçerlidir - genellikle belirli bir tür/oyun/bağlamda kullanmak için genel bir teknik değiştirmeniz gerekir.)

Alternatif olarak, haritaları sadece genel haritalar olarak değerlendirmeyi deneyebilirsiniz. Onları karşılaştırmak için hala bir şeye ihtiyacım var. Örneğin, bir kaç farklı PCG adası harita jeneratörü & çıktısını gerçek adalara göre karşılaştırabilirsiniz. Her iki şekilde de, bir haritanın “iyilik” inin niceliksel bir ölçüsüyle ortaya çıkan ek bir bağlam olmadan, keyfi bir şekilde olması muhtemeldir. Togelius metriğini başka türler için uyarladığınız yolları görebiliyorum, ancak genel haritaları ölçmek için anlamlı bir şekilde genelleştireceklerini sanmıyorum.