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
22
Jawaban:
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 .
sumber
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.
sumber
Ruang Prosedur Spelunky - pengantar yang bagus untuk pembuatan konten prosedural oleh Darius Kazemi
Spelunky adalah game 2D karya Derek Yu yang memiliki beberapa level prosedural yang hebat.
Ada juga konten prosedural wiki http://pcg.wikidot.com/
sumber