Cara menentukan jumlah pengalaman yang dibutuhkan untuk naik level

29

Pertanyaan terkait di bawah topik ini mungkin meliputi:

  1. Bagaimana saya harus mendasarkan berapa banyak poin pengalaman yang diperlukan untuk mencapai level berikutnya?
  2. Faktor-faktor apa yang terlibat dalam hal ini?
  3. Bagaimana cara menjaga agar pemain tidak terhibur cukup lama sampai dia naik level?
  4. Bagaimana saya bisa memvariasikan cara pemain mendapatkan poin pengalaman?

sumber
Mengapa memilih bawah?
Memberi +1 karena saya telah menghabiskan banyak waktu untuk mencoba berbagai hal di sini.
Casey
1
Saya menurunkan suara karena saya pikir itu pertanyaan yang terlalu samar. Lihatlah sebagian besar Jawaban - "tidak ada rumus tunggal", "Anda bisa membuatnya sesuka Anda", "itu tergantung pada jenis pengalaman yang ingin Anda buat untuk pemain". Astaga, bisakah kamu lebih ambigu ? Tapi, tampaknya tidak ada orang lain yang setuju dengan saya, jadi itu ...
Cyclops
@ Cyclops: Seperti ini sehingga kita dapat menentukan hal-hal yang terlibat dalam poin pengalaman. Apakah Anda lebih suka memiliki satu ton pertanyaan berdasarkan pengalaman poin setiap kali seseorang bertanya tentang permainan mereka atau apakah Anda lebih suka memiliki satu referensi yang berbicara tentang semua berbagai aspek yang perlu Anda perhitungkan. Saya menerima jawaban coderanger karena ini adalah tempat awal yang bagus.

Jawaban:

13

Secara umum ini dilakukan sebagai kurva eksponensial samar-samar. http://kol.coldfront.net/thekolwiki/index.php/Advancement#Advancement_Requirements_Overview menunjukkan formula untuk Kingdom of Loathing, yang merupakan standar yang cukup untuk genre MMO.

pembuat kode
sumber
Bagus! Saya tidak tahu ada persamaan sebenarnya!
Tidak ada formula tunggal yang digunakan semua orang, tetapi itu harus menjadi tempat untuk memulai.
coderanger
Penting untuk mempertimbangkan XP yang Anda dapatkan per pertemuan, juga, karena itu akan memainkan peran yang sama pentingnya dalam berapa lama waktu yang dibutuhkan untuk naik level.
Henk
11

Saya sebenarnya membahas topik ini ketika berbicara tentang hubungan numerik dalam game: http://gamebalanceconcepts.wordpress.com/2010/07/14/level-2-numeric-relationships/

Anda dapat membuatnya sesuka Anda, meskipun biasanya berada pada kurva yang meningkat (sehingga setiap level membutuhkan lebih banyak XP daripada yang terakhir), karena perjumpaan / pencarian cenderung memberikan lebih banyak XP saat Anda maju.

Kuncinya bukan hanya berkonsentrasi pada kurva Level-XP atau kurva XP-per-pertemuan, tetapi untuk membandingkan keduanya. Jika kurva Level-XP meningkat lebih cepat daripada XP-per-pertemuan, pemain akan melihat mereka mendapatkan level lebih lambat dari waktu ke waktu, yang cukup standar untuk genre ini. Namun, bahayanya adalah jika level up mendapatkan TERLALU sedikit dan jauh di antara endgame, maka memori terakhir pemain Anda dari permainan Anda akan menjadi gilingan kolosal, yang Anda mungkin juga tidak mau. Jadi cari tahu berapa banyak pertemuan per naik level yang dapat diterima di akhir permainan, dan berapa banyak pertemuan per naik level yang Anda inginkan di awal permainan, dan sisipkan dari sana.

Juga, saya harus menyebutkan bahwa Anda BISA memiliki sistem hadiah yang tumpang tindih selain hanya XP / Level. Beberapa RPG memiliki poin pekerjaan (jadi Anda memiliki beberapa sistem leveling / kemajuan), sehingga mungkin ada beberapa saat antara (katakanlah) menaikkan level skill Fighting Anda atau skill Healing Anda, tetapi dengan hal-hal yang cukup berbeda leveling Anda selalu hanya beberapa beberapa menit dari peningkatan SESUATU. RPG lain memiliki drop item / peralatan acak, sehingga setiap pertemuan baru tidak hanya memberikan XP, tetapi juga peluang kecil untuk menghasilkan beberapa rampasan epik, sehingga Anda mendapatkan beberapa hadiah acak tambahan hanya untuk bermain.

Ian Schreiber
sumber
3

Saya akan mengatakan itu tergantung, setidaknya sebagian, pada jenis pengalaman yang ingin Anda buat untuk pemain. Pertimbangkan dua contoh, yang pertama adalah RPG berbasis giliran klasik, yang kedua adalah penembak tipe Gradius III , di mana Anda ingin kekuatan pemain untuk skala berdasarkan pada kemajuan sejak daftar kematiannya, bukan pada powerups (tidak untuk mengatakan itu adalah sistem yang baik, hanya sebuah contoh).

Dalam kasus RPG, sistem Anda mungkin beroperasi dengan asumsi bahwa seorang pemain tidak pernah kehilangan pengalaman. Demikian pula, ia mungkin ingin bertindak berdasarkan asumsi bahwa relatif mudah untuk mendapatkan beberapa tingkat kemahiran dalam sesuatu, tetapi sulit untuk menguasainya (seperti kebanyakan hal di dunia nyata). Dalam hal ini Anda mungkin ingin mengembangkan formula (seperti yang disarankan pembuat kode) yang eksponensial dalam beberapa hal. Di mana jumlah pengalaman yang diperlukan untuk mencapai level berikutnya entah bagaimana secara eksponensial berdasarkan level Anda saat ini. Penting untuk dipertimbangkan, namun tingkat di mana pemain Anda akan menerima pengalaman saat bermain. Sebagai contoh, seorang pemain yang membunuh Fire Demon tingkat 63 akan berharap untuk menerima lebih banyak pengalaman atas pembunuhannya daripada jika dia telah membunuh Lady Bug tingkat 2. Jadi saat mendesain formula Anda, pastikan Anda memperhitungkan sistem XP Anda. Terutama karena jika tidak, maka membunuh bug wanita akan sama menguntungkannya dengan membunuh musuh yang lebih keras.


Contoh 1 (Mungkin bukan formulir yang akan Anda gunakan): XP_TO_LEVEL = ((CURRENT_LEVEL + 1) ^ SCALE) * XP_BASE

Contoh 2: XP_TO_LEVEL = (XP_BASE * CURRENT_LEVEL) ^ SCALE

Di mana XP_TO_LEVEL adalah XP yang diperlukan untuk mencapai level berikutnya. CURRENT_LEVEL adalah level pemain saat ini. XP_BASE adalah angka arbitrer untuk memutuskan seberapa banyak setiap level "bernilai" di XP. SCALE adalah eksponen yang menentukan seberapa cepat skala XP yang dibutuhkan untuk naik level. Jika SCALE adalah 1 maka setiap level akan mengambil pengalaman XP_BASE. Jika SKALA kurang dari 1 maka setiap level akan mengambil pengalaman lebih sedikit dari level terakhir. Jika SKALA lebih besar dari 1 maka setiap level akan mengambil lebih banyak pengalaman daripada level terakhir.

Tabel berikut ini mengasumsikan SKALA 1.1 dan XP_BASE 100 menggunakan contoh 2.

Current Level   XP Needed   Increase from Last Level
1               158         0
2               339         181
3               530         191
4               728         198
5               930         202
...
10              1995        218

Contoh 3: XP_TO_LEVEL = ((CURRENT_LEVEL * SCALE) ^ 1.5) * XP_BASE

Di mana SCALE masih menentukan seberapa cepat skala XP_TO_LEVEL, tetapi beroperasi sedikit berbeda.

Tabel berikut ini mengasumsikan SKALA 22 dan XP_BASE 10 menggunakan contoh 3.

Current Level   XP Needed   Increase from Last Level
1               28          0
2               80          52
3               146         66
4               226         80
5               316         90
...
10              894         130

Dalam kasus klon Gradius, Anda mungkin mengambil strategi yang berbeda. Anda mungkin ingin pemain naik level secara konsisten, katakan setiap dua menit. Selain itu, setelah permainan kehilangan nyawa dan akibatnya kehilangan semua kekuatan yang didapatnya, Anda mungkin ingin membantunya dengan menaikkan levelnya lebih cepat sampai ia mencapai level yang sesuai untuk kemajuannya melalui permainan. Dalam hal ini rumus Anda kemungkinan akan lebih linier, terutama karena pengguna tidak dapat melihat berapa banyak pengalaman yang didapatnya per pembunuhan. Sesuatu seperti, dibutuhkan 50 XP untuk mencapai level baru dan setiap musuh bernilai 1 XP. Ini berfungsi baik asalkan Anda memberinya arus musuh yang relatif stabil. Tapi, ketika pemain meninggal, dia kehilangan semuanya! Apa yang kamu lakukan sekarang? Setiap musuh harus bernilai lebih dari 1 XP untuk memenuhi tujuan Anda menangkapnya sehingga permainan kembali adil.

Contoh: XP_FROM_EACH_ENEMY = BASE_XP + (CURRENT_LEVEL - DESIRED_LEVEL) Di mana XP_FROM_EACH_ENEMY adalah berapa banyak XP yang akan diberikan musuh ketika dibunuh. BASE_XP adalah berapa banyak nilai XP musuh secara default (bisa bervariasi jenis per-musuh). CURRENT_LEVEL adalah level pemain DESIRED_LEVEL adalah level yang menurut Anda seharusnya dimiliki pemain.

Anthony Compton
sumber
2

Secara pribadi saya gunakan.

C / (A x B)

Di mana: A = Waktu untuk pertemuan / membunuh (rata-rata musuh mudah, normal dan keras) B = Exp per membunuh. (rata-rata musuh mudah, normal dan keras) C = Waktu yang dihabiskan untuk pemain naik level.

Catatan: Semua ini relatif terhadap kecepatan dan poin dalam permainan.

Saya pikir ini mungkin sangat sederhana tetapi perhatikan bahwa Anda juga mengatur elemen lainnya. Dengan menggunakan persamaan sederhana, Anda dapat dengan mudah beradaptasi dengan perubahan di tengah jalan.

Wight
sumber