Bir deneyim sistemi nasıl uygulanır?


14

Şu anda düşmanları öldürürken kazanma deneyimine dayanan küçük bir oyun yazıyorum. Her zamanki gibi, her seviye önceki seviyeden daha fazla deneyim kazancı gerektirir ve daha yüksek seviyelerde düşmanları öldürmek daha fazla deneyim kazandırır.

Ama bu sistemi dengelemekte sorun yaşıyorum. Her seviye için gereken deneyim eğrisinin nasıl olması gerektiğini hesaplamaya yardımcı olan önceden oluşturulmuş herhangi bir algoritma var mı? Ve belirli bir seviyedeki ortalama bir düşman ne kadar deneyim sağlamalı?


Yanıtlar:


14

Bir tür üstel eğri, muhtemelen şöyle bir şey istersiniz:

base_xp * (level_to_get ^ factor)

base_xp, bir seviyeye çıkmak için ne kadar xp gerektiğine karar veren bir sabittir.
level_to_get hedeflediğiniz düzeydir; seviye 1'de bu seviye 2 olacaktır.
faktör, her seviye için xp artışının ne kadarına ihtiyacınız olduğuna karar veren başka bir sabittir.

200 base_xp değerine ve 2 faktörüne sahip olmak şöyle bir şey verir:

resim açıklamasını buraya girin

Oysa 50 base_xp ve 2.6 faktörü verir:

resim açıklamasını buraya girin

İkincisi çok daha düşük bir başlangıç ​​xp oranına sahip, ancak çok daha hızlı bir şekilde daha fazla xp'ye ihtiyacınız var.

Canavar xp'ye gelince, bu test etmek istediğiniz bir şey. Çeşitli değerleri deneyin. Çok yüksek olmayan (hızlı bir şekilde aşırı güç kazanacaksınız) ama çok düşük olmayan (oyuncular öğütmek istemiyor) bir şey istiyorsunuz. Örneğin oyuncunun seviye 10-> 11 için öldürmesini istediğiniz 'standart' düşmanları düşünün.


3
Buradakinden daha keskin bir eğri isteyebilirsiniz. Örneğin RuneScape , neredeyse bir logaritmik eğriye benzeyen çok dik bir eğriye sahiptir (elbette çevrilir / döndürülür); burada görün . En azından kişisel deneyimimde, başlangıçta size çok sayıda hızlı ödül vermek için ÇOK iyi çalışıyor gibi görünüyor ve daha yüksek seviyelere ulaştığınızda, son birkaç seviye sonsuza dek sürene kadar daha uzun çalma sürelerine ayarlandınız ancak oyuncu bir şekilde tahammül eder. ADIM rağmen 99'lar oldukça sık !! eğri oraya.
Ricket

Kesinlikle buradaki eğrilerin sığ olacağını söyleyebilirim.
Komünist Ördek

lütfen exp. eğrisi =, (- seviyelendirme onunla çok uzun sürüyor ve hedefinize yaklaştıkça daha uzun, plssss no =. (
Dave O.

Doğrusal bir çizgi işe yaramaz. Seviye başına 1000xp daha fazlasına ihtiyacınız varsa, güçlendikçe seviye atlamanın daha az zaman aldığını göreceksiniz.
Komünist Ördek

1
Gösterilen işlev ( base_xp * (level_to_get ^ factor)) aslında ikinci dereceden bir işlevdir, çünkü level_to_getfaktör değil, x değeri ve eğer yanılmıyorsam, base_xpişlevi çevirmek için eklenmeli ve çarpılmamalıdır? Üzgünüm, bu sadece anlambilim konusunda seçici olursam, sadece bundan emin olmak istiyorum çünkü bu işlevi çizmek size eski bir üs vermiyor.
chockie

6

Bir düşmanın ne kadar tecrübe vermesi gerektiği veya deneyim eğrisinin ne kadar dik olması gerektiği sorusunun doğru cevabı yoktur. Her seviye için seviye atlamak için gereken oyun süresini düşünmek ve daha sonra seviye başına gerekli tecrübeyi ve düşman başına ödüllendirilen ortalama tecrübeyi buna dayandırmak yardımcı olabilir.

Bu makale, Lineage II'de matematik seviyelendirmenin ayrıntılı bir dökümüdür. http://web.archive.org/web/20100303164314/http://www.tstonramp.com/~mykel/lineage/


1
Bu cevabı yeterince değerlendiremiyorum. Örneğin, seviye başına farklı miktarlarda exp için herhangi bir gerçek eğri olması için bir neden yoktur, çünkü bir düşmanın size aynı etkiyi ancak daha yönetilebilir rakamlar için kendi seviyenize göre verdiği deneyim miktarını azaltabilirsiniz. . Kendi muharebe sisteminizi ve oyunun nasıl oynamasını istediğinizi ve ardından deneyim sistemini buna uydurmanın gerçek bir yedeği yoktur.
Kylotan

4
Bu bağlantı mevcut değil. İşte eski bir bağlantı: web.archive.org/web/20100303164314/http://www.tstonramp.com/…
Daniel Kaplan

Tam olarak bu yüzden sayfalara bağlantı vermiyoruz; onların her zaman var olacağını garanti edemezsiniz. Cevabınızı indirdim ve işaretledim.
Krythic

@Krythic Bağlantıyı güncelledim.
CiscoIPPhone
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.