俄罗斯方块动画,经典俄罗斯方块在线玩

首页 > 经验 > 作者:YD1662024-03-31 18:28:36

在 AI 试验下,游戏不停地进行着,一直来到了 237 关,此时随着 AI 的一次四消,整个游戏画面停滞了。

这时候方块没有堆到顶端,所以是游戏本身出了问题,也就是真正的 “ Kill Screen ” 。

俄罗斯方块动画,经典俄罗斯方块在线玩(9)

这之后,Greg Cannon 通过追踪代码运行,专门研究了一下游戏崩溃的原理。

他发现在高等级的时候,游戏代码运行起来会变得非常慢,而且在某个瞬间, CPU 会突然去读取 RAM 中的数据,将这些数据当做游戏代码运行。

俄罗斯方块动画,经典俄罗斯方块在线玩(10)

而如果此时 RAM 中生成的数据恰好是游戏结束的代码,那么游戏就会崩溃。

这是因为在原版的《 NES 俄罗斯方块 》的算法有点拉。

俄罗斯方块动画,经典俄罗斯方块在线玩(11)

当时 NES 的 6502 CPU 是不会乘法的,所以《 NES 俄罗斯方块 》采用的是比较 “ 笨 ” 的软件乘法。

它就像小学时刚学乘法的我们一样,只会一次次地加算得到最后结果。

比如在 0 级时消除一行方块可以获得 40 分,到 99 级消除 1 行就变成了原先的 100 倍也就是 4000 分。

但在 99 级时,单消时系统的计算过程是 40 40 40 40...... 一直加 100 次。

随着等级提升,这个计算过程会越来越长,CPU 又要计算分数又要处理画面数据,直接就被 “ 干烧了 ” 。

这时候 CPU 会把一部分画面资料暂时放到 RAM 里,并且把 RAM 中原先存在的一些代码覆盖掉。

来源 Youtube@ 啾啾鞋

俄罗斯方块动画,经典俄罗斯方块在线玩(12)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.