Generator penjara bawah tanah sederhana yang ditulis dalam JavaScript.
Aplikasi yang digunakan dapat ditemukan di sini.
Generator dimulai dengan mencoba menempatkan kamar berukuran acak di lokasi acak di grid. Jika ruangan yang ada akan bertabrakan dengan ruang prospektif, penempatan gagal dan prosesnya berulang dengan ruang baru yang dihasilkan secara acak. Jumlah upaya penempatan telah ditentukan sebelumnya.
Setelah semua kamar ditempatkan, triangulasi Delaunay dilakukan dengan menggunakan ubin tengah setiap kamar sebagai titik, membuat grafik dari semua kamar. Kode yang digunakan untuk melakukan triangulasi dapat ditemukan di sini.
Triangulasi Delaunay kemudian digunakan untuk membuat pohon spanning minimum yang menghubungkan semua kamar. Untuk membuat ruang bawah tanah lebih menarik, beberapa tepi yang dikeluarkan dari triangulasi ditambahkan kembali ke pohon.
Akhirnya, algoritma A* PathFinding digunakan untuk membuat jalur di antara kamar -kamar yang terhubung di pohon yang dimodifikasi.
