首页 › games › 《monopoly》收租这门生意,他免费教了十二年

大富翁这个玩法,在游戏圈里有个外号叫“印钞机品类”——掷骰子、买地、收租,规则老到掉牙,但每隔几年就有换皮产品重新杀进畅销榜。规则本身毫无秘密,秘密全在实现和包装上。今天要拆的这个仓库,把“实现”这一半免费做完了:intrepidcoder/monopoly,一套纯 JavaScript 写的完整大富翁,支持 2-8 人混战,还留了一个 AI 对手插槽。作者从 2013 年开源到现在,一枚广告都没挂过。

仓库档案

有个细节值得注意:它的 fork 数高达 256,接近 star 数的六成。正常仓库 fork 远低于 star,这个比例说明大多数人拿它不是收藏,是真拉下来改——这对想找“可抄底子”的人来说,本身就是一份口碑背书。

这游戏是什么

一句话:浏览器里的大富翁完整版。8 个位置随便摆,每个位置可以是真人,也可以勾选 AI(Test),棋子颜色 16 种任选,开局每人 $1500,然后就是熟悉的一切——掷骰、买地、拍卖、建房、抵押、交易、进监狱、保释,直到只剩一人现金为正。

核心循环长这样:

flowchart TD
    A[掷骰移动] --> B{落在哪种格子}
    B -->|无主地| C[决策: 买下或放弃]
    C -->|放弃| D[进入拍卖<br>全员可出价]
    C -->|买下| E[地产入库 现金减少]
    B -->|他人地产| F[交租 现金转移]
    B -->|机会命运| G[随机事件]
    E --> H{下一回合}
    F --> H
    D --> H
    G --> H
    E --> I[集齐同色组<br>租金翻倍可建房]
    I --> J[对手现金流枯竭<br>抵押还债走向破产]
    J --> K[一人独活 本局结束]
    K -->|换AI策略或换版图| A

驱动“再来一局”的有三层:一是版图易主的可视性——地图格子颜色逐渐被自己染满,进度感写在脸上;二是现金流的心理压——你看着对手余额一点点被租金磨穿,比看血条掉得还有实感;三是每局都是新随机——骰子决定落点,同样的人同样的策略,两局走向完全不同。

为什么上头

大富翁被抄了一百年还没被抄死,是因为它的机制配比极其精妙。对着这个仓库的源码,能把这些机制一个个指出来:

第一,即时反馈做到了账面级。 演示页面顶部常驻所有玩家的余额,任何一次收租、付租、成交,数字当场变动。即时反馈是上头的地基,而回合制游戏最容易把反馈拖到回合结算——这个游戏没有结算画面,每一笔都是实时到账。

第二,收集欲绑定复利曲线。 单块地的租金从 $12 起步,集齐同色组租金翻倍,每加一栋房租金跳一档,盖上酒店直接到 $900——75 倍的梯度全靠“收集+升级”堆出来。更狠的是视觉绑定:格子变成你的颜色、房子图标一点点铺满,进度感不用数字告诉你。

第三,拍卖和交易制造了“人的变量”。 大部分电子棋盘游戏只做“轮到你→做选择”,大富翁的灵魂在人与人之间:放弃购买触发全员拍卖,你多出的每一块钱出价都是心理战;交易系统允许拿地换地、拿地换钱、拿地换出狱卡。源码里的 AI 甚至会还价——你开价不合适,它回你一个新 Trade 对象。这种“对方在跟我斗心眼”的感觉,是单机游戏稀缺的社交拟真。

第四,淘汰机制给了终局压力。 现金流断裂不是立即判负,而是先抵押、再卖房、最后出局——这套缓冲设计让劣势局有翻盘幻想,让优势局有围猎快感。源码里 AI 的 payDebt 函数从 39 号格往 0 号格逆序抵押,先割高价值资产保命,策略感全是规则逼出来的。

第五,运气和策略的黄金配比。 骰子管落点(运气),买地、建房、交易管走向(策略),出狱卡管时机(心机)。纯运气游戏留不住人,纯策略游戏累人,大富翁卡在中间——连“蹲监狱”都是策略:AI 的 postBail 钩子里写着,第三次入狱回合才肯掏出狱卡,前面两回合白蹲反而安全。

技术拆解

整个游戏就 7 个文件:index.html、styles.css、monopoly.js(规则引擎)、ai.js(AI 示范)、classicedition.js 和 newyorkcityedition.js(两套版图)、一个 images 目录。双击 index.html 就能开玩,没有构建工具,没有框架,没有一行依赖。

规则引擎是全局状态流。 40 个格子是一个 square 数组,玩家是 player 数组,买地、建房、抵押全是全局函数直接改状态。这是 2013 年的写法,放到今天不够“工程化”,但对二开反而是好事——没有中间层,改哪看哪,一个周末读完整个引擎。

版图即配置文件。 经典版和纽约版是两个独立 js 文件,各自描述 40 个格子的名字、价格、租金梯度。想做一个“北京版”或“你的城市版”,不需要动引擎一行代码,新写一个版图数组文件就行。这是它 fork 多的直接原因——换皮成本约等于零。

ai.js 才是全仓库最值钱的部分。 它把“回合制 AI 需要做哪些决策”抽象成了 6 个钩子,你实现这 6 个函数,就能造一个对手插进牌桌:

钩子 触发时机 示范 AI 的策略
buyProperty 踩到无主地 现金 > 地价+50 就买
acceptTrade 收到交易提议 给全部筹码估值,>25 接受,否则可能还价
beforeTurn 自己回合开始 集齐同色组且钱够就建房,顺路赎回抵押地
onLand 每次落格 一次性发起“公用事业换铁路”的交易
postBail 蹲监狱期间 第三回合才用出狱卡
bid 拍卖中 加价 10~30,超过地价 1.5 倍或现金告急就退出

作者在注释里写得很诚实:“这个 AI 的目的不是做逼真的对手,而是示范一个合法的 AI 玩家长什么样。”——换句话说,它交付的不是 AI,是 AI 接口约定。这份约定是整个仓库复用价值最高的一段设计:任何棋盘类、格子系统类玩法,都可以照抄这套钩子划分。

短板也很明显:没有存档。 页面上原话警告“刷新此页面或离开可能导致你的游戏无预警结束”。十二年没补的功能,就是留给你的机会清单。

变现观察

先说结论:这个仓库本身零变现痕迹。MIT 协议、演示页无广告、没有赞助入口、作者甚至没在 README 里放一行自我介绍。它更像一个作品集项目——而这恰恰是个人开发者变现的第一课:作品集项目换来的影响力和 offer,是隐性收入,454 颗星持续十二年的进账,比一次性的广告费值钱。

但这个品类的变现路径是被反复验证过的:

一个必须提的风险:Monopoly 和“大富翁”都是注册商标。玩法规则本身不受版权保护,你照着做玩法没问题,但商用必须换名字、换美术、换格子文案,不能贴牌。这个仓库 MIT 协议连代码都随便你改,法律风险只在商标和素材层。

给我的灵感

点子一:城市换皮 + 存档 + 单人 AI 局,投微信小游戏。 用它“版图即配置”的结构,把 40 个格子换成你家城市的地标、梗店、网红路;补一个 localStorage 存档(它最大的短板);开局默认 3 个 AI 对手,主打通勤碎片时间单机局。变现走激励视频(免租、免抵押、换骰子)。规则引擎是现成的,你的工作量在美术和版图数据——一到两周 MVP。

点子二:AI 锦标赛观战间。 钩子接口天然支持多 AI 同桌——写 8 个性格迥异的 AI(激进买地型、囤现金流型、交易狂魔型),做一个纯观战页面:8 个 AI 自动打完一局,观众看直播、发弹幕、竞猜赢家。它解决的是“想看大富翁但不想亲自玩”的人群,网页挂广告,比赛切片还能反哺引流。一周 MVP,是三个点子里差异化最强的。

点子三:把钩子开放给玩家,做“写 AI 来下棋”。 参考它的 ai.js 约定,做一个玩家提交自定义 AI、自动匹配对战的社区站。这是慢生意,起量慢但粘性极高——程序员为了让自己的 AI 赢,会自发传播。适合已经有一份稳定流量的开发者做第二增长曲线。

三个点子共享同一个底座:这份 MIT 的规则引擎加钩子架构。先 fork 下来跑一局,再决定往哪个方向长。

上手

一颗骰子掷了一百年,规则早就公开,公开的规则永远不构成壁垒——壁垒是你往这套循环里装了谁的情怀、谁的钱包、谁的碎片时间。这个仓库把最无聊的那部分(规则实现)免费替你做完了,剩下的部分,恰恰是只有你能做的部分。

[!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 等场景全覆盖。

51学通信知识星球海报-扫码加入