易于编程的复古游戏机是向任何人(尤其是孩子们)介绍视频游戏开发的绝佳方式。 其中之一是 Gamebuino,一种预组装的手持式复古游戏机。它有点像打了兴奋剂的Arduino,配有诺基亚5110手机显示器(84x48像素)、LiPo充电器和LiPo电池、SD卡读卡器和一张带有大量游戏的SD卡。 MAKERbuino,基本上是一个 Gamebuino 套件,你需要自己组装和焊接,这对我来说似乎更有趣。

opensource.com
MAKERbuino 的创建者 Albert Gajsak 与 Gamebuino 的创建者 Aurélien Rodot 合作,以确保设备兼容并且 MAKERbuino 可以运行 Gamebuino 的游戏。 MAKERbuino 甚至使用了 Gamebuino 的引导加载程序,该程序 可在 GitHub 上找到。
Albert 还公开了原理图,并且 PCB 设计 也可用。 有了这些资源,从理论上讲,您甚至可以提前一个级别开始,创建自己的印刷电路板 (PCB) 甚至具有不同物理布局的设备。
组装 MAKERbuino
我 10 岁的女儿喜欢编程和游戏,并且已经有了一些焊接经验,所以我给她买了一个 MAKERbuino 套件来组装。 MAKERbuino 的网站上有非常详尽的在线组装手册,并且包含所有零件,因此她只花了四个小时就完全组装成工作状态。

opensource.com
在享受了构建设备和玩附带游戏的乐趣之后,我们想编写自己的游戏。 由于 MAKERbuino 与 Gamebuino 兼容,因此我们可以使用它的游戏库来创建我们自己的游戏。
编程 *buino
MAKERbuino 的编程方式与 Gamebuino(以及其他所有 Arduino)相同,使用 C++ 中的 Arduino IDE。 首先,将游戏库安装到 Arduino IDE 中,然后就可以开始破解了。
对于非英语母语者来说,Arduino IDE 和库是一个巨大的障碍,比如我的女儿,她讲德语(并且正在学校学习法语)。 虽然 IDE 本身是本地化的,但所有语言结构、库和文档都是英文的。 这种障碍很快就扼杀了她对这个项目的热情。
有一个类似于 Scratch 的环境可以使用 Ardublocks 对 Arduino 进行编程,但它还不支持 Gamebuino 库。 (此外,这个项目看起来已经废弃了。)我一直在研究将 Gamebuino 库添加到 Ardublocks,但这无法在一个周末内完成。
尽管如此,如果您了解 Arduino 编程(和英语),那么对 MAKERbuino 进行编程相对简单。
例如,这是一些发射激光并检查它是否击中外星飞船的代码。
#include <Gamebuino.h>
Gamebuino gb;
[..]
void setup() {
gb.begin(); // Initialize the *buino
gb.titleScreen();
}
void loop() {
if (gb.update()) { // update screen etc
[...]
gb.display.setColor(GRAY);
if (gb.buttons.pressed(BTN_UP)) {
gb.display.drawLine(x+4,y-1,x+4,0);
// check if the laser hit the alien ship
hit = gb.collideRectRect(x+4,0,1,y-1, alienX,alienY,8,8);
}
if (hit) {
gb.sound.playNote(40, 20, 0);
gb.sound.playNote(10, 20, 0);
gb.sound.playNote(30, 20, 0);
}
}
}
代码在 ArduinoIDE 中编译,就像任何其他 Arduino 程序一样。
要测试代码,可以使用允许大量交互的模拟器。 我一直在使用 Simbuino4Web 上的模拟器。 它运行良好,但有时在上载后卡住时需要刷新整个页面。

opensource.com
要在真实设备上测试您的代码,您可以将串行到 USB 适配器连接到 MAKERbuino 并通过 USB 上载它,或者您可以创建一个二进制 HEX 文件并将其放在 SD 卡上。 要在 SD 卡上创建 HEX 文件,请在 Arduino-IDE 中使用 Sketch->Export compiled binary
(而不是 upload
)。
很棒的 DIY 体验
MAKERbuino 和 Gamebuino 都是很棒的复古游戏机,但组装和自行焊接的过程使 MAKERbuino 更像是“你自己的设备”。 而且,正如我们的经验表明的那样,即使在 4K 电视上以 70 fps 运行游戏的时代,复古掌上游戏体验仍然很棒。
2 条评论