Saya ingin membuat peta sederhana yang dibuat secara acak untuk permainan kecil.
Gim ini terdiri dari pemandangan dunia dari atas ke bawah, dengan daratan dan wilayah lautan. Pikirkan peta garis besar dunia yang sederhana misalnya.
Hal terdekat yang bisa saya pikirkan yang pernah saya lihat sebelumnya adalah generator level untuk game SimCity lama , atau seri Civ , di mana Anda dapat mengatur preferensi untuk satu benua dibandingkan banyak pulau, dll.
Algoritma macam apa yang cocok? Peta harus cukup diperbesar, sehingga saya dapat memiliki tampilan "seluruh dunia", dan juga tampilan lokal yang lebih diperbesar, tetapi saya pikir saya akan menyelesaikannya nanti.
Awalnya saya tidak memerlukan konsep ketinggian, hanya dua area - darat dan laut, meskipun saya mungkin memperpanjangnya nanti.
Jawaban:
Amit "terkenal" (dengan halaman raksasa dari berbagai topik pemrograman game) memiliki blog pemrograman game, dan dia baru saja menyelesaikan tutorial 3-bagian tentang metode pembuatan peta yang menarik. Saya sangat menikmati bacaannya, dan ada demo yang berfungsi di bagian bawah artikel ketiga yang cukup bagus.
"Pembuatan peta poligon" bagian 1 , bagian 2 , bagian 3 .
Ini mungkin teknik yang Anda ingin sesuaikan dengan kebutuhan Anda! Paling tidak, ia menyebutkan algoritma yang ia gunakan pada setiap langkah proses: ia mulai dengan poligon Voronoi generasi , mengendurkannya ke distribusi yang lebih merata menggunakan relaksasi Lloyd , menggunakan "fungsi sederhana untuk membagi dunia menjadi tanah dan air" , dan kemudian banjir mengisi untuk menentukan lautan dan danau. Sepertinya Anda bisa berhenti di situ, atau baca terus untuk gunung dan lembah dan mengubahnya menjadi 3D dan sebagainya.
sumber