游戏画面包含高对比度、快速闪烁的像素运动,光敏性癫痫患者及易晕车/3D眩晕者请谨慎游玩。
目录
动机
我一早起来,看着自己给自己排得满满当当的学习安排,
我有了一个新的主意。
是的,就在昨天我还在进行 Agent 项目的学习,写总结文章,
但今天我打算在 8h 内用自己前两年积累下来的 C++ 经验来制作一款游戏,
GameJam 万岁。
目的
此游戏致敬了南梦宫(Namco)于 1982 年发布的街机游戏 —— 《Pole Position》(初代方程式赛车)。
- 基于 Raylib 创建:我个人非常钟爱的一个轻量级 C/C++ 游戏与多媒体库。
- 通过 Emscripten 编译:基于 LLVM/Clang 编译器,把 C/C++ 源码直接编译成 WebAssembly (WASM) 和 JavaScript 胶水代码。
整个游戏始终呈现在 32 * 32 的画布上,有开始界面、游戏界面、死亡界面三部分,由空格跳转界面,A、S、D 控制车辆。
有借助 Gemini 的免费模型获取信息,但并不是 vibecoding,在 8h 内编译并部署到自己的博客上即成功。
遗憾
在美术方面找参考、绘制像素图花了不少时间。
在短时间内的创作让我几乎没有写注释的机会,
回过头来看时留了不少细节方面的遗憾,像是:
- AD 键之间的冲突忘处理了。
- 忘记在转回开始界面时重置小车状态,导致车灯一直开着。
- 没有音乐和音效,但现在可以用下面这个弥补:
🕹️ BGM: Nightcall-Kavinsky
不过好在主体代码只有 144 行,现在都已经修复了。
结语
一时兴起的 GameJam,虽然打断了学习计划,但我玩得很开心。