Apa skala kesulitan yang tepat untuk kemanjuran senjata vs kesulitan untuk mendapatkan?

8

Saya menulis dokumen desain untuk game petualangan berbasis voxel, mirip dengan minecraft, tetapi memperbaiki banyak mekanik game yang rusak secara mendasar, atau setidaknya memperbarui mekanika tersebut agar lebih cocok untuk game petualangan.

Saya sedang mempertimbangkan membuat skala senjata dari 1-10, di mana senjata di 1 paling kuat, dan senjata di 10 paling kuat. Saya sedang mempertimbangkan membuat bahan untuk membuat senjata paling umum untuk senjata level 1, dan 10x lebih jarang untuk senjata paling kuat, tetapi jika Anda melihat minecraft, berlian hanya muncul di 0,1% dari blok dan mereka masih merasa terlalu umum, kecuali Anda cenderung mati tentu saja.

Sesuai dengan fokus petualangan, apakah lebih baik memiliki tingkatan senjata yang lebih tinggi hanya berasal dari tetes monster, atau dari kombinasi drop monster langka dan item yang bisa ditambang, atau apakah ada mekanisme permainan umum lainnya yang bisa saya gunakan untuk memiliki senjata super kuat yang juga sulit didapat, tapi sepadan dengan waktu Anda untuk mendapatkannya?

Untuk menyatakan pertanyaan dengan cara lain, untuk investasi waktu, haruskah senjata yang 10x lebih kuat membutuhkan waktu 10x selama, atau 20x atau lebih tinggi? Apakah ada studi yang menunjukkan korelasi antara "kesenangan" dalam berapa lama pemain akan menggiling untuk item dan skala investasi waktu yang tepat untuk mendapatkan peralatan?

Ken
sumber
Saya pikir cara pertanyaan ini saat ini sedang diajukan tidak cocok untuk situs. Anda dapat memodifikasinya untuk bertanya tentang studi, algoritma, atau informasi faktual lainnya . Kalau tidak, Anda hanya mendapatkan pendapat. Itu ide yang menarik, jadi saya pikir Anda harus mencoba memperbaikinya.
MichaelHouse
Per FAQ, saya akan berpikir pertanyaan saya termasuk dalam kategori ini, "desain game (desain level, gameplay, mekanik, dll)", mengingat bahwa saya bertanya tentang mekanik game yang berlaku secara global, yaitu masalah investasi waktu untuk peralatan yang kuat . Namun, saya memang memodifikasi pertanyaan saya untuk meminta data yang lebih faktual daripada pendapat.
Ken
1
Saya tidak yakin pernah melihat istilah Fun and Grind dalam kalimat sebelum itu tidak menghina.
James
7
Anda mengusulkan skala linier, 10x lebih kuat 10x lebih mahal. Namun baik dalam kehidupan nyata maupun di game lain proses ini tidak linier. Mobil yang melaju dua kali lebih cepat bernilai 10x lebih, mobil yang melaju tiga kali lebih cepat bernilai 100x lebih. Dll. Anda harus mencoba menemukan kurva eksponensial yang bagus seperti biaya = c ^ (daya). Di mana c adalah konstanta yang bagus yang dapat Anda atur untuk mendapatkan perasaan yang benar.
Roy T.
7
Untuk menggunakan ilmu pengetahuan, atau psikologi setidaknya, apa yang kita bicarakan adalah Jadwal Rasio Penguatan Variabel. Penguatan telah dipelajari sedikit, dan Anda dapat mulai membacanya di sini: en.wikipedia.org/wiki/Reinforcement
tunda

Jawaban:

11

Saya akan menjawab ini secara orthogonal:

Apa pun yang Anda pilih akan salah.

Tidak peduli seberapa hati-hati Anda menghitung matematika, atau membaca studi, angka-angka yang akan Anda pilih sebelum tes bermain akan salah.

Satu-satunya cara untuk menentukan jumlah penggilingan yang sesuai untuk gim, gaya bermain, pengguna, dan antarmuka tertentu adalah dengan benar-benar mencobanya dan beralih, sambil memaksimalkan kesenangan pemain (atau keuntungan Anda ...)

Konsekuensi: Pastikan bahwa mengubah angka-angka ini mudah!

Ini artinya angka-angka ini akan diubah. Banyak. Jadi, Anda lebih baik memastikan bahwa Anda tidak perlu mengkompilasi ulang game Anda atau menggali kode Anda untuk menyeimbangkan angka ajaib.

Pilihan 1

Pilih apa pun yang terasa benar ketika Anda menerapkan, tetapi memasukkannya ke dalam file konfigurasi reloadable. ( .ini, JSON, XML, S-Exprs, apa pun yang paling Anda sukai ...) Dan pastikan bahwa Anda dapat memuat ulang konfigurasi Anda tanpa harus menulis ulang sebagian besar gim Anda.

pilihan 2

Jadikan probabilitas suatu item fungsi langsung dari levelnya. Dengan begitu, Anda dapat memodifikasi fungsi nanti, dan Anda tidak harus berurusan dengan banyak variabel. Sebagai contoh:

#
# Power on a scale up to 10.
#
# Examples of probability scaling function
#

def probability_of_v1(power):
  """ series """
  a, b, c, d = (1,4,16,210)
  return a - x/b + (x^2)/c - x^3/d

def probability_of_v2(power):
   """ linear """
   return 1 - (power/10)

def probability_of_v3(power):
   """Sinusoidal, starts at 1, is 0 at power=10"""
   return 0.5 * cos( x / pi ) + 0.5

#
# Then, use your function instead of your probability 
# when dropping loot or creating gems
#
class Monster:
  # ...
  def on_die(self):
    if random.random() < probability_of(self.power):
      self.drop_loot()
    else:
      pass
  # ...

Coba persamaannya secara online untuk melihat seperti apa bentuknya.

brice
sumber
Wah, terima kasih Kort! Saya harus mengakui bahwa ini adalah kebijaksanaan yang lahir dari pengalaman. Saya pernah menulis sebuah simulator serangga dengan angka-angka ajaib yang ditaburkan di seluruh kode, dan menghabiskan beberapa hari yang tidak menyenangkan mengubah parameter minor ketika simulasi harus dimodifikasi. Tidak membuat kesalahan itu lagi!
brice
7

Sulit untuk memberikan jawaban yang pasti, karena ini sangat tergantung pada bagaimana Anda ingin permainan dimainkan.

Namun, Terraria melakukan percobaan dengan ide-ide ini yang Anda sebutkan. Mereka meningkatkan jumlah bahan yang dibutuhkan untuk membuat senjata, baju besi dll. (Ini agak diimbangi oleh fakta bahwa bahan sering ditemukan dalam kelompok yang cukup besar). Mereka juga menerapkan drop monster langka dan umum juga, yang hanya dapat diperoleh melalui drop.

Sebaiknya Anda meneliti Terraria sedikit lagi, untuk melihat bagaimana rasanya memiliki mekanisme ini; maka saya yakin Anda akan diposisikan lebih baik untuk membuat keputusan tentang bagaimana Anda ingin menyeimbangkan penurunan barang dan distribusi material.

Jason H
sumber
+1 untuk contoh game. Juga, saya akan mengatakan ini adalah sesuatu untuk playtest banyak, Anda tidak dapat memiliki desain yang berfungsi tanpa bisa mengalaminya.
Laurent Couvidou
4

Tidak ada jawaban yang benar. Beberapa permainan bagus sulit, ada juga yang mudah. Beberapa gamer suka tantangan berulang, beberapa suka hadiah cepat. Saya pikir jawaban yang tepat terletak pada menemukan orang-orang potensial Anda, pertama. Setelah Anda memiliki versi alfa, temukan seseorang dengan pola pikir umum yang Anda harapkan dimiliki oleh kerumunan gim Anda, dan biarkan mereka memainkannya. Selama Anda membuat kode dengan benar, menyesuaikan variabel nanti tidak akan sulit, dan uji-bermain dan menyeimbangkan adalah tahap yang harus Anda miliki, bahkan jika Anda berpikir Anda telah mencapai rasio emas atau tidak.

Jadi jangan memusingkan angka saat Anda pemrograman - tidak ada jawaban yang benar secara teoritis, dan nanti Anda akan memiliki jawaban penguji yang konkret.

Tetapi, jika Anda masih ingin mencoba untuk mencapai angka ajaib, penelitian telah menunjukkan bahwa penggilingan (penambangan, dalam hal ini) hanya efektif selama masih dalam perkiraan waktu yang ditentukan pemain. Semakin banyak pemain menghabiskan waktu, semakin lama dia bisa menunggu hadiah berikutnya, tetapi itu harus selalu berada dalam kerangka waktu yang dapat dicapai, tidak lebih dari besarnya lebih besar dari kerangka waktu terakhir sebelum hadiah terakhir. Jadi, saya pikir peningkatan waktu 10x cocok, tapi saya tidak berpikir perbedaan antara dua level senjata harus 10x - jarak antar level dibiarkan cukup lebar.

Semoga berhasil!

nihohit
sumber
Wow ... Saya sedang berpikir peningkatan 10x antara level 1 dan 10 total, tapi saya kira kenaikan 10x antara level individu mungkin bekerja mengingat peningkatan pengembalian begitu Anda mulai menggunakan peralatan yang lebih baik.
Ken