<!-- title: 《agar.io-clone》大球吃小球，吃出一条io财路 -->
<!-- domain: games -->
<!-- repo: huytd/agar.io-clone -->

# 《agar.io-clone》大球吃小球，吃出一条io财路

2015年春天，互联网上同时火了两个"球"。一个是巴西少年 Matheus Valadares 周末鼓捣出来的 agar.io，据当时的报道，这游戏靠论坛口口相传，几个月就被 Miniclip 收编；另一个球，是越南开发者 Huy TD 把这套玩法拆开、重写、挂上 GitHub 的开源克隆——agar.io-clone。前者赚走了流量和收购案，后者没赚一分钱，却成了后来无数个".io 小游戏"的地基。今天要深挖的就是这第二个球：它可能是你能在两周内读懂、改完、上线的最完整的实时多人游戏教材。

## 仓库档案

先把家底交代清楚。以下信息无法全部在线核实，均注明口径，Star 数等以仓库页面为准：

- **仓库**：github.com/huytd/agar.io-clone
- **作者**：huytd（Huy TD），个人开发者，越南人，后来还做过极简 JSON 存储服务 jsonstore.io（据其 GitHub 主页）。仓库由他一人发起，2015-2016 年热度最高时有一批社区 PR 涌入，但核心设计始终是他一个人的
- **语言**：JavaScript，前端原生 Canvas，后端 Node.js + Socket.IO（据仓库页面）
- **Star**：数千星量级，2015 年曾冲上 GitHub Trending（写作时未能在线核实精确值，请以仓库页面为准）
- **更新状态**：老仓库，近年基本停更（据仓库页面）。但本篇要读的不是"活项目"，是"教材"——玩法架构放到 2026 年的微信小游戏和 H5 门户里，一行都不过时
- **开源协议**：以仓库标注为准，二次分发前自己确认

## 它是什么：一颗球，一套食物链

一句话说清玩法：你控制一颗球，满地图吃比自己小的，躲比自己大的，越大越慢，越大越容易被围剿，死了从头再来。

规则表比规则本身有意思：

1. **食物**：地图上散落的彩色小球，吃了涨体重，零风险，稳稳的幸福；
2. **玩家球**：比它小，你能把它整个吞了，一次性吃下它全部体重；比它大，你就是它视野里的食物；
3. **速度惩罚**：体重越大，移动越慢。这行代码是整个游戏的灵魂，后面细说；
4. **分裂**：可以把自己一分为二，一半弹射出去咬人，过阵子再合体。进攻是它，送命也是它；
5. **病毒**：地图上的刺球，大球碰了会被炸碎，小球却能躲在刺球后面。大永远欺小，但小永远有地方活。

用一张图看玩家每一分钟在干什么：

```mermaid
flowchart TD
    A[开局: 一颗小球] --> B[满图捡食物攒体重]
    B --> C[体型变大, 速度变慢]
    C --> D{视野里有谁?}
    D -- 比我小 --> E[追上去吞掉, 体重暴涨]
    D -- 比我大 --> F[贴着刺球躲, 苟发育]
    E --> G[冲进排行榜前10]
    E --> H[分裂咬人, 后半身暴露]
    F --> I[被大球围猎]
    H --> I
    G --> I
    I --> J[结算: 差一名就进前十]
    J -->|再来一局| A
```

注意这个循环里没有一个环节需要动脑学习——没有教程、没有装备、没有技能树。所有策略都是玩着玩着自己长出来的。这正是小团队能抄、该抄的那类结构。

## 为什么上头：五道暗门

**第一道，即时反馈密度。** 你每移动一帧，视野里都有十几个食物球被吸进来，每个都伴随体重数字跳动和吞咽音效。开发者最该学的是这个反馈频率：新人进场的第一分钟里，他至少完成五十次"操作→正反馈"闭环。对比很多独立游戏"打十分钟怪才升一级"，差距就是留存率。

**第二道，动态难度藏在了物理里。** "越大越慢"这一条规则同时干了三件事：给小alls留活路（新人永远有机会跑掉）、给大球制造威胁（慢就是弱点）、逼大球分裂冒险（不冒险就吃不到人）。不是靠关卡策划去"平衡难度"，一条物理规则自己就形成了生态。你换题材做玩法时，先找你的这条"根规则"。

**第三道，赌性开关——分裂。** 分裂去咬人，赌的是对方反应不过来。赌赢，体重翻倍；赌输，你的另一半身体暴露在全图猎手面前。人类对"可以主动按下去的风险按钮"毫无抵抗力，这就是为什么赌博机要有摇杆键——把命运做成一个动作，而不是一个等待。

**第四道，排行榜攀比。** 屏幕右上角常驻前十名单。进前十的人想守住名次，前十外的人只差一个"再吃一个大胖子"。结算画面永远是"差一点"，而差一点的挫败感，恰恰是"再来一局"的最佳燃料。这一点跟《Hello Wordl》一天一题、晒分数逼人攀比，是同一套心理。

**第五道，非对称复仇叙事。** 小球苟在刺球后面看大球巡游的那几分钟，玩家在憋一个故事：等我长大了第一个吃你。复仇是最好的钩子，因为它自带情绪，不需要任何剧情文本。你的游戏如果能让人"记住一个具体的敌人"，留成就有了。

## 技术拆解：一张 Socket.IO 撑起来的食物链

这仓库对开发者真正的价值在工程侧。它用最少的代码把"实时多人"四个字全部踩了一遍，每一脚都是你以后做联机小游戏要交的学费，他先替你交了。

**架构一句话：服务端权威，客户端只演。** 所有球的位置、体重、碰撞判定都在 Node.js 服务端算，服务端按固定心跳（tick）把视野内的世界状态广播给每个玩家；客户端收到的只是一串坐标和半径，负责画。这样外挂最多改改自己的画面，改不了"你被吃了"这个事实。你以后做任何联机小游戏——棋牌也好、io也好——第一课都是这个。

**带宽优化藏在视野里。** 服务端不是把全地图几百颗球都推给你，而是只推你视野范围内的。这一招一石三鸟：省带宽、防透视外挂、顺便实现了"大球视野更远"的玩法设定（视野半径随体重增长）。你会发现好的技术方案经常能倒过来变成玩法，这是独立开发者最便宜的"设计升级"。

**半径与体重的换算。** 画布上一颗球的显示半径不是体重本身，而是接近质量开根号的换算。为什么？如果半径线性涨体重，大球在屏幕上会大到离谱，小球直接看不见。一个平方根，保住了整个游戏的视觉可读性。数值策划的第一课：先保证"看起来正常"，再谈手感。

**分裂与合体的状态机。** 分裂后两颗球有单独的动量、有最短合体倒计时、有互相排斥再缓慢吸附的过程，全部是一个小状态机在跑。这类"倒计时+状态迁移"的代码逻辑，你做棋牌回合计时、放置游戏离线收益结算，全都用得上。

**断线与房间。** Socket.IO 自带的房间（room）概念被拿来隔离对局，断线重连后状态从服务端拉回来。你做双人棋牌、联机派对游戏，这套模型照抄即可。

**AI 对手是白送的复活甲。** 仓库里带了简单的 bot 逻辑（游走、捡食、见小就追）。这意味着你可以把服务器整个砍掉，用十几个本地 bot 冒充真人，把联机游戏改成单机游戏——这就是下一节要说的变现起点。

可复用组件清单，直接抄：Socket.IO 心跳同步框架、视野裁剪广播、质量-半径换算、分裂状态机、排行榜推送、bot AI。一个周末能把这套骨架抽成你自己的"io 模板"，之后每换一个题材就是一款新游戏。

## 变现观察：io 是门广告生意

先说原作。agar.io 据当时报道由巴西开发者 Matheus Valadares 在 2015 年做出，靠 Reddit 和 4chan 自来水引爆，同年被 Miniclip 收编，后来靠网页广告加手游内购（皮肤、加速币）变现。它证明了"零美术、零剧情、一个核心循环"的网页游戏可以做到顶级流量。

更值得个人开发者看的是它身后那条 **.io 赛道**：slither.io、diep.io、wings.io……全是大球吃小球这套骨架的变奏。这批游戏的共性变现路径有三条：一是网页端贴片广告和插屏；二是手游端"广告+内购"混合，激励视频换复活、换加速；三是把游戏挂到 Poki、CrazyGames 这类 H5 游戏门户，门户卖广告、开发者按流量分成。第三条对个人最友好——不用自己买量，把游戏做好提交上去就有被动收入，这是 2026 年仍然在运转的模式。

一句话总结这条赛道的账：io 玩法本身免费（代码开源），服务器成本可控（视野裁剪省带宽），收入靠广告（门户分成或激励视频），竞争靠题材（骨架一样，皮决定生死）。

## 给我的灵感

**点子一：io 玩法单机化，两周上架微信小游戏。** 直接拿本仓库的骨架，砍掉 Socket.IO，把 bot 逻辑加强成"假真人"（bot 起中文名、会骂人、会围猎，体验像联机）。题材换皮是关键：吃的是汉字（吃对成语长大）、吃的是卡路里（健身题材）、吃的是城市（吞噬进化题材），任选一个差异化皮。变现走激励视频（死亡复活一次）+ 插屏（结算页）。工作量：MVP 一到两周，主要时间花在 bot 手感上。适合想快速跑通"上线-广告-数据"全流程的个人。

**点子二：竖屏吞噬+轻养成，打碎片时间。** 把大地图改成竖屏一局三分钟，体重结算成金币，金币换皮肤和"球球宠物"。养成层解决 io 类最大的死穴——死了就清零，玩家没有留存资产；每局收益都能带走，广告和内购（皮肤、宠物栏位）就有了插入点。工作量：两到三周，需要一点 UI 功底。适合想做大一点、冲一下平台推荐位的。

**点子三：自建联机服+赛季，卖给已有社群。** 如果你有现成社群（游戏公会、校园群、直播间粉丝），保留原仓库的联机架构，加皮肤系统和周末赛季榜，把"和熟人互吞"做成直播节目效果。变现靠皮肤+打赏，不必买量。工作量：一个月上下，服务器运维是真成本。这条路别裸开——没有社群就先回去做点子一。

优先级建议：先点子一。它的全部风险都集中在"bot 手感"这一个点上，试错成本最低，跑通了数据，再决定要不要往二、三走。

## 上手

- 仓库：github.com/huytd/agar.io-clone
- 本地跑：README 给的路径是 clone 后 npm 装依赖、node 起服务端、浏览器开客户端页面（具体命令以 README 为准）。仓库年代久远，README 里挂的在线 demo 链接大概率已失效，别浪费时间找，本地起服五分钟的事
- 对照着玩：浏览器打开 agar.io 官网（现属 Miniclip 旗下运营），一边玩原版一边读代码，看"病毒炸球""分裂合体"这些手感细节在代码里各是哪几行——读代码前先玩十局，效率翻倍

老仓库的好处是：它已经替你把 2015 年那波 io 热潮的全部教训写进了 issue 和提交记录里。你要做的不是复刻 agar.io，是拿走它的骨架，给它穿一件 2026 年的新衣服。

> [!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学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
