连连看数值设定

发表于2015-12-14
评论5 5.9k浏览


  一、基础部分

  1、用户消除一对方块需要的时间:x=3*N*M。其中3s为我们预期的目标用户平均完成一次操作的时间,N是游戏难度的调整系数,M是期望偏差调整值(在收集样本之后,证明3秒不符合我们的预期,调整该数值)。默认的N、M调整系数是1。

  2、预期用户在2s内完成一次操作的几率是25%,在2~4s内完成一次操作的几率是50%,4s以上完成一次操作的几率是25%(该预期数值可以用于调整游戏的难度)。

  3、样本收集:选择目标用户进行测试。必要环境:游戏中没有任何事件。获取用户完成一局游戏的时间(Fullfill Time),该局游戏方块的对数(Diamonds)。记录:(FullfillTime/ Diamonds)数值,根据取样数,计算置信区间,验证3s的期望值是否正确。

  4、计算一局方块对数;一局方块对数= 实际方块数/2。

  5、根据一局方块对数、预期的消除一对方块需要的时间,我们可以计算出预期的一局游戏的时间。一局游戏时间 = 一局方块对数(Diamonds)* x。同时我们也可以得出以刺激点为单位的时间线。

  二、数值调整方案

  1、每消除一对剩余总时间:第一对(TotalTime+TimeIncSpeed-x)(大于TotalTime,则总时间为 TotalTime);第二对(TotalTime+2(TimeIncSpeed-x));第n对 (TotalTime+n(TimeIncSpeed-x))(注:TotalTime持续减少是一个压力持续增加的过程;TimeIncSpeed >x意味着流逝的时间有很大几率步足。)。

  2、消除所有方块,我们至多给用户的总时间:T=TotalTime+(Diamonds-1)×TimeIncSpeed. 用户的消除速度:T/ Diamonds(s/对)。用该数值与预期的用户平均操作时间比较,相同则难度适中,该数值低则难度过高(事件对时间的影响,直接在T上计算;如一个 Bomb事件,相当于增加了给用户的3s游戏时间)。

  3、TotalTime也意味着允许的用户连续卡壳时间(4s以上,称为卡壳),根据1计算出的结果既是:在每一对方块消除后允许的连续卡壳(连续MISS)时间(与一2进行比较,可知每一对方块消除后,用户输掉的几率有多大)。

  4、用户在HitTimeIncSpeed时间内完成第二次操作,能保持连击;假设用户A消除一对方块的平均时间为2s每对。则用户A能保持一直连击(换言之鼓励用户在HitTimeIncSpeed内完成一次操作)。

  6、总积分下限和上限:设一局游戏有n对方块;下限(n×BaseScoreUnit);上限 (n×BaseScoreUnit+n×(n-1)×HitScoreUnit÷2)。调整BaseScoreUnit和HitScoreUnit的比 例。如HitScoreUnit比重大,则能引导用户更多的连击。

  7、一局游戏某事件出现次数的期望值。Diamonds×Probability。

  三、事件

  1、Bomb事件:事件发生后消除一对方块,相当于增加3s的总时间。

  2、Random事件:思维卡壳的补偿设计(3s包含卡客时间),相当于提高用户消除方块的速度。

  3、Scoreplus事件:额外积分奖励。

  4、Slowdown事件:相当于增加总时间,增加连击的几率(增加的游戏时间:t/v-t)。v=新的时间流逝速度÷正常时间流逝速度。

  5、TimeStop事件:相当于增加总时间(效果=Value(平均值)+Value/3)。

  四、调整方案(不管调整什么数值,都需要调整下面三点来控制难度规模。)

  1、不管调整哪项参数,都需要保证二1中每一次剩余时间大于0。

  2、根据二3,估算游戏中每一次消除后的游戏难度;例:TotalTime = 3s、TimeIncSpeed = 3s。则完成总游戏的几率为:(0.75)20=……(总之很低)

  3、二2,得出用户完成游戏至少需要的消除速度。

  五、范例

  1、死亡边缘:设游戏中总的方块对数为20对。TotalTime = 16s、TimeIncSpeed = 1s,则用户最大可能的方块消除对数为5对。每消除一对生成一个TimeStop事件。每个TimeStop事件能停止时间3s。(注:在最极端的情况 下,用户连续消除7对无事件方块,剩余13对方块,时间剩余为3s;其中一半方块带有TimeStop事件。在这种情况下,用户每消除一对事件方块,获得 额外的一次消除方块的机会,总时间增加1秒。用户始终处于总时间不足的压力状态)。

  2、随机事件:设游戏中总的方块对数为20对。TotalTime = 17s、TimeIncSpeed = 2s,我们给用户的总时间:17+19×2 = 55s。预估用户在一局游戏中的卡壳次数为4次。则每消除4对方块生成一对Random事件方块。

  3、教学关卡:设游戏中总的方块对数为20对。TotalTime = 20s、TimeIncSpeed = 3s,保证游戏结束时,每种事件都生成一次。用户玩完该局游戏能把所有的事件都接触一次(所有事件的出现几率)。则每个事件的触发几率为0.05(二6期 望值计算),这种情况下仍然有一定几率不触发事件,可适当调高几率,保证事件触发。

  4、连击关卡:两连很容易,以后连击难度增加。在这种情况下,用户每次获得第一个连击奖励画面。如果奖励画面做的足够漂亮,有可能引起用户连续 的获得第二个连击奖励画面的诉求。HitTotalTime =3s、TimeIncSpeed = 2s,第一次75%几率完成连击,之后用户有75%*75%=56%的几率2连击,之后完成连击的几率越来越低(用户的操作时间符合正态分布,保持连击的 几率越来越低);但在惯性、积分奖励、画面奖励的引导下,用户的操作速度有很大可能保持在一个较快的状态,同时因为自己的当前操作速度高于一般操作速度, 担心连击失败(不能继续获得以上奖励),而保持紧张感(鉴于用户可能保持在一个较快的状态,可以将TimeIncSpeed调低,暂定为2s)。

  六、剩余时间表

  Excel是一个“每一次消除方块后” 的剩余时间表。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引