查看: 58|回复: 0

[资源] 【新突破】Super Mario Worker Project 正式开源

[复制链接]

11

主题

30

回帖

1

精华

勇敢红花

经验
421
硬币
83 枚
发表于 昨天 17:32 | 显示全部楼层 |阅读模式
本帖最后由 InnovationLeap 于 2026-7-21 01:04 编辑

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 将不再添加新敌人、新品种等可能影响兼容性的新功能,但部分不影响兼容性的编辑功能改进,仍可能视情况 backport 到 LTS 版本。后续 LTS 将遵循 v1.7.12.x 版本号形式发布。

INNOVATION LEAP
2026 年 7 月 20 日

新突破.png

评分

参与人数 1经验 +3 硬币 +2 收起 理由
无视我233 + 3 + 2

查看全部评分

您需要登录后才可以回帖 登录 | 创建账户

本版积分规则