Bir çini motorunda rastgele bir “dünya” nasıl oluşturabilirim?


22

Klasik bir kiremit motoru üzerinde çalışan, ancak dünyası rasgele oluşturulmuş bir oyun tasarlıyorum. Bunu yapan oyunlar veya algoritmalar var mı? Bulduğum yordamsal üretim algoritmaları hiçbir zaman bir kiremit sistemi kullanmıyor ... Bir kiremit sistemi kullanarak bütün bir "dünya" oluşturmanın en iyi yolu nedir? Blok labirentten bahsetmiyorum ama genel bir "dünya haritası" sayesinde teşekkür ederim.


5
Bu birçok kez istendi, burada aramayı deneyin: rastgele dünya üretimi Düzenleme: İşte bir kiremit motoru için bir tane.
Richard Marskell - Drakkir

2
-1: Bu soru mevcut haliyle cevaplanamaz. Bu çok belirsiz, sadece çini yapılmış bir "dünya haritası" olduğunu belirten. Tamam, ne tür karolar? Bu fayans oyun açısından ne yapar? Bu Final Fantasy'den Medeniyete kadar herhangi bir şey olabilir ve bu iki oyun için arazi oluşturmanın "en iyi yolu" tamamen farklıdır . Nasıl kullanacağınız hakkında hiçbir şey bilmeden, iyi bir oyun sağlayacak bir cevap vermenin yolu yoktur. Herhangi bir şeyin prosedürel nesli hakkında konuşmadan önce, kendiniz için iyi bir versiyonunu manuel olarak yapabilmelisiniz.
Nicol Bolas

Yanıtlar:


34

Sorunuz sizi işlemsel içerik üretme alanına yönlendirir.

Sürekli / analog yöntemlerden elde edilen çini temelli dünya üretimi

Sürekli olarak, fayans olmayan bir şey, analog olan bir şey, örneğin vectorised bir harita anlamına gelir. Herhangi bir sürekli tekniği üretmek için kullanabilir ve sonra onu ölçebilirsiniz. Örneğin, yüksek çözünürlüklü bir Perlin paraziti görüntüsü oluşturun, sonra tilemap boyutunuza uyması için çözünürlüğünü azaltın ve kendinize bir yükseklik haritası oluşturmak için pikselleri örnekleyin. (Yükseklik haritaları, dünyanız için harika bir başlangıç ​​noktası olabilir.) Bunun nedeni, döşemelere nasıl uygulanacağına ilişkin olarak size ne yapmanız gerektiğini göstermeyen kaynakları görmekten bahsetmenizdir.

"Göz kırpma" oyma yaklaşımını kullanan kiremit temelli dünya nesli

Döşeme (hücre) temelli bir yaklaşımla, örneğin, başka bir şeye bakmadan dünyayı yavaş yavaş yarattığınız bir tür kör oluşturma işlemini yapabilirsiniz. doğrudan komşu fayans, ama bu bir böceğin işi gibi görünmek eğilimindedir. Bu, tipik CA (hücresel otomatlar) öğesidir ve çok daha küçük ölçekli zeka görüntüler.

Daha geniş bir dünya görüşü kullanarak kiremit tabanlı dünya üretimi, yukarıdan aşağıya

Bu, dünya kiremitini kiremit yaparak inşa etmek için daha akıllı bir yaklaşım gerektiriyor, çünkü ilk önce onu bölgelere göre inşa edecek. Bu şekilde örneğin kontrolünü ele geçirirsiniz. Tarn Adams'ın Cüce Kalesinde yaptığı gibi farklı biyomlar, siyasi bölgeler vb. Elbette bu, dünyanızı nasıl bölmek istediğinizi biraz düşünmenizi gerektirir. Pek çok yol var, kendi araştırmanızı yapmanız gerekecek.


Prosedürel içerik oluşturma oldukça geniş bir konudur, bu nedenle gerçekte ne istediğinizi ve nasıl devam edeceğinizi sağlam bir fikir edinmeden önce iyi bir miktar okuma yapmanız gerekecektir - şeytan her zaman ayrıntıdadır . Bu nedenle, bunun için bazı iyi kaynaklar rec.games.roguelike.development posta listesi (karo temelli işlem dünyaları hakkında bir ton bilgi), AmitP'in oyun programlama sayfalarıdır ("Diğer Konular" başlığı altında) ve en sonuncusu, Usul İçerik Üretimi Wiki .


Bu yöntemlerden hiçbiri haritanın oyun amacını dikkate almamaktadır. Bu yöntemlerden herhangi biri korkunç oyun haritaları oluşturabilir. Elbette, OP iyi bir haritanın nasıl görüneceğini söylemedi, yani ...
Nicol Bolas

6
Tam olarak NicolBolas. OP'nin devam etmesi için bir şeye ihtiyacı var. Her cevap için tam bir makale yazmama gerek yok (deliller bunu yeterince sık yaptığımı gösteriyor).
Mühendis

Kabul edilebilir, "oynanabilir", OP'ye bırakılmış en iyi buluşsal bir yöntemdir. "Oynanabilir", asıl sorunun gerektirmediği ve "rasgele bir dünyanın" gerçek neslin üzerindeki bir katmandır.
Patrick Hughes,

6

Prosedürel nesil büyük bir konudur. Ne kadar derine gitmek istiyorsun?

Nick Wiggill'in cevapları birinci sınıf. Buna ek olarak, tutarlı rasgele arazi oluşturmada bazı matematiksel yöntemlere bakmanızı önererek eklerim.

Perlin gürültüsü , düzleştirilmiş rasgelelik oluşturmak için harika bir yol sunar ve her türlü arazi için harika çalışır. Erozyonu simüle etmek gerçekçi bir yükseklik izlenimi verebilir (kiremit tabanlı bir oyun yaptığınız için buna ihtiyacınız olmayabilir)

Tribal Trouble yapımcıları Oddlabs'ın bu gibi makalelerinde tartışılan tekniklerin birçoğu 2D ve düşük çözünürlüklerde de iyi çalışıyor. Bu tür bir yaklaşımla daha rahat ederseniz, bu teknikleri öğrenmek zaman ayırmaya değer olabilir.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.