第一种利用了游戏内碰撞体(collision block)的碰撞精度不够的特性。
用圈把球圈起来,让球始终在圈内碰撞。
每次给定球一个确定的初速度,因为特性,可以得到不同的碰撞时间,用定时激发指令触发不同状态。
为了增加随机程度,将每次随机后的结果,再通过圈随球的选择,偏移等操作来迭代,
最终得到了一种真随机方式。
第二种利用了超高频的循环触发(spawn loop)指令,以及游戏最小时间间隔≥0.01s的特性。
普通的高频循环频率最高不过50hz,且为固定,
但是将10个高频循环互相掺杂在一起
(循环时间要像0.03s,0.05s,0.07s,0.11s……这样小数点后两位互质,可增加随机程度),
可以达到循环频率,在20hz~100hz之间变化的超高频循环,且存在同时触发次数≤10的现象,
极大提高了触发速度和随机程度,
使得条件触发指令,在游戏最小时间间隔的条件判定内,条件仍在变化,从而出现判定随机现象。
至此也得到了一种真随机方式。
第一种随机方式已在下图的自制关DOORS得到应用,用于任意门的随机,已得到广泛肯定,存在随机现象。
但经测试,第二种随机的随机程度更高,且方法更为简便,我试用于下方自制的2048游戏小关卡,效果也不错。
有兴趣的可以看一下上面的一个bug发现,大致是有碰撞箱(hitbox)实体在跟随(follow)一个对象瞬间移动后,产生的位移bug,不细讲。
玩geometry dash这两年,从一个打关者,到造关者的转变,让我找到了这游戏许多额外乐趣,现在在GDPS2.2更是玩得不亦乐乎,立贴为的不过是纪念2.1的游玩时光😋




用圈把球圈起来,让球始终在圈内碰撞。
每次给定球一个确定的初速度,因为特性,可以得到不同的碰撞时间,用定时激发指令触发不同状态。
为了增加随机程度,将每次随机后的结果,再通过圈随球的选择,偏移等操作来迭代,
最终得到了一种真随机方式。
第二种利用了超高频的循环触发(spawn loop)指令,以及游戏最小时间间隔≥0.01s的特性。
普通的高频循环频率最高不过50hz,且为固定,
但是将10个高频循环互相掺杂在一起
(循环时间要像0.03s,0.05s,0.07s,0.11s……这样小数点后两位互质,可增加随机程度),
可以达到循环频率,在20hz~100hz之间变化的超高频循环,且存在同时触发次数≤10的现象,
极大提高了触发速度和随机程度,
使得条件触发指令,在游戏最小时间间隔的条件判定内,条件仍在变化,从而出现判定随机现象。
至此也得到了一种真随机方式。
第一种随机方式已在下图的自制关DOORS得到应用,用于任意门的随机,已得到广泛肯定,存在随机现象。
但经测试,第二种随机的随机程度更高,且方法更为简便,我试用于下方自制的2048游戏小关卡,效果也不错。
有兴趣的可以看一下上面的一个bug发现,大致是有碰撞箱(hitbox)实体在跟随(follow)一个对象瞬间移动后,产生的位移bug,不细讲。
玩geometry dash这两年,从一个打关者,到造关者的转变,让我找到了这游戏许多额外乐趣,现在在GDPS2.2更是玩得不亦乐乎,立贴为的不过是纪念2.1的游玩时光😋














