Ada banyak topik tentang cara kerja pembuatan prosedural, tetapi saya tidak dapat menemukan info tentang cara menguji dan - yang lebih penting - bagaimana melaporkan bug yang mungkin terjadi pada level yang dihasilkan secara prosedural. Apa cara terbaik untuk menggambarkan bug, misalnya terkait dengan desain level, pada peta yang akan terlihat berbeda setiap kali Anda memainkan game baru? Informasi apa yang harus dimasukkan dalam laporan bug sehingga mereproduksi itu akan lebih mudah bagi desainer tingkat, artis tingkat, dll. Dan kemudian juga selama proses regresi?
EDIT: Perlu disebutkan bahwa permainan, saya sedang bersiap untuk menguji, sedang dalam tahap awal pengembangan dan terus berubah seiring dengan sistem yang bertanggung jawab untuk menghasilkan level. Tujuan dari penelitian ini adalah untuk mempelajari cara mendeskripsikan bug (info apa yang harus dimasukkan dalam laporan) sehingga regresi dalam lingkungan yang berubah akan memakan waktu lebih sedikit dan seefektif mungkin.
Jawaban:
Ini juga bisa sangat berguna ketika algoritma pembuatan peta Anda bersifat deterministik dan dapat diulang berdasarkan nilai seed awal. Jadi saat Anda memasukkan nilai seed yang sama, Anda mendapatkan peta yang sama. Ini mungkin lebih mudah diterapkan daripada yang Anda pikirkan. Sebagian besar API pembangkitan angka acak dapat diinisialisasi dengan nilai seed dan kemudian selalu menghasilkan urutan nomor acak yang sama untuk seed yang sama. Jika Anda menggunakan salah satu dari beberapa platform di mana ini tidak terjadi (seperti JavaScript berbasis browser), Anda dapat mengimplementasikan generator nomor acak Anda sendiri. Ada banyak algoritma di sekitarnya yang tidak terlalu sulit untuk diterapkan dan biasanya selalu membutuhkan nilai seed.
Penguji Anda kemudian dapat menyebutkan peta unggulan dalam laporan bug mereka. Sebuah laporan bug seperti "Pohon tumbuh di tengah danau" dapat memiliki instruksi reproduksi "Hasilkan peta dengan seed a4f6dd32 dan pergi ke posisi 4321500: 1269100". Setelah Anda memverifikasi ini, Anda dapat mengatur breakpoint debugger bersyarat dalam algoritma pembuatan peta Anda yang memicu pada potongan peta yang terpengaruh dan memeriksa apa yang sebenarnya terjadi.
Algoritma pembuatan peta deterministik juga memungkinkan Anda untuk menerapkan tes otomatis. Anda dapat memiliki berbagai benih uji dengan output yang diketahui dan kemudian melakukan tes otomatis Anda untuk memeriksa apakah output itu masih sama setelah Anda melakukan beberapa peningkatan kinerja dalam algoritma generasi Anda.
sumber