如何确定升级所需的经验量


29

此主题下的相关问题可能包括:

  1. 我应该如何计算到达下一个级别所需的经验值?
  2. 这涉及什么因素?
  3. 如何保持玩家在升级之前没有足够长时间进行娱乐?
  4. 我如何改变玩家获得经验值的方式?

为什么要投反对票?

+1,因为我在这里花了很多时间尝试其他事情。
Casey

1
我投反对票是因为我认为问题太含糊。查看大多数答案-“没有一个单一的公式”,“可以随心所欲地制作”,“这取决于您要为玩家创造的体验类型”。e,您可能会更加模棱两可吗?但是,显然没有其他人同意我的观点,所以这里有……
独眼巨人

@Cyclops:这样,所以我们可以确定体验点中涉及的事情。每次有人问自己的游戏时,您宁愿有大量基于经验点的问题,还是宁愿有一个参考书来谈论您需要考虑的所有各个方面。我接受了coderanger的回答,因为它是一个很好的起点。

Answers:


13

一般来说,这些都是模糊的指数曲线。http://kol.coldfront.net/thekolwiki/index.php/Advancement#Advancement_Requirements_Overview显示了厌恶王国的公式,这是MMO类型的相当标准。


真好!我不知道有一个实际的方程式!

每个人都没有一个单一的公式,但是应该从那里开始。
coderanger 2010年

同样重要的是,还要考虑每次遇到的XP,因为它将在升级所需的时间中扮演同样重要的角色。
Henk

11

在谈论游戏中的数字关系时,我实际上涵盖了这个主题:http : //gamebalanceconcepts.wordpress.com/2010/07/14/level-2-numeric-relationships/

您可以按照自己的意愿进行设置,尽管通常情况下,它处于上升曲线上(因此每个级别都比上一个级别需要更多的XP),因为遇到/任务会随着您的前进而提供更多的XP。

关键不是要仅专注于XP级别曲线或每次遇到XP曲线,而是要比较两者。如果XP等级曲线的增加速度比每次遭遇XP的速度快,则玩家会注意到他们随时间推移获得等级的速度越来越慢,这是该类型游戏的标准。但是,危险在于,如果最终游戏中升级之间的距离太少而又太远,那么玩家对游戏的最后记忆将是巨大的磨难,您可能也不想这么做。因此,找出最终游戏可接受的每级升级多少次遭遇,以及您想要在早期游戏中每级升级多少次遭遇,然后从那里进行插值。

另外,我应该提到的是,除了XP /等级外,您还可以拥有重叠的奖励系统。一些RPG具有工作点(因此您具有多个练级/进阶系统),因此(例如)练级您的格斗技能或治疗技能可能需要一段时间,但是如果有足够多的不同项进行练级,您总是只有几个数分钟之内即可实现。其他RPG的物品/装备掉落随机,因此每次新遭遇都不仅会获得XP,而且还会产生一些史诗般的战利品,因此您会获得一些额外的随机奖励,仅用于游戏。


3

我想说,这至少部分取决于您要为玩家创造的体验类型。考虑两个例子,第一个例子是经典的基于回合的RPG,第二个例子是Gradius III型射击游戏,在其中,您希望玩家根据列表死亡后的进度进行缩放,而不是根据加电进行调整(不是可以说这是一个很好的系统,只是一个例子)。

在RPG的情况下,您的系统可能会在假设玩家永远不会失去经验的前提下运行。类似地,它可能希望基于这样的假设来行动:在某种事物上获得一定程度的熟练度相对容易,但是很难掌握(就像现实世界中的大多数事物一样)。在这种情况下,您可能需要开发一个在某些方面呈指数形式的公式(如coderanger建议)。达到下一个级别所需的经验量在某种程度上取决于您当前的水平。重要的是要考虑,但是玩家在玩游戏时获得体验的速度。例如,杀死63级火恶魔的玩家比杀死2级Lady Bug的玩家期望获得更多的经验。因此,在设计公式时,确保您考虑了XP系统。特别是如果您不这样做,那么杀死瓢虫与杀死更坚强的敌人一样有利。


示例1(可能不是您要使用的表单):XP_TO_LEVEL =(((CURRENT_LEVEL + 1)^ SCALE)* XP_BASE

示例2:XP_TO_LEVEL =(XP_BASE * CURRENT_LEVEL)^比例

XP_TO_LEVEL是达到下一个级别所需的XP。CURRENT_LEVEL是玩家的当前级别。XP_BASE是一个任意数字,用于确定XP中每个级别的“价值”。SCALE是确定XP升级所需水平速度的指数。如果SCALE为1,则每个级别都需要XP_BASE经验。如果SCALE小于1,则每个级别的经验将少于上一个级别。如果SCALE大于1,则每个级别将比上一个级别花费更多的经验。

下表使用示例2假定SCALE为1.1,XP_BASE为100。

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

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

SCALE仍在决定缩放XP_TO_LEVEL的速度,但操作方式略有不同。

下表使用示例3假定SCALE为22,XP_BASE为10。

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克隆,您可以采取其他策略。您可能希望播放器持续升级,例如大约每两分钟一次。另外,在一场比赛失去生命并因此失去了所有获得的力量之后,您可能希望通过更快地提升他/她的水平直到他达到适合其整个游戏进度的水平来帮助他。在这种情况下,您的公式可能会更线性,尤其是因为用户看不到每次击杀获得多少经验。大概需要50 XP才能达到一个新的水平,每个敌人都值得1 XP。如果您为他提供了相对稳定的敌人,这将非常有用。但是,当玩家死亡时,他将全部输光!你现在在干什么?每个敌人的价值都应超过1 XP,以达到您赶上他的目标,从而使游戏再次变得公平。

例如:XP_FROM_EACH_ENEMY = BASE_XP +(CURRENT_LEVEL-DESIRED_LEVEL)其中XP_FROM_EACH_ENEMY是敌人被杀死时会奖励多少XP。BASE_XP是默认情况下一个敌人值得多少XP(可以根据每个敌人的类型而有所不同)。CURRENT_LEVEL是玩家的等级DESIRED_LEVEL是您认为玩家应该达到的等级。


2

我个人使用。

C /(A x B)

其中:A =遭遇/杀死的时间(平均容易,普通和坚硬的敌人)B =每次击杀的经验值。(平均简单,正常和坚强的敌人)C =玩家升级所需的时间。

注意:所有这些都与游戏中的步调和分数有关。

我认为这可能非常简单,但请注意,您还设置了其他元素。通过使用简单的方程式,您可以轻松适应中间的变化。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.