Salah satu perjuangan yang selalu saya alami dalam pengembangan game adalah memutuskan bagaimana menerapkan poin pengalaman yang dikaitkan dengan mendapatkan level. Sepertinya tidak ada pola untuk mendapatkan level di banyak game yang saya mainkan, jadi saya berasumsi mereka memiliki tabel kamus statis yang berisi poin pengalaman vs level. misalnya
Experience Level
0 1
100 2
175 3
280 4
800 5
... Tidak ada sajak atau alasan mengapa 280 poin sama dengan level 4, hanya saja.
Saya tidak yakin bagaimana level-level itu diputuskan, tetapi tentu saja itu tidak akan dinamis. Saya juga sudah memikirkan kemungkinan level eksponensial, karena tidak harus menyimpan tabel pencarian terpisah, misalnya
Experience Level
0 1
100 2
200 3
400 4
800 5
1600 6
3200 7
6400 8
... tapi sepertinya itu akan tumbuh di luar kendali agak cepat, karena menuju level atas, musuh dalam game harus memberikan jumlah besar pengalaman ke level - dan itu akan sulit untuk dikendalikan. Leveling akan menjadi tugas yang mustahil.
Apakah ada yang punya petunjuk, atau metode yang mereka gunakan untuk memutuskan bagaimana tingkat karakter berdasarkan pengalaman? Saya ingin bersikap adil dalam leveling dan saya ingin tetap di depan para pemain karena tidak perlu khawatir terus-menerus menambah pengalaman baru / pencarian level.
sumber
f'(x) = c*f(x)
) . Istilah "geometrik" digunakan ketika domain (input) diskrit (mis. Integer). Rumus untuk contoh @ George, di atas level 1, adalahExperience = 100 * 2^(Level-2)
, yang eksponensial. Rumus untuk perkembangan Anda, di atas level 1, adalahExperience = 100^(Level-1)
, juga eksponensial.Jawaban:
Sangat umum untuk menggunakan hubungan persegi.
level = constant * sqrt(XP)
Atau kira-kira setara dengan celah naik secara linear.
Sistem-sistem ini bekerja cukup baik ketika perolehan XP kira-kira linier. Jika karakter level tinggi dapat memperoleh XP lebih cepat daripada karakter level rendah maka ini bukan sistem yang tepat.
sumber
Anda mungkin akan menemukan fungsi logaritmik bermanfaat karena mereka dapat digunakan untuk memperlambat peningkatan karena lebih banyak poin pengalaman diperoleh. Berikut adalah dua halaman web yang menjelaskan cara kerjanya:
Grafik Fungsi Logaritmik
http://www.analyzemath.com/Graphing/GraphLogarithmicFunction.html
Pengantar Fungsi Grafik Logaritma
http://www.purplemath.com/modules/graphlog.htm
Begini tampilannya pada grafik, yang diharapkan akan memenuhi kebutuhan Anda:
sumber
level = log(XP) <=> XP = e^level
. Persyaratan mungkin menjadi sedikit curam untuk level terakhir, tetapi akan berfungsi baik dengan pertumbuhan yang sesuai dalam akumulasi XP.Ini adalah beberapa cara yang saya gunakan sejauh ini. Mereka diurutkan berdasarkan laju tumbuh (hanya dikalikan setiap persamaan dengan nilai konstan):
exp = level (yang ini mungkin terlihat aneh tetapi untuk beberapa game yang menghargai perubahan exp sesuai dengan level pemain seperti perbatasan yang cocok untuk yang ini)
exp = level * log 10 (level)
exp = level ^ const_value: untuk contoh saya, saya menetapkan nilai const ke 3/2
sumber
Saya pikir itu tergantung seberapa mudah pemain bisa mendapatkan pengalaman. Jika pemain bisa mendapatkan 200 xp pada lvl 1 dalam 20 menit dan kemudian mendapatkan 200 xp pada lvl 2 dalam 2 menit, maka Anda perlu skala xp Anda secara eksponensial.
Namun jika mendapatkan level hanya membuatnya sedikit lebih mudah untuk mendapatkan xp, maka Anda harus melakukan fungsi xp lebih level. (Mungkin linear dengan beberapa koefisien> 1)
sumber
Seringkali poin yang dibutuhkan untuk mendapatkan level didasarkan pada kurva. Dalam banyak RPG itu ada juga banyak karakteristik dan atribut karakter Anda yang meningkat dengan level Anda, mereka juga akan ada di kurva sendiri.
Lihatlah pembuat RPGM untuk melihat bagaimana mereka melakukan sesuatu. Secara khusus lihat kurva parameter di tangkapan layar bagian "Tambahkan Beberapa Keunikan dengan Menyesuaikan Peralatan Awal" pada dokumen Membuat Karakter Utama .
Pada dasarnya Anda mungkin memiliki kurva untuk berapa banyak XP diperlukan untuk naik level, maka kurva berbeda untuk berapa banyak HP, MP, stamina, kekuatan dll diperoleh setiap level.
sumber
Pertimbangkan Waktu
Pertama-tama Anda perlu mencari tahu bagaimana tingkat pengalaman mendapatkan skala dengan level. Kemudian Anda dapat menyesuaikan leveling Anda dengan waktu yang dibutuhkan . Jika setiap tingkat tambahan memungkinkan Anda untuk mendapatkan pengalaman dua kali lebih cepat, dan Anda perlu dua kali lebih banyak pengalaman untuk tingkat, setiap tingkat akan memerlukan yang sama jumlah waktu.
Saran saya adalah berpikir tentang berapa banyak waktu yang harus dihabiskan pemain, kemudian sesuaikan leveling untuk itu.
sumber
Mungkin saya harus menggunakan sistem leveling datar, di mana setiap level membutuhkan jumlah pengalaman yang sama.
sumber