2012年3月3日,一个叫 stabyourself.net 的小网站挂出了一款免费游戏:画面是1985年的《超级马里奥兄弟》,但水管工手里多了一把《传送门》里的传送门枪。作者在自述里写得很轻描淡写——这本来只是个练手的马里奥克隆,加上传送门“纯粹因为这主意听起来挺酷”。
十年后,官网博客的十周年帖给出了一行数字:自2012年3月3日发布以来,下载量 3,424,249 次,而且“说精确点,现在每周还有1400次下载”。这游戏叫 Mari0,分文未取,全靠捐赠按钮活着,却成了独立游戏圈讨论“缝合出爆款”时绕不开的案例。它的源码就在 GitHub 上:Stabyourself/mari0。
| 项目 | 数据 |
|---|---|
| 仓库 | Stabyourself/mari0 |
| Star / Fork | 757 / 118(截至2026年10月,据仓库页面) |
| 语言 | Lua 93.6%、GLSL 6.1% |
| License | MIT |
| 作者 | Stabyourself.net 两人小组(官网自述“由两个人创立”) |
| 最近正式版 | 1.6.2(2018年9月发布,共3个release、62次提交) |
| 运行环境 | README 标注:Runs on LÖVE 11.4 |
没有公司,没有融资,两个还在念书的学生。后来其中一位(个人域名 guegan.de 的 Maurice Guegan)2014年写本科毕业论文时,甚至还在用自己顺手做的小游戏收集问卷。就是这么个“业余项目”,干了大多数商业游戏没干成的事。
一句话:完整的《超级马里奥兄弟》复刻版 + 传送门枪 + 4人同屏联机 + 内置关卡编辑器。
官方页面的特性清单不长:完整重现初代马里奥的手感、Portal 元素、一把真能开洞的传送门枪、4人同时合作、一个“做游戏关卡时自己就在用”的关卡编辑器、33顶帽子、可下载的地图包(mappack)、一堆整活用的游戏修改器。但真正让它上头的,是那个核心循环:
flowchart TD
A[进入关卡:还是那个1-1] --> B[踩怪吃金币<br>童年肌肉记忆照常工作]
B --> C{掏出传送门枪}
C -->|墙上课蓝橙两洞| D[动量守恒穿越<br>速度进速度出]
C -->|不开门硬跳| B
D --> E{过去了吗}
E -->|摔死卡关| F[秒速重来<br>换一种开洞姿势]
F --> C
E -->|过关| G[下一关拿星星]
G --> H[打开内置编辑器<br>自己画关卡]
H --> I[拉朋友联机4人互坑]
I --> A
每一关都有“官方走法”和“传送门走法”两种解。你先用肌肉记忆玩一遍,发现自己居然还会玩1985年的游戏;然后掏出枪,在旗杆后面墙上开个洞,用加满的助跑速度从屏幕另一头飞出来——熟悉的关卡瞬间变成解谜玩具。死了?秒重开,换一种开洞姿势,这就是“再来一局”的全部成本:三秒钟。
第一,熟悉×意外的化学反应。 单独的马里奥复刻没人看,单独的传送门模仿也很多,但把2012年最聪明的解谜机制装进1985年最经典的平台跳跃,产生的认知冲突是即时的:你的手记得1-1怎么过,脑子却要重新算。这种“旧地图新规则”的错位感,正是《汉兜》《2048》这类 remake 爆款的共同配方。
第二,动量守恒给了它技巧天花板。 传送门的精髓是《Portal》里那句"Speedy thing goes in, speedy thing comes out"——速度进、速度出,方向重算。落到横版马里奥里,就是助跑、下落、穿门、抛射的连续技。普通玩家开个洞抄近路就乐了,硬核玩家能用动量转换玩出速通花活。即时反馈拉满(开洞立刻生效),策略深度又没封顶,这是“简单上头”的标准结构。
第三,编辑器把内容生产外包给了玩家。 官方关卡总会打完,但 Mari0 的关卡编辑器是做游戏关卡时顺手做的第一方工具,关卡本身就是 mappack 目录里的数据文件。玩家做图、传图、下载别人的图,内容池接近无限。2013年科隆游戏展上,他们搞了个“限时竞速关”,现场收集了974条玩家通关录像剪成视频——这个游戏十年后每周还有1400次下载,编辑器和 mappack 功不可没。
第四,4人联机的混乱喜剧。 四个人四把传送门枪挤在一屏里,互相把对方传进坑里、用弹跳板把队友射进炮弹的行进路线——这是天然的直播素材和聚会游戏。它的传播从来不是靠广告,是靠“你快来看这个”。
代码是教科书级的“小而美”,Lua 写在 LÖVE 框架上,仓库根目录的文件名几乎就是实体清单:goomba.lua(栗子怪)、koopa.lua(乌龟)、bowser.lua(库巴)、bulletbill.lua(炮弹)、cheepcheep.lua(鱼)、lakito.lua(扔刺的云)。一个文件一个实体,class.lua + entity.lua 打底,没有框架魔法,任何会 Lua 的人半小时能读懂结构。
传送门的实现被拆成一组小文件:portalwall.lua(可开门的墙)、portalprojectile.lua(门弹)、portalparticle.lua、lightbridge.lua(光桥)、emancipationgrill.lua(Portal 里那道消解道具的栅栏,连名字都没改)、faithplate.lua(弹跳板)、gel.lua(凝胶)。想抄“传送门”机制的,读这几个文件就够了——核心其实就是入口速度向量经门法线旋转变换后赋给出口,外加绘制层用一个 shader 处理“穿门视角”,仓库里 6.1% 的 GLSL 干的就是这事。
几个可直接搬走的组件:tile 碰撞与实体系统(横版游戏的底座)、关卡编辑器(editor.lua,所见即所得,关卡数据即文本文件,数据驱动架构让 UGC 零成本)、mappack 加载(把关卡当模组分发)、musicloader_thread.lua(用线程做音乐加载避免卡顿)、netplay.lua(1.6 版加的网络联机,连 sha1.lua 都自带了)。MIT 协议,随便抄,只要别把任天堂的美术素材一起打包分发。
先说实话:Mari0 本身没有直接赚过一分钱。 免费下载、免费更新,官网只挂了捐赠按钮。2015年的博客里作者原话是:“这不是为了钱(魔鬼还没来诱惑过我们)。”——两人一边上班上学一边白送游戏,甚至自费把游戏搬上科隆游戏展3.6米×2.4米的LED大墙(96×64像素分辨率),连做了好几届展台,2017年干脆手工造了台双人街机。
但间接收益全是真金白银:342万下载带来的名气让他们年年有展位可逛、有玩家邮件可收(“我们的游戏是他们的童年”),2022年甚至有企业和机构主动想买那台街机,两人专门发了商业调研问卷考虑把它做成产品。对一个练手项目来说,这份“简历资产”比多数商业游戏都值钱。
也有反面教材:因为踩着任天堂和 Valve 的 IP,Mari0 永远不可能上架 Steam 收费——同人游戏的流量红利和商业化天花板是同一堵墙。2015年他们干脆砍掉了规划中的 Mari0 SE,理由很清醒:“缝合两款游戏的混搭,能做的也就那么多。”另外,白送是有维护费的:2013年 macOS 10.9 一更新,官网上所有游戏的 OSX 包集体报废,两个作者连夜重打包——免费游戏欠下的技术债,一分都不会少。
同类里跑通的路子也有:把“缝合”思路用在公有领域玩法上(没人拥有五子棋、扫雷、华容道的版权),缝一个现代机制,网页版挂广告、完整版上 itch.io 或 Steam 卖一两美元,这是个人开发者最现实的复制路径。
① 缝合公式:公版玩法 × 一个现代机制。 Mari0 的配方 = 极致复刻的旧玩法 + 一个改变空间规则的新工具。避开 IP 风险照抄结构:华容道 + 时间倒流、扫雷 + 重力反转、贪吃蛇 + 传送门,挑一个你熟的旧玩法做“手感复刻”,再只加一个新机制。MVP 两周量级,网页版起手,变现走 H5 广告 + itch.io 付费完整版。
② 把编辑器当核心卖点,不是彩蛋。 Mari0 能活十年的不是官方关卡,是玩家自己画的关卡。你做任何小游戏都内置一个所见即所得的编辑器,关卡存成 JSON 直接可分享(贴个字符串就能导入)。UGC 是个人开发者唯一供得起的内容池,变现可加“官方关卡包/皮肤”内购。
③ 做混乱,不做平衡。 4人互坑的传送门派对是它的传播引擎。独立小游戏别急着做数值平衡,先做“朋友之间能互相使坏”的场面——派对混乱意味着直播切片,切片意味着免费流量。两人同屏、五分钟一局、规则一句话讲完,投抖音小游戏吃广告分成,是这个配方今天最快的变现闭环。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
