Ada beberapa masalah yang saya temui dalam game berbasis kebisingan Perlin saya. Lihatlah screenshot terlampir di bawah ini.
Area putih yang Anda lihat adalah dinding, dan area hitam bisa dilalui dengan berjalan kaki. Segitiga di tengah adalah pemain.
Saya telah mengimplementasikan fisika dalam game ini dengan menggambarnya menjadi tekstur (piksel putih atau hitam), dan kemudian mendapatkannya dari CPU.
Namun, sekarang saya berdiri dengan masalah yang berbeda. Saya ingin unit (atau merayap, apa pun sebutan Anda) untuk terus-menerus muncul, di tepi layar. Intinya di sini adalah bahwa dalam pertandingan terakhir, akan ada "kabut perang" yang tidak memungkinkan pemain untuk melihat sejauh itu.
Saya pikir saya hanya bisa memindai piksel di tepi layar dan melihat apakah tekstur fisiknya hitam, lalu menelurkan barang secara acak di sana. Namun, jika Anda melihat screenshot kedua, ada (di sudut kiri atas) contoh di mana saya tidak ingin creep muncul (karena mereka tidak akan dapat menjangkau pemain dari sana) .
Apakah mungkin untuk memiliki GPU menentukan spawn-spot ini untuk saya, atau cara lain? Saya berpikir untuk membuat vektor antara titik yang diusulkan di tepi layar dan pemain, dan kemudian mengikutinya setiap 10 voxel, dan melihat apakah dinding bertabrakan, sebelum menelurkan unit di sana.
Namun, solusi yang diusulkan di atas mungkin terlalu intensif CPU.
Ada saran tentang masalah ini?
Catatan 1 Untuk unit yang muncul, saya tidak ingin menggunakan bentuk pathfinding apa pun untuk menghindari tabrakan di dinding saat unit ini berjalan ke arah pemain. Oleh karena itu, unit harus menelurkan di tepi layar, di lokasi di mana berjalan dalam garis lurus ke arah pemain tidak akan bertabrakan dengan dinding apa pun.