Bagaimana cara menerapkan sistem pengalaman?


14

Saat ini saya sedang menulis game kecil yang didasarkan pada mendapatkan pengalaman saat membunuh musuh. Seperti biasa, setiap level membutuhkan pengalaman lebih banyak daripada level sebelumnya, dan pada level yang lebih tinggi, membunuh musuh memberi lebih banyak pengalaman.

Tapi saya punya masalah menyeimbangkan sistem ini. Apakah ada algoritma prebuilt yang membantu untuk menghitung bagaimana kurva pengalaman yang diperlukan untuk setiap level seharusnya? Dan berapa banyak pengalaman yang harus disediakan musuh rata-rata pada level tertentu?


Jawaban:


14

Anda ingin semacam kurva eksponensial, mungkin kira-kira seperti:

base_xp * (level_to_get ^ factor)

base_xp adalah konstanta yang menentukan berapa banyak xp yang Anda butuhkan untuk naik level.
level_to_get adalah level yang Anda tuju; pada level 1, ini akan menjadi level 2.
faktor adalah konstanta lain yang menentukan berapa banyak peningkatan xp yang Anda butuhkan untuk setiap level.

Memiliki base_xp dari 200 dan faktor, katakanlah, 2 memberikan sesuatu seperti ini:

masukkan deskripsi gambar di sini

Sedangkan base_xp dari 50 dan faktor 2,6 memberi:

masukkan deskripsi gambar di sini

Yang kedua memiliki tingkat awal xp yang jauh lebih rendah, tetapi Anda membutuhkan lebih banyak xp dengan sangat cepat.

Adapun monster xp, ini adalah sesuatu yang ingin Anda uji. Cobalah berbagai nilai. Anda menginginkan sesuatu yang tidak terlalu tinggi (Anda akan cepat menjadi dikuasai) namun tidak terlalu rendah (pemain tidak ingin menggiling). Pikirkan tentang berapa banyak musuh 'standar' yang ingin pemain bunuh untuk level 10-> 11, misalnya.


3
Anda mungkin menginginkan kurva yang lebih tajam daripada yang ada di sini. RuneScape , misalnya, memiliki kurva yang sangat curam, hampir menyerupai kurva logaritmik (dibalik / diputar tentunya); melihatnya di sini . Setidaknya dalam pengalaman pribadi saya, tampaknya bekerja SANGAT baik untuk memberi Anda banyak hadiah cepat di awal, dan saat Anda mencapai level yang lebih tinggi Anda disesuaikan dengan waktu bermain yang lebih lama sampai beberapa level terakhir mengambil SELAMANYA tetapi pemain entah bagaimana mentolerir itu. 99s cukup sering, terlepas dari STEEP !! kurva untuk sampai ke sana.
Ricket

Saya pasti akan mengatakan kurva di sini akan dangkal.
Bebek Komunis

tolong jangan exp. curve =, (- leveling membutuhkan waktu yang sangat lama dan semakin lama semakin dekat dengan tujuan Anda, plssss no =. (
Dave O.

Garis linier tidak akan berfungsi. Jika Anda membutuhkan 1000xp lebih banyak per level, maka semakin kuat Anda akan merasa semakin sedikit waktu untuk naik level.
Bebek Komunis

1
Fungsi yang ditampilkan ( base_xp * (level_to_get ^ factor)) sebenarnya adalah fungsi kuadrat karena level_to_getmerupakan nilai x dan bukan faktor, dan jika saya tidak salah, base_xpharus ditambahkan dan tidak dikalikan, untuk menerjemahkan fungsi ke atas? Maaf jika ini hanya saya pilih-pilih soal semantik, saya hanya ingin memastikan ini karena memetakan fungsi itu pasti tidak memberi Anda eksponensial lama.
chockie

6

Tidak ada jawaban yang tepat untuk pertanyaan tentang berapa banyak pengalaman yang harus diberikan musuh, atau seberapa curam kurva pengalaman itu. Mungkin membantu untuk memikirkan waktu bermain yang diperlukan untuk naik level untuk setiap level dan kemudian mendasarkan pengalaman yang diperlukan per level, dan rata-rata pengalaman dihargai per musuh pada ini.

Artikel ini adalah perincian terperinci matematika leveling dalam Lineage II. http://web.archive.org/web/20100303164314/http://www.tstonramp.com/~mykel/lineage/


1
Saya tidak bisa cukup menjawab jawaban ini. Misalnya, tidak ada alasan mengapa perlu ada kurva aktual untuk jumlah exp yang berbeda untuk setiap level karena Anda dapat menurunkan jumlah pengalaman yang diberikan musuh relatif terhadap level Anda sendiri untuk efek yang sama tetapi angka yang lebih mudah dikelola . Tidak ada pengganti nyata untuk memahami sistem pertarungan Anda sendiri dan bagaimana Anda ingin permainan itu dimainkan, dan kemudian menyesuaikan sistem pengalaman dengan hal itu.
Kylotan

4
Tautan ini tidak ada. Berikut ini tautan lama yang berfungsi: web.archive.org/web/20100303164314/http://www.tstonramp.com/…
Daniel Kaplan

Inilah sebabnya kami tidak menautkan ke halaman; Anda tidak dapat menjamin bahwa mereka akan selalu ada. Saya menurunkan dan menandai jawaban Anda.
Krythic

@Krythic saya memperbarui tautannya.
CiscoIPPhone
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.