<!-- title: 《Farmhand》种菜上头，靠的是行情 -->
<!-- domain: games -->
<!-- repo: jeremyckahn/farmhand -->

2026年还在更新的开源农场游戏不多，Farmhand 算一个。它就在 GitHub 的 farming-game 话题下挂着：TypeScript 写的，144 个 Star，最近一次提交离今天只有几个小时。作者 Jeremy Kahn 是个资深前端，没开公司、没拉团队，一个人把“种地—看行情—卖菜”这个循环装进了浏览器，还在 README 里大方向地写着：这个游戏“永远不会做完”。

对想入局小游戏变现的个人开发者，这个仓库值得看的地方不是“又一款种田游戏”，而是它敢把整条商业化链路走完的样子：网页白送、多人免费、变现靠 Patreon 捐赠，发布流水线一键铺五个渠道，存档迁移、多人服务器、E2E 测试一个不缺。下面把这仓库拆开看。

## 仓库档案

- **仓库**：[jeremyckahn/farmhand](https://github.com/jeremyckahn/farmhand)，⭐144，TypeScript，最近更新于 2026 年 10 月初（据 GitHub 仓库页）
- **License**：代码 GPL v2，美术素材 CC BY-NC-SA 4.0（据 README）——想直接抄素材的不行，想抄结构的随便
- **作者**：Jeremy Kahn（个人账号 jeremyckahn），前端出身，长期维护动画库，Farmhand 是他按开源软件的标准流程在做的一款游戏
- **在线试玩**：[farmhand.life](https://www.farmhand.life/)，或 [itch.io 页面](https://jeremyckahn.itch.io/farmhand)，浏览器直接玩，也可以作为 PWA 装到桌面离线玩

## 这游戏是什么

一句话：**一个把“菜市场行情”当核心机制的农场经营游戏。**

表面流程和所有种田游戏一样：买种子、种地、浇水、等几天、收获、卖钱、扩大农场。Farmhand 真正的钩子在 itch 页面写得明明白白——“核心机制是种子和作物的价格波动”：今天的种子便宜就囤，收成之后等一个高价日出手。单机模式里价格每天随机浮动；联机模式下，同一房间所有玩家共享一个行情，你大量抛售某样作物会把全房的价格砸下去。农场只是皮，投机才是骨。

它的设计目标也很明确（README 原话）：桌面和手机都好上手，“30 秒或 30 分钟一次都好玩”。这是典型的碎片时间结构——早上一局浇水卖菜，地铁上一局看行情，晚上再收一波离线生长的庄稼。

把核心循环画出来：

```mermaid
flowchart TD
    A[早市: 看今日种子/作物行情] --> B{价格低吗?}
    B -- 低价囤种 --> C[种地浇水]
    B -- 太贵 持币 --> G[经营动物/加工/接任务]
    C --> D[天数推进 天气事件]
    D --> E[收获]
    E --> F{今日卖价高吗?}
    F -- 高价清仓 --> H[金币 + 经验升级]
    F -- 低价再等 --> I[库存压力: 仓容有限]
    G --> H
    I --> A
    H --> J[解锁新地块/动物/加工设备]
    J --> A
```

这个循环里有两个引擎：**行情波动**制造“低买高卖”的决策欲，**天数推进**制造“明天再看一眼”的回访理由。两者咬合，就有了 Farmhand 自称的“30 秒也能爽”的节奏。

## 为什么上头

拆开看，它上头的点不在种地本身——浇水谁都觉得枯燥——而在种地外面套的那几层经济设计：

**1. 价格波动：把股票心理塞进农场**
每天所有商品的价格都在浮动。今天南瓜种子打三折，你明知道种南瓜不划算也会囤一把；收成躺在仓库里，你会忍不住每天刷一眼行情，“再等一天说不定涨回来”。这就是不折不扣的赌徒心理，只不过标的换成了虚拟作物。相比传统种田游戏“固定收购价”的死水，波动价让每一次买卖都变成一次小决策，决策密度就是上头密度。

**2. 预约式生长：给你一个明天再来的理由**
作物按游戏日生长，动物每天产奶产蛋，离线期间农场照样运转（PWA 可安装离线玩）。这等于系统替你预约了下一次打开：“睡一觉，蓝莓就熟了。”放置游戏被验证过一万遍的回访机制，套在农场题材上显得毫无攻击性——你不是被任务列表催着上线，是惦记自己的地。

**3. 库存压力：强制你做取舍**
仓库空间有限，低价日你舍不得卖，库存就爆仓；爆仓了就必须贱卖或者花钱扩建。这个约束把“囤货博弈”从可选策略变成了每天都躲不掉的算术题，玩家自己就会给自己制造紧迫感。

**4. 升级树与加工链：钱永远有去处**
卖菜攒的钱可以开新地块、买牛买鸡、上加工设备把牛奶做成黄油奶酪卖更高价。原料变商品的加工链让“经营感”翻倍：同一头牛的产出，经过你的加工就值更多钱——这是玩家能直观感知到“我在变强”的路径。

**5. 多人行情房：社交攀比的低成本实现**
联机时全房共享价格，你的抛售会砸别人的盘。这个设计妙在几乎零成本做出了玩家互动：不用做聊天、不用做交易系统，一个共享价格变量就让陌生人之间有了博弈。朋友开黑时互相抬价砸盘，传播素材自己就长出来了。

## 技术拆解

Farmhand 最值得抄的是它把“开源软件工程”整套搬进了个人游戏开发，每一项都是可以直接搬走的组件：

- **技术栈**：React + Vite + TypeScript，做成 PWA。浏览器即开即玩，也能安装到手机/桌面离线玩。对个人开发者这是最省渠道费的形态——不用上架商店，一个 URL 通吃。
- **存档版本化（最大亮点）**：版本号不看功能看数据——以游戏状态对象 `farmhand.state` 的结构变更为准，破坏性变更升 major，并附带自动迁移逻辑，老玩家的存档升级版本后无损可用。大多数业余项目死在“改了数据结构，老玩家存档全废”，这一套 SemVer-like 迁移机制是现成答案。
- **调试接口**：把活的游戏状态直接挂在 `window.farmhand` 上，浏览器控制台里一条命令就能读状态、改金币。做网页游戏的都该学这招，调试效率差一个量级。
- **多人架构**：官方有专门的博客文章拆解多人系统——API 服务、Redis、peer pairing server（配对服务器）。多人玩法没有做实时同步大战场，而是“共享行情”这种弱同步，个人开发者的联机成本的合理下限就该这么定。
- **美术流程**：像素资产默认 24×24，用 Piskel 制作，`.piskel` 源文件和 `.png` 一一对应放在同一目录，npm 脚本互相转换，文件名直接对齐游戏数据 ID。美术资产管理做到这个程度，独立开发者里罕见。
- **测试与发布**：GitHub Actions 跑 CI，Playwright 做 E2E，还有一套让玩家按 issue 模板参与冒烟测试的流程；一个 release 工作流自动发布到 farmhand.life、GitHub Pages、itch.io、npm、GitHub Release 五个渠道，还会往 Discord 的更新频道发通知。一个人当成一个发行团队在用。
- **灰度开关**：功能用 feature flags 控制，比如挖矿系统可以用 `?enable_MINING=true` 在浏览器里手动打开——新玩法先给自愿尝鲜的玩家，稳定再全量。

可复用组件清单：存档迁移方案、PWA 离线框架、行情波动的数值结构、弱同步多人房间、像素资产目录规范。这五样拼起来，几乎就是“个人网页游戏的基建全家桶”。

## 变现观察

先说 Farmhand 自己的账本：游戏本体免费，联机功能也免费，itch 页面上变现出口只有一个——**Patreon 捐赠**，外加 plaza.dsolver.ca 这类分发平台的常规位。它没做内购、没挂广告。这是浏览器 cozy 游戏最诚实的现状：靠游戏本身很难收大钱，捐赠和赞助是底线收入。

但放到品类坐标里看，天花板其实很高。种田经营是独立游戏里付费意愿最强的品类之一：Stardew Valley 一个人写了四年半，全价卖，公开报道的销量是千万级；手游端的开心农场类靠内购和广告跑了十年。玩家对“种地”这两个字的付费习惯早就被教育好了，缺的从来不是钱包，是钩子。

所以这个仓库的变现启示不是“去抄一个捐赠页”，而是三条更实用的路：

1. **行情波动就是留存，留存才能谈广告和内购**。固定价格的游戏玩家玩三天就走，有波动就有回访，日活才是广告位和内购转化的分母。
2. **多人共享行情是最低成本的社交裂变**，朋友互相砸盘的截图会自己传播，拉新成本趋近于零。
3. **Farmhand 的五渠道一键分发说明**：个人开发者的边际分发成本可以压到接近零，网页版养口碑、itch 收捐赠、将来想清楚了再打包上移动端收费，这是渐进式变现的标准动线。

## 给我的灵感

**点子一：把“行情”剥出来，做一个一屏小游戏（MVP 约 1-2 周）**
不要农场，只要行情：每天刷新一张价格表，你有一间仓库、一笔本金，低买高卖，仓库按容量收费。整个游戏就是一个表格加两个按钮。这是 Farmhand 核心机制的极限压缩，两周能上线，适合挂在网页上吃广告位，或者 itch 付费 1-3 美元验证付费意愿。数据全在本地，零后端。

**点子二：换题材——“倒爷模拟器”或“宠物市场”（MVP 约 2-3 周）**
行情机制换个皮就是新游戏：批发市场进货摆摊卖货是“倒爷模拟器”；宠物价格随全网玩家买卖波动、可以挂交易行，就是多人版。后者直接抄 Farmhand 的多人房间设计——不做实时操作同步，只同步价格，一个 Redis 就够。移动端 + 看广告刷新行情/扩容仓库，是这条路上被验证过无数次的广告变现组合。

**点子三：给种田加“真实时间”，做 PWA 挂机农场（MVP 约 3-4 周）**
照抄 Farmhand 的技术路线：作物按真实世界时间生长，PWA 安装到手机，离线也在长，推一条“你的麦子熟了”把人拉回来。题材可以本地化——阳台种菜、办公室多肉、外卖后厨，都对上摸鱼场景。变现走“观看广告加速生长”+装饰内购，模板成熟。

还有一条旁门灵感：Farmhand 把玩家拉进冒烟测试的流程值得所有独立开发者抄——发一个带复选框的 issue 模板，让核心玩家帮你测版本，测试成本变成社区运营，一举两得。

## 上手

- 仓库：<https://github.com/jeremyckahn/farmhand>
- 网页直接玩：<https://www.farmhand.life/>
- itch.io：<https://jeremyckahn.itch.io/farmhand>
- 多人架构博客：README 里有入口，讲透 API + Redis + 配对服务器的取舍

想入局种田品类的，先把行情那套数值表抄下来跑一跑；想学工程化的，这个仓库的 README 本身就是一份个人游戏开发的项目管理教材。

> [!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)
