在我的像素生存者样游戏中,每升级都在幕后掷出一枚20面骰子。大多数时候你会获得一个等级。有时候两个。很少三次,且你可以选择三张牌。

最初,这发生在静默中,结果是游戏中的最好时刻被误认为是一个BUG。三张牌的屏幕叠加在一起,没有解释,看起来像UI卡住了,而不是你得到了好运。

所以,现在骰子在屏幕上掷出,显眼地,出现牌之前。相同的数学,相同的分布,什么都没有改变。幸运的掷骰子现在感觉幸运,而不是像之前那样感觉像BUG。

我一直在重新学习的一个教训:如果玩家看不到原因,他们会把效果归咎于BUG。没有显示的随机性不是慷慨的,而是可疑的。

同一个想法产生了两个相关的决定。首先,四张牌总是填充同样的四个插槽(武器、攻击、防御、实用),而不是从一个池子中抽取,所以玩家可以学习在哪里看,并且随着一次次的游戏速度越来越快,而不是越来越慢。第二,世界是从块位置加上种子生成的确定性,所以块可以被丢弃并重建得一样的。这样才能使无尽的世界在内存上便宜,但这也意味着玩家改变的任何东西都必须单独存储,这是我的还未偿还的债务。

我很好奇是否有人会选择隐藏曾经可见的掷骰结果,并且掷出更好的结果。我可以想象它在负面结果中起作用,显示骰子只会告诉玩家他们被剥削了。

(游戏是VoxelFall,单人项目,目前在Android上进行公开测试。很乐意回答关于地形流式传输的任何问题,这是如果我重新开始,我会做得不一样的部分。)