用途:BPCore Engine(Blind jumP Core Engine)是用于开发 Game Boy Advance 游戏的 Lua 框架,结合 C++ 与嵌入式 Lua,使开发者无需编写 C++ 或使用编译器即可制作游戏。受 Pico-8 与 Tic80 启发,适合在 GBA 有限资源(240x160 屏幕、16.78 MHz ARM7TDMI、256KB RAM)下制作小型游戏。
主要能力:提供精灵渲染、基于瓦片的图形、带碰撞的实体管理、按键输入、UTF-8 文本、音频、通过 SRAM 的存档/读档,以及通过联机线的多人功能。构建系统使用 Lua 将资源打包为 ROM。API 覆盖实体(ent、entpos、entspr、entanim、enthb、del 等)、精灵与瓦片(txtr、spr、tile、tilemap、clear、display、fade)、相机与滚动(camera、scroll、priority)、碰撞(ecolle、ecoll)、输入(btn、btnp、btnnp)、图形(print)、音频(music、sound)、内存(poke、peek、memput、memget)、系统(delta、sleep、log、flimit、next_script)与多人(connect、disconnect、send、recv)。
使用方式:需要 BPCoreEngine.gba 基础 ROM(含编译后的 C++ 与 Lua 解释器),可从 GitHub 仓库获取:git clone https://github.com/evanbowman/BPCore-Engine.git。项目需包含 manifest.lua 描述资源,然后运行构建脚本:lua build.lua manifest.lua BPCoreEngine.gba output.gba。可用 mGBA 测试:mGBA output.gba --log --memview。资源格式包括索引色 BMP 瓦片集、单声道 16kHz 8 位 PCM 音频(可用 ffmpeg -i input.mp3 -ar 16000 -ac 1 -f s8 output.raw 转换)与 CSV 瓦片地图。
适用场景与限制:适合小型 GBA 游戏与迷你游戏开发。限制包括 GBA 硬件资源有限、SRAM 仅 32KB、无 FPU 需用定点数学、每条扫描线可见精灵约 10 个、音频仅 3 个音效通道加 1 个音乐通道、联机包最大 11 字节。官方仓库可获取更新。