Seviyelendirme için gerekli deneyim miktarı nasıl belirlenir


29

Bu konunun altındaki ilgili sorular şunları içerebilir:

  1. Bir sonraki seviyeye geçmek için ne kadar tecrübe puanına dayanmalıyım?
  2. Hangi faktörler buna katılıyor?
  3. Oyuncunun, seviye atlayana kadar yeterince eğlenmemesini nasıl sağlayabilirim?
  4. Oyuncunun deneyim puanlarını alma şeklini nasıl değiştirebilirim?

Neden aşağı oy?

+1 burada farklı şeyler denemek için çok zaman harcadım.
Casey,

1
Oyu düşürdüm, çünkü bir soru için çok belirsizdi. Cevapların çoğuna bakın - "tek bir formül yok", "istediğiniz kadar yapabilirsiniz", "bu, oyuncu için oluşturmak istediğiniz deneyim türüne bağlıdır". Gee, daha belirsiz olabilir misin ? Ama, görünüşe göre kimse benimle aynı fikirde değil, o yüzden ...
Cyclops

@Cyclops: Bunun gibi, deneyim noktalarında yer alan şeyleri belirleyebiliriz. Her bir kişi kendi oyununu sorduğunda tonlarca tecrübe puanına dayalı sorularınız mı yoksa dikkate almanız gereken tüm yönlerden bahseden bir referansınız olsun ister misiniz? Coderanger'ın cevabını kabul ettim çünkü harika bir başlangıç.

Yanıtlar:


13

Genel olarak konuşursak bunlar belli belirsiz üstel eğriler olarak yapılır. http://kol.coldfront.net/thekolwiki/index.php/Advancement#Advancement_Requirements_Overview , MMO türü için oldukça standart olan Loathing Krallığı formüllerini gösterir.


Güzel! Gerçek bir denklem olduğu hakkında hiçbir fikrim yoktu!

Herkesin kullandığı tek bir formül yok, ama başlangıç ​​için bir yer olmalı.
coderanger

Karşılaşma başına aldığınız XP'yi de dikkate almak önemlidir, çünkü bu, seviyenin ne kadar sürdüğü konusunda eşit derecede önemli bir rol oynayacaktır.
Henk

11

Oyundaki sayısal ilişkilerden bahsederken bu konuyu gerçekten ele alıyorum: http://gamebalanceconcepts.wordpress.com/2010/07/14/level-2-numeric-relationships/

Her ne kadar tipik olarak artan bir eğride olmasına rağmen (her seviye bir öncekinden daha fazla XP gerektirir), ancak karşılaşmalar / görevler ilerledikçe daha fazla XP verme eğiliminde olmasına rağmen, istediğiniz şekilde yapabilirsiniz.

Anahtar sadece XP Seviye eğrisine veya karşılaşma XP eğrisine odaklanmak değil, ikisini karşılaştırmaktır. Eğer XP Seviyesi eğrisi, karşılaşılan XP başına daha hızlı artarsa, oyuncu zaman içinde daha yavaş seviye kazandıklarını fark edeceklerdir, bu tarz için oldukça standart. Bununla birlikte, tehlike, seviye yükselmeleri oyunun sonlarında çok az ve çok sayıda TOO olursa, oyuncunun oyunun son hafızasının muhtemelen istemediğiniz devasa bir eziyet olacağıdır. Bu yüzden, son oyunda seviye atışı başına kaç karşılaşmanın kabul edilebildiğini ve ilk oyunda seviye başına kaç karşılaşmanın istediğini bul ve oradan enterpolasyon yap.

Ayrıca, yalnızca XP / Seviye dışındaki çakışan ödül sistemlerine sahip olabileceğinizi belirtmeliyim. Bazı RPG'lerin iş puanları vardır (bu yüzden birden fazla tesviye / ilerleme sisteminiz vardır), bu nedenle Dövüş yeteneğinizi veya İyileştirme becerinizi seviyelendirmek arasında bir süre olabilir (diyelim). SOMETHING'i artırmaktan birkaç dakika uzaklıktadır. Diğer RPG'lerde rastgele eşya / ekipman düşmesi var, bu yüzden her yeni karşılaşma sadece XP vermiyor, aynı zamanda epik bir yağma yapma şansı da yaratmıyor, bu yüzden sadece oynamak için ek rasgele ödüller kazanıyorsunuz.


3

En azından kısmen, oyuncu için oluşturmak istediğiniz deneyim türüne bağlı olduğunu söyleyebilirim. Bunlardan ilki klasik sıra tabanlı bir RPG olan iki örneği göz önünde bulundurun, ikincisi, oyuncunun listedeki ölümünden bu yana ilerlemesine dayanarak ölçekleme gücünün, güçlenmelere göre değil, ölçeklenmesini istediğiniz Gradius III tipi bir nişancı. Bunun iyi bir sistem olduğunu söylemek için, sadece bir örnek).

RPG durumunda, sisteminiz muhtemelen bir oyuncunun asla deneyimini kaybetmediği varsayımıyla çalışır. Benzer şekilde, muhtemelen bir şeyde bir miktar yeterlilik kazanmanın nispeten kolay olduğu, ancak ustalaşması zor (gerçek dünyadaki çoğu şey gibi) olduğu varsayımına dayanarak hareket etmek isteyecektir. Bu durumda, bazı açılardan üstel olan bir formül (önerilen kodlayıcı gibi) geliştirmek isteyebilirsiniz. Bir sonraki seviyeye ulaşmak için gereken tecrübe miktarının bir şekilde mevcut seviyenize göre katlanarak olduğu. Ancak, oynatırken oynatıcınızın deneyim kazanacağı oranı göz önünde bulundurmanız önemlidir. Mesela, 63. seviye bir Fire Demon'u öldüren bir oyuncu, öldürmesi için 2. seviye Lady Bug'ı öldürdüğünden daha fazla tecrübe kazanmayı bekler. Yani formülünüzü tasarlarken, XP sisteminizi dikkate aldığınızdan emin olun. Özellikle eğer yapmazsanız, o zaman hanımefendi böceğini öldürmek, daha sert düşmanları öldürmek kadar karlı olacaktır.


Örnek 1 (Muhtemelen kullanacağınız bir form değil): XP_TO_LEVEL = ((CURRENT_LEVEL + 1) ^ SCALE) * XP_BASE

Örnek 2: XP_TO_LEVEL = (XP_BASE * CURRENT_LEVEL) ^ SCALE

XP_TO_LEVEL, bir sonraki seviyeye ulaşmak için gerekli olan XP'dir. CURRENT_LEVEL oyuncunun mevcut seviyesidir. XP_BASE, XP'de her bir seviyenin ne kadar “değeceğine” karar veren keyfi bir sayıdır. ÖLÇEĞİ, gereken XP'nin seviyeye ne kadar hızlı ölçekleneceğini belirleyen üst öğedir. ÖLÇEĞE 1 ise, her seviye XP_BASE deneyimini alacaktır. ÖLÇEĞE 1'den azsa, her seviye son seviyeden daha az tecrübe kazanacaktır. ÖLÇEĞE 1'den büyükse, her seviye son seviyeden daha fazla tecrübe kazanacaktır.

Aşağıdaki tabloda, örnek 2'yi kullanarak 1.1 SCALE değeri ve 100'lük bir XP_BASE varsayılmaktadır.

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

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

SCALE, XP_TO_LEVEL'ın ne kadar hızlı ölçekleneceğini hala belirliyorsa, ancak biraz daha farklı çalışır.

Aşağıdaki tabloda, örnek 3'ü kullanarak 22'nin bir SCALE değeri ve 10'un bir XP_BASE olduğu varsayılmaktadır.

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

Gradius klonu durumunda, farklı bir strateji alabilir. Müzikçaların tutarlı bir şekilde seviye atlamasını isteyebilirsiniz, her iki dakikada bir söyleyin. Ayrıca, bir oyun bir hayatını kaybettikten ve sonuçta kazandığı güçlerini kaybettikten sonra, oyundaki ilerlemesi için uygun bir seviyeye ulaşıncaya kadar daha hızlı bir şekilde seviyelendirerek ona yardım etmek isteyebilirsin. Bu durumda, özellikle kullanıcı öldürme başına ne kadar tecrübe edindiğini göremediğinden, formülünüz muhtemelen daha doğrusal olacaktır. Gibi bir şey, yeni bir seviyeye ulaşmak için 50 XP alır ve her düşman 1 XP değerindedir. Bu size nispeten istikrarlı bir düşman akışı sağlamanız şartıyla harika çalışıyor. Ancak, oyuncu öldüğünde, hepsini kaybeder! Şu an ne yapıyorsun? Oyunun tekrar adil olması için onu yakalama hedefinize ulaşmak için her düşmanın 1 XP'den daha değerli olması gerekir.

Örnek: XP_FROM_EACH_ENEMY = BASE_XP + (CURRENT_LEVEL - DESIRED_LEVEL) XP_FROM_EACH_ENEMY, bir düşman öldürüldüğünde ne kadar XP verir? BASE_XP, bir düşmanın varsayılan olarak ne kadar değer taşıdığıdır (düşman tipine göre değişebilir). CURRENT_LEVEL oyuncunun seviyesi DESIRED_LEVEL, oyuncunun içinde olması gerektiğini düşündüğünüz seviyedir.


2

Şahsen kullanırım.

C / (A x B)

Nerede: A = Karşılaşma / öldürme zamanı (ortalama kolay, normal ve zorlu düşmanlar) B = Öldürme başına Exp. (ortalama kolay, normal ve sert düşmanlar) C = Oyuncunun seviye atlaması için harcanan zaman.

Not: Tüm bunlar oyunda tempo ve puan ile ilgilidir.

Çok basit olabileceğini düşünüyorum ama diğer unsurları da ayarladığınızı unutmayın. Basit bir denklem kullanarak ortadaki değişikliklere kolayca adapte olabilirsiniz.

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.