<p>OpenApoc tidak menghasilkan berbagai peta OG untuk setiap misi</p>

Dibuat pada 28 Jun 2019  ·  3Komentar  ·  Sumber: OpenApoc/OpenApoc

Seperti yang disebutkan secara khusus mengenai Peta Kumuh di #396, tampaknya masalah dengan OpenApoc yang tidak menghasilkan peta lengkap untuk setiap bangunan dan tipe area ada di seluruh papan

Ada banyak pilihan yang OpenApoc harus dapat buat, tetapi tampaknya tidak

Video youtube

Investigasi lebih lanjut diperlukan

Idealnya, kami harus menawarkan semua kombinasi peta yang dilakukan OG, tetapi juga memungkinkan lebih banyak kemungkinan dan variasi ukuran peta

Tampaknya peta diskalakan menurut ukuran regu di OG, tetapi dengan elemen "acak" yang berarti bahwa nomor regu kecil jarang masih bisa berakhir di peta yang sangat besar....

!BUG! low priority Enhancement Feature Request Help Wanted

Komentar yang paling membantu

Pembaruan lebih lanjut dari istrebitel

Ya, saya pikir saya hampir mencapai itu - peta yang lebih besar untuk jumlah musuh yang lebih besar.
Cara kerja agen pemijahan adalah peta dipisahkan menjadi LOS
blok, yang digunakan untuk pencarian jalan, perhitungan LOS dan untuk
pemijahan semua pada waktu yang sama. Setiap ubin di blok peta milik
salah satu blok LOS, yang semuanya berbentuk kotak. Lalu ada global
pengaturan apakah Anda dapat keluar atau masuk ke peta di tepi tertentu, untuk
setiap peta. Berdasarkan ini, blok LOS memenuhi syarat atau tidak untuk bertelur
unit kesetiaan tertentu. Ada satu set nilai yang ditetapkan di blok
yang mengatur ini. Nilai-nilai itu harus dijelaskan di suatu tempat di
forum atau dalam file txt yang dilampirkan ke proyek. Jika saya ingat
benar, ada nilai blok spawn untuk unit pemain, unit alien,
unit musuh, unit sipil, mungkin personel x-com sipil memiliki
pisahkan satu, mungkin tidak, yang saya tidak ingat, dan saya ingat
ada blok khusus untuk ratu pemijahan.

Jadi, cara untuk memilih ukuran peta berdasarkan ukuran regu adalah dengan
pelajari blok dengan cerdas dan lihat blok mana yang menyediakan berapa banyak
peluang pemijahan dan menilai berdasarkan itu, atau mungkin vanilla
baru saja melakukan peretasan hardcode seperti "jika lebih dari X maka gunakan ukuran Y"

Juga satu hal yang perlu diperhatikan, saya rasa saya tidak menyelesaikan masalah ini, caranya
beberapa blok dibuat, titik spawn dari pihak yang bermusuhan bisa di LOS
satu sama lain, seperti gudang MARSEC, misalnya, Anda sering dapat melihat a
banyak poin keamanan marsec menelurkan dari titik masuk. Permainan
entah bagaimana memastikan bahwa tidak pernah ada situasi seperti itu di mana Anda muncul
LOS musuh. Anda dapat menelurkan kembali ke belakang, artinya, setelah unit Anda
bergerak sedikit mereka melihat satu sama lain, tetapi Anda tidak dapat bertelur dengan musuh
sudah di LOS. Logikanya, itu harus mengikuti permainan itu entah bagaimana
tidak termasuk poin spawn atau blok LOS berdasarkan apakah blok ini
diamati oleh unit yang sudah bertelur. Logikanya kemudian, mungkin saja terjadi bahwa
peta lapangan terbuka teoritis dihasilkan, yang di atas kertas sudah cukup
menelurkan poin untuk menelurkan semua unit yang berpartisipasi, tetapi kemudian tidak
memiliki cukup blok untuk menelurkan setiap unit karena setiap unit yang menelurkan melihat
seluruh blok. Saya pikir di vanilla tidak ada lapangan terbuka seperti itu
blok, jadi ini tidak akan pernah terjadi, tetapi dengan modding ini kemungkinan besar
akan dan kita harus siap untuk itu.

Semua 3 komentar

Inilah tanggapan dari Istrebitel tentang pembuatan peta

dari apa yang saya ingat, ada daftar blok dalam file game asli, seperti, 9 atau 18 blok berbeda untuk daerah kumuh, dengan setiap blok memiliki jumlah kejadian minimum dan maksimum, dan ukuran peta itu sendiri didefinisikan memiliki ukuran minimum dan maksimum yang mungkin . Kemudian generator secara acak memilih dan mencocokkan blok bersama yang menghasilkan peta acak.

Untuk memaksa OpenApoc menghasilkan peta berukuran besar atau kecil, Anda akan mengedit nomor "jumlah blok XYZ" ini, dari mana pun ia membacanya, atau cukup dengan cepat mengubahnya dalam kode (baca statis alih-alih membaca dari file, yaitu selalu buat peta daerah kumuh 4x4x1, alih-alih membuat apa pun yang ditetapkan untuk daerah kumuh di file).
Penjelasan lebih rinci akan menjadi:

  • Setiap peta memiliki ukuran potongannya sendiri
  • Setiap peta dibangun dari balok. Blok adalah templat - berbagai jenis sektor kumuh, misalnya, atau berbagai jenis blok dasar x-com. Ini disatukan secara acak untuk membentuk peta
  • Blok memiliki ukuran variabel dalam potongan. Misalnya, ada ubin, apartemen mewah saya pikir, yang memiliki blok 1x1x2 (lift), blok 1x2x1 (koridor) dan banyak blok 1x1x1 (apartemen sendiri). UFO adalah peta 2x2x2 sederhana yang hanya menampilkan satu blok 2x2x2. Dll.
  • Setiap blok memiliki kejadian min dan maks. Untuk contoh aplikasi mewah, blok lift akan memiliki kemunculan minimal 1, jika tidak, peta tanpa blok ini dapat dibuat, dan lantai akan menjadi
    tidak dapat diakses tanpa kerusakan medan karena tidak ada lift, hanya apartemen dan koridor satu tingkat
  • Setiap peta memiliki ukuran minimum dan maksimum pada semua sumbu, dalam potongan (atau mungkin hanya menambah atau mengurangi 1 secara acak ke ukuran potongan yang umum? Saya tidak ingat)
  • Algoritme pembuatan peta tidak diketahui, tidak direkayasa ulang, jadi saya membangunnya dari awal, dan sepertinya bekerja hampir sama dengan vanilla
  • AFAIK, algoritme saya pertama kali berjalan dan membuat daftar blok wajib dan menempatkan semuanya secara acak
  • Kemudian ia membuat daftar blok yang tersisa (kemunculan maks yang tersisa>0) dan menempatkan salah satu blok ini secara acak hingga peta selesai
  • Jika tidak dapat ditempatkan, ia akan bergerak untuk memberi ruang, seperti tetris (tetapi biasanya ini tidak pernah terjadi)
  • Jika tidak dapat membuat peta, ia mencoba lagi dengan ukuran lain
  • Kemudian menyerah dan meludah kesalahan (biasanya ini tidak pernah tercapai dengan templat peta vanilla)
  • Ketika menempatkan semua blok, itu kemudian menghasilkan peta itu sendiri
  • membuat objek peta dan mengisi peta dengan objek berdasarkan blok (dinding, dekorasi, titik spawn item, dll.)

Pembaruan lebih lanjut dari istrebitel

Ya, saya pikir saya hampir mencapai itu - peta yang lebih besar untuk jumlah musuh yang lebih besar.
Cara kerja agen pemijahan adalah peta dipisahkan menjadi LOS
blok, yang digunakan untuk pencarian jalan, perhitungan LOS dan untuk
pemijahan semua pada waktu yang sama. Setiap ubin di blok peta milik
salah satu blok LOS, yang semuanya berbentuk kotak. Lalu ada global
pengaturan apakah Anda dapat keluar atau masuk ke peta di tepi tertentu, untuk
setiap peta. Berdasarkan ini, blok LOS memenuhi syarat atau tidak untuk bertelur
unit kesetiaan tertentu. Ada satu set nilai yang ditetapkan di blok
yang mengatur ini. Nilai-nilai itu harus dijelaskan di suatu tempat di
forum atau dalam file txt yang dilampirkan ke proyek. Jika saya ingat
benar, ada nilai blok spawn untuk unit pemain, unit alien,
unit musuh, unit sipil, mungkin personel x-com sipil memiliki
pisahkan satu, mungkin tidak, yang saya tidak ingat, dan saya ingat
ada blok khusus untuk ratu pemijahan.

Jadi, cara untuk memilih ukuran peta berdasarkan ukuran regu adalah dengan
pelajari blok dengan cerdas dan lihat blok mana yang menyediakan berapa banyak
peluang pemijahan dan menilai berdasarkan itu, atau mungkin vanilla
baru saja melakukan peretasan hardcode seperti "jika lebih dari X maka gunakan ukuran Y"

Juga satu hal yang perlu diperhatikan, saya rasa saya tidak menyelesaikan masalah ini, caranya
beberapa blok dibuat, titik spawn dari pihak yang bermusuhan bisa di LOS
satu sama lain, seperti gudang MARSEC, misalnya, Anda sering dapat melihat a
banyak poin keamanan marsec menelurkan dari titik masuk. Permainan
entah bagaimana memastikan bahwa tidak pernah ada situasi seperti itu di mana Anda muncul
LOS musuh. Anda dapat menelurkan kembali ke belakang, artinya, setelah unit Anda
bergerak sedikit mereka melihat satu sama lain, tetapi Anda tidak dapat bertelur dengan musuh
sudah di LOS. Logikanya, itu harus mengikuti permainan itu entah bagaimana
tidak termasuk poin spawn atau blok LOS berdasarkan apakah blok ini
diamati oleh unit yang sudah bertelur. Logikanya kemudian, mungkin saja terjadi bahwa
peta lapangan terbuka teoritis dihasilkan, yang di atas kertas sudah cukup
menelurkan poin untuk menelurkan semua unit yang berpartisipasi, tetapi kemudian tidak
memiliki cukup blok untuk menelurkan setiap unit karena setiap unit yang menelurkan melihat
seluruh blok. Saya pikir di vanilla tidak ada lapangan terbuka seperti itu
blok, jadi ini tidak akan pernah terjadi, tetapi dengan modding ini kemungkinan besar
akan dan kita harus siap untuk itu.

Silakan lihat #396 untuk hal-hal lain yang berkaitan dengan masalah ini

Apakah halaman ini membantu?
0 / 5 - 0 peringkat