【新突破】Super Mario Worker Project 正式开源
本帖最后由 InnovationLeap 于 2026-7-22 21:19 编辑Super Mario Worker Project(SMWP)已经进入新十年。过去一年,我们陆续发布了 v1.7.11、v1.7.12 和 v1.7.12.1。在此感谢多年来为 SMWP 的开发作出贡献的每一位社区成员。
背景
SMWP 现有的开发模式和工作流到今天面临不少挑战。SMWP 基于 Softendo 的 Mario Worker 4.1,原版 MW 的代码质量在可读性、可维护性、扩展性上均存在一定的缺陷,例如其包含大量波兰语变量、使用数值坐标判断控件位置等。
过去,SMWP 使用 Game Maker 8.0(GM 8.0)开发,随着 SMWP 功能的持续更新,代码架构也愈发复杂,使用 GM 8.0 自带的编辑器开发效率较为低下。GM 8.0 工程文件以二进制(.gmk)形式保存。二进制源文件或许在 Mario Forever 作品创作中存在部分优势,但对于 SMWP 的开发,则带来不少限制:无法通过 Git 进行有效的版本管理;多人协作时难以查看代码改动,也无法同时修改同一个工程,这会导致开发进度不同步;虽然 GM 8.0 支持外部编辑器,但由于其使用本地 ANSI 编码(中文版使用 GB2312),在外部编辑器(如 VS Code)中需要手动指定编码,稍有不慎就可能导致代码注释出现乱码。此外,AI 与自动化工具无法直接参与开发,因为其无法读取二进制源文件的代码架构。
在之前,我们有过将 SMWP 升级到新版 Game Maker(如 GameMaker: Studio)的失败尝试,原因是 GMS 相比 GM8 变动较大,且无法兼容 SMWP 使用的部分 GM8 扩展。Game Maker 8.2(GM 8.2)的出现带来一丝曙光:它基于 Game Maker 8.1,变动幅度比 GMS 小得多;支持专为版本控制和外部工具设计的 .gm82 工程格式,通过 Git 进行版本管理以及开源成为可能。
开源
将 SMWP 开源的想法,早在几年前就已在 INNOVATION LEAP 内部提出。但在旧的开发模式下,这就等于把 gmk 文件公开出来供别人“二改”,而因为前文提到的“多人开发进度不同步”的问题,其他人很难为 SMWP 上游作出贡献。此外,SMWP v1.4 引入了 .smwp 加密,我们不希望公开加密密钥,因为这可能促使针对 .smwp 的解密工具出现,对社区产生不利影响。
前不久,由 @绿色的糖果 基于 SMWP v1.7.12f 版,将 SMWP 源代码成功迁移至 GM 8.2,并实现了包括加密关卡在内的关卡成功运行、文本绘制和关卡解压扩展的重写,以及编码转换插件。现已具备开源条件。
今天,我们正式宣布 Super Mario Worker Project 的开源。从现在开始,任何人都可以获取 SMWP 的完整源代码,并进行 Fork、构建、修改与贡献。这意味着,SMWP 将从一个主要依赖少数维护者的项目,逐步转向社区协作开发的开源项目。
如何获取
源代码:https://github.com/InnovationLeap/Super-Mario-Worker-Project-GM82
迁移过程中重写的三个扩展也已分别开源:
FoxWriting_GM82(文本渲染):https://github.com/InnovationLeap/FoxWriting_GM82
EncodingConv_GM82(编码转换):https://github.com/InnovationLeap/EncodingConv_GM82
SMWGzip_Native(原生 GZip):https://github.com/InnovationLeap/SMWGzip_Native
SMWP 依赖第三方扩展 MaizeMusic(音乐播放扩展):
社区资源站下载:https://file.marioforever.net/smwp/MaizeMusic_3.1_20170316.zip
扩展主页:https://www.magecorn.com/p/254.shtml
具体编译方式、运行说明及扩展文档,请参考各仓库中的 README。
注:源代码仓库不包含 .smwp 的加密密钥,故开源版本不支持创建或读取 .smwp 关卡。
后续计划
过几天,我们将发布 SMWP 迁移到 GM 8.2 并开源后的首个新版本 v1.7.13-beta1,届时欢迎大家进行测试。由于引擎更新可能带来的不稳定性,我们将持续优化完善。
前天发布的 v1.7.12.1 是 SMWP 首个包含第四位版本号的版本。从今天开始,原 GM8.0 版 SMWP 将转为 LTS(长期支持)。LTS 版 SMWP 将不再添加新敌人、新品种等可能影响兼容性的新功能,但部分不影响兼容性的编辑功能改进和 bug 修复,仍可能视情况 backport 到 LTS 版本。后续 LTS 将遵循 v1.7.12.x 版本号形式发布。
INNOVATION LEAP
2026 年 7 月 20 日
HUGE SUCCESS!!!
页:
[1]