数字逻辑课上如何制作FPGA游戏?以超级马里奥为例子讲述FPGA有些制作。
1、FPGA游戏目标
没有CPU,单纯用 FPGA 的verilog硬件语言来实现一个游戏,而这个游戏还得符合老师要求,由于没有 CPU,游戏逻辑不能太复杂,画面也不能太复杂?想存储图片但是Rom与Ram又那么小,但是要够好玩,要有彩色画面,最好有动画,这不是既像马儿跑又想马儿不吃草么?
2、最早期的游戏是怎么自作的?
最早FC时代的《 超级马里奥 》剧情并不是很长,一共也就 8 个场景线性布置关卡,但 8 个关卡在当时看来也算得上是精心制作了,可它真的只有 64 KB(下面的这张图可能都不止164kb),当时卡带游戏也没有cpu,没有多余的存储空间我们看看是怎么制作的?
最早早的 2D 游戏由贴图 + 代码 + 音效组成,代码其实一点都不占地儿,说白了就是一堆英文 + 数字 + 标点符号的文本文件。
但是在八个场景,怎么实现的呢?
会出现的素材提前准备好,然后运行游戏的时候把素材拼接起来就行,这一个个素材叫 Tile ,整个素材包叫做 Tile Map 。
这样一来,上面展示的那长长的第一关场景就不用提前搭建好再存储了,而是你在玩的时候重复利用提前准备好的东西。
FC 版本的《 超级马里奥兄弟 》看似有这么多关卡,