GameBoy 屏幕分辨率为 160*144,对于现在而言,这是非常低的,但是这个分辨率对于那个像素时代而言,却已经足以显示一个个生动活泼的角色了。
精灵 (Sprite),在计算机图形学中指 2D 的位图,并经常使用于 2D 游戏中。
举个例子,超级马里奥中,马里奥对应的位图就是精灵。
我们如何使用 GBDK 将一个精灵绘制到 GameBoy 的屏幕中呢?
GameBoy 屏幕分辨率为 160*144,对于现在而言,这是非常低的,但是这个分辨率对于那个像素时代而言,却已经足以显示一个个生动活泼的角色了。
精灵 (Sprite),在计算机图形学中指 2D 的位图,并经常使用于 2D 游戏中。
举个例子,超级马里奥中,马里奥对应的位图就是精灵。
我们如何使用 GBDK 将一个精灵绘制到 GameBoy 的屏幕中呢?
GBDK 是开源工具,我们可以在 GitHub 上直接下载最新的 Release 版本。
我最近习惯使用 MacOS,这里我首先介绍如何在 MacOS 上搭建 GBDK 环境,并成功编译 Hello world 程序。Linux 和 MacOS 是一样的步骤。Windows 也是类似的步骤,如果有问题,欢迎随时在评论区留言。
对于经典的 GB/GBC 开发,高手们习惯使用汇编。但是使用汇编需要我们首先对 GB/GBC 整个硬件原理和完整的指令集有了完整的了解后才合适,这样的成本太高了。
现代的 GB/GBC 开发,至少需要使用高级编程语言,例如 C 语言。我们可以利用 GBDK 和 C 语言,进行 GB/GBC 开发。
GBDK (GameBoy Development Kit) 即 GameBoy 开发工具包,主要包含一个 C 语言编译器: SDCC。它包括编译器、汇编器和链接器。GBDK 还包含一系列 Z80 处理器相关的库。GameBoy 的 CPU 和 Z80 比较像,可以说是基于 Z80,它兼容 Z80 的大部分指令集,所以那些库也可以有效利用。
前言
任天堂 GameBoy 曾是风靡全球的掌机,不过很可惜,我小时候并没有接触过它。当我长大后了解它以后,对它产生了浓厚的兴趣。我希望我可以开发一些可以在 GameBoy 上运行的游戏。