|
在半回合制RPG中
速度值是影响角色行动频率的最重要的数值
一般情况下都是这样
不过……
我不清楚应该如何处理速度值(设为S)与角色行动频率之间的关系(设为H)
假设我用这样的一个算法:
设2个变量tmp1、tmp2
设一个常量MAX
有一个玩家角色和一个怪物角色
速度和行动频率分别为S1,S1;H1,H2
[算法开始]
标签1
tmp1=MAX-S1;
tmp2=MAX-S2;
if tmp1>=0 , goto 标签1 ;
if tmp2>=0 , goto 标签1 ;
if tmp1<0 ,{tmp1=tmp1+MAX , 执行事件:'玩家角色行动'};
if tmp2<0 ,{tmp2=tmp2+MAX , 执行事件:'怪物角色行动'};
goto 标签1
[算法结束]
显而易见……这种算法存在一个超严重的问题
假设MAX=1000
当速度值都很小的时候
例如S1=2,S2=1
那么H1将会是H2的2倍
当速度值都很大的时候
例如S1=999,S2=998
那么H1和H2之间的实际差距就太小了……
同理
S1=1,S2=300
那么H2岂不是H1的300倍?
这样的话……这游戏就没得玩了……
类似的数值在游戏中难免会出现
例如高等级的玩家打底等级的怪
具体如何解决这个问题……我实在是一筹莫展……
如果采用比较复杂的算法
或者直接来个隐藏的速度值基数
那么整个游戏很难把握角色间平衡性、角色成长方式以及怪物的强度……
|
|