Gen1Recomp:把宝可梦一代二代用 Lua 重写一遍,而不是再造一个模拟器

你手机或电脑里多半装过一个宝可梦模拟器。mGBA、BGB、SameBoy 这一类,点开 rom 就能跑。Gen1Recomp 看上去也是干这件事的:在桌面、手机、Switch、Xbox 上玩红蓝黄金银水晶。但打开它的 README 第一句我就愣了一下,它明确说自己不模拟 Game Boy、不转译汇编、也不下载反编译代码。

它做的事情更接近逆向重生。你提供一个自己合法持有的美版 rom,它先校验 SHA-1,再把里面的地图数据、图形、音频程序抽出来,塞进一个手写 Lua 引擎重新跑一遍。原始 rom 在内存里验证完就释放掉,不留副本。换句话说,它把 rom 当原料,而不是当程序。

Gen1Recomp:把宝可梦一代二代用 Lua 重写一遍,而不是再造一个模拟器

这跟我原本以为的又一个模拟器前端完全不是一条路。一个标榜 recomp 的项目,缩写其实是 Reverse Engineering Causes Obsessive Mental Problems,作者自己都在玩这个梗。但玩笑背后是个很硬的工程量:从零写一套能跑通初代二代全部地图、战斗、脚本逻辑的引擎。

说白了这篇文章就想讲清楚一件事:它跟模拟器到底差在哪,值不值得你为了这个差异去折腾一把合法的 rom?往下翻。

核心亮点

最抓我的不是能玩,而是原版 bug 你也能选。项目内置两套规则集,gen1_faithful 把初代那些著名的漏洞原样保留,modern_clean 则按修正后的逻辑跑。你小时候卡过的 MissingNo、卡比兽睡觉失效、技能顺序错位,在 faithful 模式里依然存在。这是个对还原度有执念的团队。

跨平台铺得比我见过的任何同类都狠。一次发布同时给 Linux AppImage、Flatpak、iOS ipa、Xbox UWP、Switch homebrew、Anbernic RG34XXSP 掌机包,外加 Windows 和 macOS。OpenGL、X11、Wayland、KMSDRM、ALSA、PulseAudio 全是 dlopen 动态加载,同一份镜像能在桌面、纯 Wayland 会话、没有 X 的掌机上跑。这种发布广度通常是商业团队才做的。

把架构摊开看,它的分层很清晰,不是把模拟器代码糊一层壳,而是从输入到运行时都重新设计的五层结构。

Gen1Recomp:把宝可梦一代二代用 Lua 重写一遍,而不是再造一个模拟器

输入层只认你提供的合法美版 rom,过一道 SHA-1 才往下走;解码层把数据、图形、音频程序抽进私有生成缓存;引擎层是纯手写 Lua,负责地图、战斗、脚本;运行时交给 LÖVE2D 做渲染、合成和输入;最上面一层才是 mod 和联机。每一层都不依赖下一层是模拟器,这也是它能上这么多平台的底层原因。

MOD 系统是我觉得最被低估的一块。它不是把文件丢进目录那种业余支持,而是带内容注册表、事件钩子、每 mod 独立存档和选项的完整平台,游戏里按 F10 直接打开管理器。社区已经长出 3D voxel 体素化 mod、全图鉴可捕获 mod、跟随宝可梦 mod 一大串。引擎成了画布,玩家在往上画画。

在线对战和交换也内置了,走 archipelago.gg 的 wss 房间。不是 P2P 打洞那种玩具实现,是接进现成的随机izer 联机生态。对战、观战、锦标赛、交易都在 ONLINE 标签里。一个个人开源项目把联机做成标配,这在宝可梦同人圈很少见。

性能分级也务实。HIGH、BALANCED、LOW、AUTO 四档给低端设备和掌机留了活路,环境变量还能调空闲渲染帧率省电。这些细节不是炫技,是作者真的在 RG34XXSP 上长时间把玩过才会想到的优化。

不过更关键的体验问题,得真正跑一次才知道,下面直接上手看看。

快速体验

上手比想象中简单,前提是你要先解决那个合法 rom。首次启动会让你选或拖入 .gb/.gbc 文件,只接受规范美版 rom,导入时用 SHA-1 拦一道,不是美版直接拒绝。这一步是法律立场,也是技术立场:它只认这几种固定布局。

从源码跑需要 LÖVE 11.x 这个框架,环境装好之后,把 rom 放进项目目录,官方给了两条现成脚本:

scripts/setup.sh --rom "/path/to/Poke Red.gb"
scripts/run.sh

setup 负责校验并把数据抽到私有缓存,run 之后直接 love . 就能进游戏。桌面版用户更省事,下载对应平台包双击打开,拖入 rom 自动导入开玩,根本不用碰命令行。便携模式也考虑到了,放一个 portable.txt 就能把存档和配置锁在程序目录里,适合塞进 U 盘随身带。移动端还给了 gen1recomp++://launch?game=red 这种深链,掌机前端或 Steam 里一键跳过启动器直接进游戏。

第一次启动的五步基本是固定的,rom 校验过了就把活交给缓存,之后再也用不到那个文件。

Gen1Recomp:把宝可梦一代二代用 Lua 重写一遍,而不是再造一个模拟器

这个流程意味着二次启动极快,也意味着你之后换了设备只要带着私有缓存走,就能直接玩。代价是 gen1recomp 这名字里的 recomp 不是随便取的:它不模拟硬件,没有帧率不稳、兼容 rom hack 这类模拟器老问题,但你必须提供正版 rom,且只支持那几个特定版本。Yellow 残差、Crystal 这些内容还在持续修。想玩火红叶绿或者第三方 hack,它目前帮不了你。

但这套设计也划出了明确的边界,谁适合谁不适合,下一段说清楚。

适用场景与局限

把 Gen1Recomp 和另外两条常见路线放一起看,差异会立刻显出来,不用我多解释每格在比什么。

Gen1Recomp:把宝可梦一代二代用 Lua 重写一遍,而不是再造一个模拟器

模拟器拼的是 100% 还原原机,代价是手感和现代设备割裂;pokered 那种反编译是把游戏重编译成可改的 C 源码,面向的是开发和教学;Gen1Recomp 卡在中间,要原版体验又要现代化和可塑性。它不是来替代谁的,是给了第三种可能。

场景 典型用户 优势 局限
怀旧原版体验 想重玩红蓝黄的玩家 原生引擎、现代操控、规则集可选 仅支持规范美版 rom
掌机/主机随身玩 RG34XXSP、Switch、Xbox 用户 官方打包、免模拟器 需 homebrew/开发模式
MOD 与二次创作 体素化、改版图作者 原生 mod 平台、钩子完善 学习曲线不低
联机对战交换 想和朋友打的玩家 内置 archipelago 联机 依赖房间可用性

最适合的人是手里还留着正版卡带镜像、又受够了模拟器手感的人。它把原版体验现代化了,但又没阉割原版的不完美。最不适合的是想一键通吃所有宝可梦 rom 的玩家,以及只看免费合集的人,这个项目的法律边界很硬,SHA-1 把非美版和 hack 全部挡在门外。

Gen 2 目前是半成品状态。Gold、Silver、Crystal 的导入和启动器在,但大量内容还在补。Crystal 标了 Beta。你要冲着二代去,现在会踩到不少没做完的地方。作者把精力明显压在一代上,这个优先级对一代玩家是好事,对二代党是耐心考验。

但光看功能不够,社区到底靠不靠谱,才是决定要不要跟的根本。

社区健康度

数据长得有点吓人。仓库 2026 年 7 月 18 日才建,到 9 月初已经 3552 Stars、309 Fork、29 个 open issue,dev 分支 1541 个 commit、157 个 tag。一个半月冲到这个量,在同人游戏项目里极快。MIT 协议,默认分支是 dev,说明作者把稳定版和开发版分得很清楚。

指标 数值(截至 2026 年 9 月)
Stars 3,552
Forks 309
Open Issues 29
License MIT
创建日期 2026-07-18
最近提交 2026-09-05

维护节奏也健康。最近一次提交就在 2026 年 9 月 5 日,Yellow 残差修复、Android 图片导出、TLS DLL 打包、空闲渲染调控这些都在做。open issue 只有 29 个,对一个跨这么多平台的项目来说相当干净,说明反馈有人在收。

社区声音里有个值得记一笔的警示。项目在 README 和 GBAtemp 论坛都明确点名 gen1recomp[.]com 是冒充站点,带广告软件,跟官方毫无关系。官方只认 GitHub、Discord 和 gen1re.com。这种主动辟谣假官网的做法,反而让我更信这个项目是真的用心在维护,不是蹭流量的壳。

还有个技术向的小插曲:Windows Defender 会把打包后的程序误报成 Trojan:Win32/Wacatac!ml,原因是 LÖVE 运行时把游戏数据附加进了可执行体。作者提供了 SHA-256 校验并在 VirusTotal 验证。这种误报在游戏同人圈常见,但愿意写进文档并给校验值的,不多。

洞察与判断

我给它的判断是一代玩家现在就能上,二代玩家再等等。不是因为它不好,是它的好集中在一代。手写 Lua 引擎跑通红蓝黄全部逻辑这件事,含金量比又多一个模拟器高得多。你得到的不是像素模拟,而是一套可改、可扩、可联机的活引擎。

翻完 Issue 列表之后,我的判断收窄了。它真正的护城河不是能玩,是能改。模拟器拼还原度,拼到头也就是 100% 像原机。Gen1Recomp 拼的是可塑性:mod 钩子、规则集切换、联机生态,这些是模拟器架构天生难给的。它把宝可梦一代从被模拟的对象变成了可被二次创作的基础件。

再看 mod 生态为什么重要。模拟器圈子里改图、汉化从来靠外部工具,和模拟器本身是两层东西。Gen1Recomp 把 mod 做成一等公民,意味着社区每出一个 voxel mod、跟随 mod,都是在给这个引擎加粘性。这种粘性是模拟器架构很难复刻的,也是它长期价值最被低估的地方。

对普通玩家我得泼盆冷水:合法 rom 这道门槛会劝退一大票人。它不能也不会帮你找 rom,SHA-1 校验硬拦。这意味着它的用户群天然是手里有正版、又懂点技术的小众。星标高但实际活跃用户可能没星标那么壮观,这是个要判断清楚的预期差。

趋势上我偏乐观。作者维护密度、发布广度和社区 mod 生态都在往上走,3D voxel 那批 mod 已经把原版 2D 玩出了第一人称、战斗镜头的新花样。它很可能从一个复刻项目长成一个宝可梦一代的 mod 平台。这个走向比单纯怀旧有意思得多。

唯一要提醒的是维护者集中度。bryanthaboi 是绝对主心骨,部分提交挂着 Cursor、Copilot 这类 AI agent 的署名。bus factor 不算高,这在个人同人项目里是常态,但若作者哪天停更,现有 mod 生态能不能接住是个问号。好在 MIT 协议和完整源码都在,真要断更,fork 自救的成本很低。

资源地址

总结

Gen1Recomp 不是模拟器换皮,是用 Lua 把宝可梦一代二代重写了一遍。它借你的合法 rom 当原料,给你一个能改、能联机、能上掌机的活引擎。一代玩家现在就值得装,二代玩家建议等 Crystal 脱离 Beta。最该警惕的是那个假官网和 Defender 误报,认准 GitHub 和官方站就行。

开源项目

exercises-dataset:1324 个动作加一个浏览器脚手架,把健身 App 后端砍到几十分钟

2026-9-7 12:03:21

开源项目

Esp32-ai:把大模型塞进了微控制器

2026-8-6 12:15:44

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧