Bagaimana saya bisa membuat "dunia" acak di mesin ubin?


22

Saya merancang game yang bekerja pada mesin ubin klasik, tetapi yang dunianya dihasilkan secara acak. Adakah game atau algoritma yang ada yang melakukan ini? Algoritma generasi prosedural yang saya temukan tidak pernah menggunakan sistem ubin ... Apa yang akan menjadi cara terbaik untuk menghasilkan seluruh "dunia" menggunakan sistem ubin? Saya tidak berbicara tentang labirin blok, tetapi keseluruhan "peta dunia" terima kasih


5
Ini telah berkali-kali ditanyakan, coba cari di sini untuk: generasi dunia acak Edit: Ini satu untuk mesin ubin.
Richard Marskell - Drackir

2
-1: Pertanyaan ini tidak bisa dijawab dalam bentuk saat ini. Itu terlalu kabur, hanya menyatakan bahwa itu adalah "peta dunia" yang terbuat dari ubin. OK, apa jenis ubin? Apa yang dilakukan ubin ini dalam hal gameplay? Ini bisa berupa apa saja dari Final Fantasy hingga Peradaban, dan "cara terbaik" untuk menghasilkan medan untuk kedua game itu benar - benar berbeda . Tidak ada cara untuk memberikan jawaban yang akan memberikan gameplay yang bagus tanpa mengetahui apa pun tentang bagaimana Anda berencana menggunakannya. Sebelum Anda dapat berbicara tentang pembuatan prosedural apa pun, Anda harus dapat membuat sendiri versi yang baik secara manual.
Nicol Bolas

Jawaban:


34

Pertanyaan Anda mengarahkan Anda ke bidang pembuatan konten prosedural.

Generasi dunia berbasis ubin berasal dari metode kontinu / analog

Secara kontinu, saya berarti sesuatu yang bukan ubin, sesuatu yang analog, contohnya adalah peta vektor. Anda dapat menggunakan teknik berkelanjutan apa pun untuk menghasilkan, dan kemudian mengukurnya. Misalnya menghasilkan gambar noise Perlin resolusi tinggi, lalu kurangi resolusinya agar sesuai dengan ukuran tilemap Anda, dan sampel piksel untuk memberikan Anda sebuah peta ketinggian. (Ketinggian peta bisa menjadi titik awal yang bagus untuk dunia Anda.) Ini karena Anda menyebutkan melihat sumber yang tidak menunjukkan kepada Anda apa yang harus dilakukan sehubungan dengan cara menerapkannya ke ubin.

Generasi dunia berbasis ubin menggunakan pendekatan ukiran "yang berkedip"

Dengan pendekatan berbasis ubin (sel), Anda dapat melakukan semacam generasi buta di mana Anda menghasilkan dunia sedikit demi sedikit tanpa melihat lebih jauh dari mis. ubin yang berdekatan langsung, tetapi ini cenderung terlihat seperti karya serangga. Ini adalah tipikal CA (automata seluler), dan menampilkan kecerdasan berskala kecil.

Generasi dunia berbasis ubin menggunakan pandangan dunia yang lebih luas, dari atas ke bawah

Ini membutuhkan pendekatan yang lebih cerdas untuk membangun ubin dunia, karena ubin pertama akan membangunnya dari wilayah ke wilayah. Dengan cara ini Anda mendapatkan kendali atas mis. berbagai bioma, wilayah politik, dll. seperti yang dilakukan Tarn Adams di Benteng Kerdil. Tentu saja ini mengharuskan Anda untuk berpikir sedikit tentang bagaimana Anda ingin membagi dunia Anda. Ada banyak cara, Anda harus melakukan riset sendiri.


Pembuatan konten prosedural adalah topik yang cukup luas, jadi Anda harus melakukan banyak bacaan sebelum mendapatkan gagasan yang solid tentang apa yang benar - benar Anda inginkan dan bagaimana melakukannya - setan selalu detail . Untuk alasan itu, beberapa sumber yang bagus untuk ini adalah milis rec.games.roguelike.development (satu ton informasi tentang dunia prosedural berbasis ubin), halaman pemrograman game AmitP (lihat di bawah "Topik Lainnya") dan yang terakhir tetapi tidak kalah pentingnya, yang Konten Prosedural Generation Wiki .


Tidak satu pun dari metode ini yang memperhitungkan tujuan gameplay dari peta. Salah satu dari metode ini dapat menghasilkan peta bermain yang mengerikan. Tentu saja, OP tidak mengatakan seperti apa peta yang baik itu, jadi ...
Nicol Bolas

6
@NicolBolas Persis. OP membutuhkan sesuatu untuk terus berjalan. Saya tidak perlu menulis esai lengkap untuk setiap jawaban (meskipun bukti menunjukkan bahwa saya cukup sering melakukannya).
Insinyur

Setuju, "dapat dimainkan" adalah heuristik terbaik yang tersisa untuk OP. "Playable" adalah satu lapisan di atas generasi sebenarnya dari "dunia acak," dan tidak diperlukan oleh pertanyaan aslinya.
Patrick Hughes

6

Generasi prosedural adalah topik besar. Seberapa dalam Anda bersedia untuk pergi?

Jawaban Nick Wiggill adalah yang terbaik. Saya akan menambahkannya dengan menyarankan agar Anda melihat beberapa metode matematika untuk menciptakan medan acak yang koheren.

Perlin noise menawarkan cara yang bagus untuk menciptakan keacakan yang halus, dan bekerja sangat baik untuk semua jenis medan. Simulasi erosi dapat memberikan kesan ketinggian yang realistis (meskipun Anda mungkin tidak membutuhkannya karena Anda sedang melakukan permainan berbasis ubin)

Banyak teknik yang dibahas dalam makalah seperti ini oleh Oddlabs , pembuat Tribal Trouble, bekerja dengan baik dalam 2D ​​dan pada resolusi rendah juga. Jika Anda lebih nyaman dengan pendekatan semacam ini, mempelajari teknik-teknik ini mungkin bermanfaat untuk Anda.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.