Dalam banyak permainan, Anda menaikkan level ketika Anda mencapai skor tertentu, dan level selanjutnya lebih sulit untuk dicapai daripada di awal.
Saya menduga bahwa itu adalah semacam fungsi eksponensial yang digunakan dalam misalnya WoW.
Adakah yang tahu fungsi eksponensial yang bagus untuk tujuan ini?
mathematics
software-engineering
levels
leaderboards
Sandra Schlichting
sumber
sumber
Jawaban:
Tidak ada standar, juga tidak ada alasan untuk itu. Orang-orang tampaknya menyukai pertumbuhan eksponensial karena hal itu membuat mereka merasa semakin kuat dan dihadapkan dengan tantangan yang lebih proporsional setiap kali, tetapi pada kenyataannya itu hanya benar jika cara Anda mengumpulkan poin tidak juga berubah secara proporsional juga. . Jika pengalaman-per-kemenangan naik sebagai tingkat yang sama dengan pengalaman-per-level, maka tidak ada gunanya naik - mereka berdua bisa tetap konstan.
Lebih lanjut, implikasinya adalah bahwa Anda tidak bisa hanya memilih fungsi untuk bagaimana Anda ingin kurva pengalaman Anda pergi tanpa mengetahui bagaimana Anda ingin pengalaman Anda bertambah. Dan itu adalah keputusan desain game berdasarkan jenis pengalaman yang Anda inginkan, dan bukan yang bisa kami berikan untuk Anda.
Namun, untuk menjawab pertanyaan Anda: jenis fungsi yang Anda lihat di tempat lain hanyalah sesuatu seperti ini, polinomial sepele dengan faktor skala:
threshold_for_next_level = x * current_level y
Nilai tipikal mungkin x = 1000, y = 1,5. misalnya:
Jika Anda ingin lereng lebih curam, Anda meningkatkan y. Jika Anda ingin angka lebih besar, Anda menambah x.
Anda mungkin ingin memiliki angka bulat, dalam hal ini hanya membulatkan hasil akhir hingga 2 atau 3 digit signifikan, atau ribuan terdekat, apa pun yang Anda suka.
Ingatlah bahwa nilai-nilai ini tidak ada artinya dalam isolasi. Jika membutuhkan 15000 pengalaman untuk naik dari level 15 ke level 16, maka Anda harus memastikan bahwa desain gim Anda membuatnya praktis bagi karakter level 15 untuk menambah 15000 poin pengalaman selama bermain normal. Tidak ada gunanya hanya mengubah kurva setelah pengujian karena umumnya terlalu memakan waktu - Anda harus memulai dengan kurva yang cocok dengan penghargaan yang diberikan permainan Anda dengan cara yang sesuai dengan desain yang Anda inginkan.
sumber
Moria / Angband (dan semua spin-off mereka termasuk - yang bisa diperdebatkan - Diablo) mendasarkan sistem mereka pada level monster yang cocok dengan level pemain, untuk melihat apa yang Anda peroleh, dengan meningkatnya persyaratan XP per level di luar itu.
Di Diablo , ada level optimal monster yang bisa kamu bunuh, dalam 5 level kamu positif dan negatif. Itu terlihat seperti ini (permintaan maaf jika ini tidak akurat, penggemar Diablo):
Contoh untuk characterLevel 16: Level monster A: 16. Dapatkan 100% dari XP basis monster. Level monster B: 13. Dapatkan 40% dari basis monster XP. Level monster C: 20. Dapatkan 20% dari base monster XP. Level monster D: 23. Dapatkan 0% dari monster base XP.
Di Angband (model yang saya sukai), ada yang seperti ini:
Jadi, jika Anda membunuh monster level 50 ketika Anda level 5, Anda akan mendapatkan 10x XP bahwa karakter level 50 yang membunuh monster yang sama akan mendapatkan. Saya suka ini, itu berisiko tinggi, hadiah tinggi. Saya kehilangan ribuan karakter di Angband karena hal ini. Tapi yang berhasil, yah mereka yang legendaris. Saya pikir saya pernah mencapai level 29 langsung dari level 1;) Demikian juga, karakter level 50 yang membunuh monster level 5 akan mendapatkan 1/10 XP level satu yang akan diperoleh karakter karena membunuh monster itu. Lebih lanjut, karena basis XPs juga naik, ini berarti membunuh monster level rendah masih bisa memberi Anda hadiah, tetapi pergi terlalu jauh ke bawah dan menjadi sama sekali tidak ada gunanya.
Di kedua game, mereka juga menggunakan pengganda pada XP yang dibutuhkan (pada skala yang meningkat), namun, rasio antara ini dan tingkat rakasa optimal yang diberikan XP semakin curam.
Bentuk paling sederhana dari ide ini adalah melakukan hal berikut. Tentukan berapa banyak monster dengan level yang sama dengan Anda, Anda harus membunuh setiap level untuk dinilai (mengabaikan hadiah pencarian, dll.). Katakanlah 100 - terlepas dari level Anda. Katakan bahwa jika pemain membunuh monster dengan level yang sama dengan dirinya sendiri, dia mendapatkan 1XP.
Menggunakan formula seperti-Angband untuk menghargai kenaikan & pengurangan sesuai dengan level monster, tabel leveling Anda linear:
...Dan seterusnya. Saya menemukan ini sebagai titik lompatan termudah - atur sesuai kebutuhan, termasuk XP monster base, cutoff level, dll. Sesuka hati Anda.
sumber