如何实施体验系统?


14

我目前正在写一款小型游戏,该游戏基于杀死敌人时的经验积累。像往常一样,每个级别都需要比以前更高的经验获取,而在更高级别上,杀死敌人会获得更多经验。

但是我在平衡该系统时遇到问题。是否有任何预先构建的算法可以帮助计算每个级别所需的经验曲线的外观?一个特定级别的普通敌人应该提供多少经验?


Answers:


14

您可能需要某种指数曲线,可能类似于:

base_xp * (level_to_get ^ factor)

base_xp是一个常数,它决定您需要向上提升多少水平的xp。
level_to_get是您要达到的级别;在级别1,这将是级别
2。factor是另一个常数,它决定每个级别所需的xp增加量。

base_xp为200且因数为2表示如下:

在此处输入图片说明

而base_xp为50,系数为2.6,则得出:

在此处输入图片说明

第二个具有较低的起始xp速率,但是您很快需要更多的xp。

至于Monster XP,这是您要测试的东西。试用各种值。您想要的东西不太高(很快就会变得过大)而又不太低(玩家不想磨碎)。例如,考虑一下您想让玩家杀死10-> 11级的多少“标准”敌人。


3
您可能想要比这里的曲线更锐利的曲线。例如,RuneScape的曲线非常陡峭,几乎类似于对数曲线(当然是翻转/旋转)。在这里看到它。至少从我的个人经验来看,在开始时给您很多快速的回报似乎非常有效,并且当您达到更高的级别时,您会被调整为更长的游戏时间,直到最后几个级别永远消失了,但玩家还是以某种方式容忍它。尽管有STEEP,但99还是相当常见!!曲线到达那里。
Ricket

我当然会说这里的曲线会很浅。
共产主义鸭子

请没有经验。曲线=,(-调平花费的时间太长,而且越接近目标就越长,请否定=。(
Dave O.

线性线不起作用。如果您需要每级增加1000xp,那么当您变得更强大时,您会发现它花费的时间越来越少。
共产主义鸭子

1
base_xp * (level_to_get ^ factor))所示的函数实际上是二次函数,因为level_to_get它是x值而不是因数,如果我没记错的话,base_xp应该将其相加而不相乘,以便将函数向上转换?抱歉,如果这只是我对语义的挑剔,我只想确保这一点,因为对函数进行图表绘制绝对不会给您任何旧的指数。
chockie 2015年

6

对于敌人应该给多少经验,或者经验曲线应该有多陡峭的问题,没有正确的答案。考虑升级每个级别所需的游戏时间,然后根据每个级别所需的经验,并据此为每个敌人获得的平均经验可能会有所帮助。

本文是《天堂II》中水准数学的详细分类。 http://web.archive.org/web/20100303164314/http://www.tstonramp.com/~mykel/lineage/


1
我对这个答案的评价不够高。例如,没有理由为每个级别的不同经验值绘制任何实际曲线,因为您可以按比例缩小敌人给您的经验值,以获得相同的效果,但数字更易于管理。理解您自己的战斗系统以及您希望游戏如何进行,然后将体验系统适配于此,并没有真正的替代方法。
Kylotan'2

4
该链接不存在。这是一个有效的旧链接:web.archive.org/web/20100303164314/http
Daniel Kaplan

这就是为什么我们不链接到页面。您不能保证它们将永远存在。我投票否决了您的答案。
Krythic 2015年

@Krythic我更新了链接。
CiscoIPPhone
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.