🌻 设计文档小农场 · 野花笔记
← 全部文档/小农场/玩法

核心玩法

现行 #策划#核心玩法#规则 docs/小农场/核心玩法.md

一句话:一个越滚越大的农场,你只需要决定"买什么、种什么",剩下的它自己会长。

参照物是 Cookie Clicker 和点硬币游戏:玩家的输入极少,而且每个输入必然成功。

这一版修的是上一版"太轻"的问题

上一版把决策全砍了,结果种田变成了张皮——田里没有选择、没有过程,动物只是个刷新点。 这一版往回加,但只加一种决策:

永久生效、不需要回来管的决策。

"这块地种什么"就属于这种:选了就一直在种,不用浇水、不用收、不用管。 而"什么时候浇水""这株熟了没有"这类需要盯着屏幕的,一律不做。


一、先直接回答三个问题#

Q1:种田的话,我是不是应该能选种什么?怎么种?#

能选。田分成地块,每块地种一种作物。

  • 地块数量随设施解锁,从 3 块长到 24 块
  • 点一块地 → 弹出作物列表 → 选一种
  • 选完就不用管了:熟了自动收、收完自动补种

Q2:小动物怎么增加?作用是什么?#

动物住在设施里,会自己繁殖,作用是"替你点田"。

  • 怎么增加:买「鸡舍」就养鸡、买「养猪场」就养猪。动物上限跟着设施总数涨, 没到上限时每 5 秒自动出生一只(有破壳动画)
  • 作用:每只动物每秒替你点 0.05 下田。300 只动物 = 每秒 15 次自动点击
  • 手动点动物 = ×5 收益:想点的时候点,有惊喜;不想点,它们自己干

Q3:只靠点击玩家会很累,后期动物多了根本点不过来#

这正是动物存在的理由——它们是"自动点击器"。

实测(tools/sim/farm.mjs):

时刻 动物自动点击 ÷ 玩家手点
5 分 0.72×(玩家还是主力)
10 分 1.59×(动物追平)
30 分 3.04×
1 小时 3.56×
24 小时 4.32×

10 分钟之后玩家就可以松手了。 后期玩家点不点,收入只差 1.5 倍(第十节), 点击从"必须做的事"变成"想拿惊喜才做的事"。


二、三条轨道#

这是这一版最重要的结构。上一版的毛病是只有两条轨道(设施 + 点击), 而且两条都是"买得越多涨得越快",所以玩家只做了一个决策:买哪个。

现在拆成三条,每条管一件不同的事,互不重叠:

轨道 玩家决定什么 决定的频率 管什么
设施 买哪一个 一直(补货) 规模:涨多快
田地 这张棋盘怎么摆 每个季节一次(主要是冬天) 特性:往哪个方向涨
动物 不直接决定,跟着设施长 自动 谁在点:把点击自动化
        ┌──────────────┐
        │   设施(买)  │  决定规模 —— 15 档,越买越贵
        └──────┬───────┘
               │ 设施总数
       ┌───────┴────────┐
       ▼                ▼
  ┌─────────┐      ┌─────────┐
  │ 田地(摆)│      │ 动物(养)│
  │ 决定特性 │      │ 替你点田 │
  └────┬────┘      └────┬────┘
       │                │
       └───────┬────────┘
               ▼
        ┌──────────────┐
        │  基准点击力   │  ← 三条轨道全部锚在它上面
        └──────┬───────┘
               ▼
        总收入 = 设施 + 田地 + 动物 + 手点
为什么三条轨道要锚在同一个量上

上一版踩过的坑:点击和挂机是两条独立的指数曲线,增长率只要差一点就有一条通吃。 手劲涨价从 ×2.5 改到 ×2(只动一个数字),24 小时点击占比从 73% 翻到 97%。 现在三条轨道全部锚在「基准点击力」上,比值就不会漂。详细推导见第九节。


三、田地:一张会换季的棋盘#

这是这一版最大的改动,也是唯一的创新点。完整论证、失败实验和全部实测数据在 《创新点 · 会换季的棋盘》那份文档里;这一节只写规则。

一句话

田不是一排按钮,是一张 4×6 的棋盘。种什么不打紧,怎么摆、现在是什么季节才打紧。

3.1 棋盘#

  • 4 行 × 6 列 = 24 格。430px 宽的手机上 6 列正好一屏,不用横滚
  • 地块数 = 3 + √(设施总数 ÷ 2),封顶 24。开局 3 格,1 小时约 16 格,24 小时约 23 格
  • 格子从中间往外长(不是从左上角一行行填): ① 长出来的过程看得见;② 越往外扩邻居越多,排布能榨出的加成越多 (实测 3 格 1.81× → 24 格 3.87×,成长轴还在)
为什么是开方,不是线性

第一版写的是线性(每 8 个设施 +1 块),实测 10 分钟就顶到上限,田的成长空间没了。 开方之后地块一直慢慢长,"我的田在变大"本身就是一条贯穿全程的进度感。

3.2 没有尺子:收益型作物的基础产量全部相同#

类型 作物 每秒产出 解锁(设施数)
收益型 小麦 / 胡萝卜 / 洋葱 / 大豆 / 玉米 / 南瓜 1.00(完全相同) 0 / 10 / 30 / 50 / 80 / 110
收益型 冬小麦 1.00 200(唯一能越冬的收益作物)
功能型 草莓 / 三叶草 / 向日葵 / 水稻 0.50(减半,换乘数) 25 / 45 / 60 / 120
"所有作物一样强"是整套设计的前提,不是偷懒

上一版是"作物一路递增"(每秒 0.083 → 0.333,差 4 倍)。实测结论: 只要田里有一把"谁收益高"的尺子,相邻加成就只值 1.02×—— 24 格里最优解只有 4 格不是玉米,空间决策当场坍缩成零。把尺子拿掉,同一套规则值 4.07×。

于是"解锁新作物"的意义从"换更强的"变成"多一种搭配材料": 新作物一到,整张田要重新想一遍——这本身就是一条进度感,而且是别处没有的那种。

3.3 伴生配对:全部来自真实的间作套种#

双向加成、只认上下左右(不认对角线:玩家要能一眼数清邻居)。

配对 加成 现实依据
玉米 + 大豆 +80% 玉米大豆带状复合种植(国家推广的间作套种),豆子固氮、玉米给架
胡萝卜 + 洋葱 +70% 互相驱虫
水稻 + 三叶草 +60% 稻田绿肥
冬小麦 + 三叶草 +60% 越冬绿肥
小麦 + 三叶草 +55% 绿肥覆盖
草莓 + 三叶草 +50% 覆盖保湿
玉米 + 南瓜 +45% 「三姐妹」:南瓜爬地遮阴保墒
大豆 + 南瓜 +40% 三姐妹的第三条
向日葵 + 大豆 +40% 向日葵诱集害虫、给豆子当架
草莓 + 洋葱 +35% 洋葱驱虫保护草莓
玉米 + 三叶草 +35% 行间绿肥
小麦 + 大豆 +35% 麦豆套种
南瓜 + 洋葱 +30% 驱虫
胡萝卜 + 三叶草 +30% 覆盖保墒

每个作物有 2~5 个搭档——没有搭档的作物就是个废子,加新作物时要数一遍这条。

3.4 功能作物:产量减半,四个各管一条轨道#

作物 乘在哪儿 效果 上限(明牌)
草莓 田地 田地产出 +10% 3 块
三叶草 田地 生长速度 +12% 3 块
向日葵 动物 动物自动点击 +20% 4 块
水稻 离线 离线收益 +50% 2 块
  • 乘数按上限封顶:种超过上限的格子白种(只拿那 0.5 的产量)。上限直接写在作物卡上(草莓 2/3)
  • 实测按上限种满之后:田地 +66%、动物 +80%——"按上限种满"是个学得到的正确解,不是隐形墙
硬规矩:**功能作物必须能越冬**

第一版给它们做了"冬天趴窝"。跑出来冬天同时丢掉 产出 +30% 和 动物 +80%, 总产出直接掉两成——这就是断崖,玩家会觉得"我做错了"。 收益型作物可以趴窝(田空一半叫"结构变了"),功能作物不行: 它们给的是乘数,乘数断了整个经济都在抖。所以现在它们冬天照活,只是效率减半。

3.5 四季:每 8 分钟一季,一年 32 分钟#

季节 作物倍率 动物倍率 配对倍率 定位
春 ×1.00 ×0.95 ×1.00 播种季
夏 ×1.10 ×0.90 ×1.10 生长季
秋 ×1.25 ×1.00 ×1.20 丰收季,全年最高
冬 ×0.70 ×1.55 ×0.80 畜牧季,作物趴窝、动物顶上

作物适宜度(0 = 当季种不了,格子上明写"趴窝"):

作物 春 夏 秋 冬
小麦 1.00 0.80 1.30 0
胡萝卜 1.00 1.10 1.40 0.35
洋葱 0.90 1.20 1.40 0
大豆 0.90 1.30 1.10 0
玉米 0.90 1.40 1.40 0
南瓜 0.90 1.20 1.50 0
冬小麦 0 0 0.70 1.50
草莓 1.00 1.00 1.00 0.60
三叶草 1.00 1.00 1.00 0.70
向日葵 1.00 1.20 1.20 0.60
水稻 1.10 1.20 1.30 0.50

每年有三个不同的最优田(实测,tools/sim/board.mjs):

春夏  玉米 + 大豆 交错      秋  胡萝卜 + 洋葱 交错      冬  冬小麦 + 三叶草 交错
冬天不是惩罚,是**结构变了**

作物 ×0.70 看着像惩罚,但动物 ×1.55 顶上来,实测四季总产出是 0.78 / 1.00 / 1.07 / 0.82——一个平缓的波,没有断崖。 变的是收入结构:从"靠田"变成"靠动物"。 于是产生一条真正的跨季决策:冬天前要不要把向日葵种满?(每块 +20% 动物,冬天动物最值钱)

注意冬天不是最高的那一季。第一版把冬天调到 1.89 倍,结果玩家变成"等冬天", 其他三季变成陪衬,反而没有节奏了。

[!tip] 零操作怎么保证:不是要你盯着,是要你一年想一次 实测"不重排"的代价:春 1.01× / 夏 1.00× / 秋 0.98×(等于不用管)/ 冬 1/18.16(颗粒无收)。 也就是说真实的操作频率是"每 32 分钟动一次",而且那一次是"冬天来了"这种看得见的节点。

3.6 生长:有过程,但零操作#

每块地自己在跑一个循环:

播种 ──→ 幼苗 ──→ 成长 ──→ 成熟 ──→ 自动收获 ──→ 自动补种
  ↑                                                  │
  └──────────────────────────────────────────────────┘

玩家在这条链上要做的事:零。

  • 不用浇水、不用施肥、不用收割
  • 熟了自动飞进谷仓(有收获动画)
  • 收完自动种回同一种作物
"看得见的过程"和"不用管"不矛盾

上一版怕"太繁琐",把生长过程整个砍了,结果田里只有一堆永远在摇摆的静态作物—— 看着很忙,但没有任何变化。正确做法是:过程要看得见,操作要为零。 每块地有一个很细的生长进度环(在作物脚下),作物本身也会从小长到大。 玩家路过瞥一眼就知道"哦,快熟了",但永远不需要为了它停下来。

素材成本:每株作物只要两态——幼苗和成熟,中间用尺寸插值过渡。 docs/art/scene/crop-sprout.png 那张幼苗图所有作物共用, 所以 11 种作物要 11 张成熟图,现在只有 3 张(南瓜、胡萝卜、玉米)。

3.7 为什么这不是"一次性静态最优"#

上一版的诊断结论是"配牌是一次性静态最优化,所以没有技巧空间"。棋盘必须回答同一个问题:

  1. 地会长大:3 格 → 24 格,每开一格都要重新想"新格子放哪、要不要挪" (实测排布的价值从 1.81× 一路涨到 3.87×,没有饱和)
  2. 作物会解锁:新作物是新的搭配材料,不是"更强的种子",所以整张田的最优解会变
  3. 季节会换:春夏秋是同一套,冬天必须换(不换 = 1/18)

而且随机摆不出来:实测随机乱摆 1000 次,一次都没撞到最优的 95%; "随手改到不能改"的浅层玩家只拿到最优的 40%~60%——想清楚是有回报的。

但它不是义务:不重排只是少赚,春夏秋甚至不用管。这题是给想玩的人准备的,不是卡人的门槛。

四、动物:谁在点#

4.1 从哪来#

动物住在设施里。

设施 养什么
鸡舍 鸡
奶牛棚 奶牛
养猪场 猪
羊圈(果园后解锁) 羊
  • 上限 = 3 + 设施总数 ÷ 2,封顶 240 只
  • 界面明牌:鸡舍 12 / 18
为什么动物数量要跟着设施走

上一版是"每秒补 1 只,上限 30 只"——动物是个凭空刷出来的刷新点, 既没有来源,也没有去处,所以玩家问"小动物怎么增加出来"。 挂到设施上之后,动物就有了来处:你盖的棚越多,能养的动物越多。 而且买设施这件事立刻多了一层回报——不只是数字变大,田里真的多了几只动物。

4.2 作用:自动点击器#

每只动物每秒替你点 0.05 下田。

动物自动点击收益/秒 = 动物数 × 0.05 × (1 + 向日葵加成) × 基准点击力

这就是"后期不用点"的全部机制。实测动物自动点击 ÷ 玩家手点的比值:

时刻 比值 意思
5 分 0.72× 玩家还是主力,该点
10 分 1.59× 动物追平,可以松手了
30 分 3.04× 动物是主力
24 小时 4.32× 玩家点不点都行
这是"自动化",不是"让点击变废"

关键区别在于:玩家点,收益还是叠加在上面的,没有被替代。 24 小时实测:一直点 vs 完全不点,收入差 1.5 倍。 点击从"必须做的事"变成"值得做但不做也行的事"——这是增量游戏该有的曲线。

4.3 繁殖#

  • 每 5 秒,如果没到上限,自动出生一只
  • 有出生动画:一颗蛋 → 裂开 → 小动物跑出来
  • 到上限就停,界面显示 12 / 18
繁殖速度是第一版最大的一个坑

第一版写的是"每 25 秒 +1 只"。跑出来 30 分钟只养出 75 只, 动物压根追不上设施,玩家要到 2 小时才敢松手。 改成 5 秒之后,松手时间从 2 小时提前到 10 分钟。一个数字,差 12 倍。

4.4 手动点动物 = ×5#

  • 点田:基准点击力
  • 点动物:基准点击力 × 5

动物是会走动的,所以"点中它"本身就有点眼疾手快的乐趣。 这是惊喜,不是义务——不想点就看着它们自己干活。


五、设施:买哪个#

15 档,照抄 Cookie Clicker 的数值骨架。这是唯一一条会指数增长的轨道。

# 设施 基础价 每秒产出
1 菜地 15 0.1
2 鸡舍 100 1
3 奶牛棚 1,100 8
4 果园 12,000 47
5 麦田 130,000 260
6 养猪场 1,400,000 1,400
7 温室 20,000,000 7,800
8 风车磨坊 330,000,000 44,000
9 农贸市场 5,100,000,000 260,000
10 食品工厂 75,000,000,000 1,600,000
11 冷链物流 1,000,000,000,000 10,000,000
12 种子实验室 14,000,000,000,000 65,000,000
13 垂直农场 170,000,000,000,000 430,000,000
14 太空农场 2,100,000,000,000,000 2,900,000,000
15 云端农业帝国 26,000,000,000,000,000 21,000,000,000
  • 涨价:每个 ×1.15
  • 里程碑:每 25 / 50 / 100 / 150 / 200 个 ×2(满档 ×32),必须明牌
  • 进度条上直接写 再买 43 个 ×2

六、屏幕上有什么#

四块区域,从上到下:

┌──────────────────────────────────┐
│  417.00万  每秒 16.73万  🍂秋 2:41 │  ← 顶栏:总数 / 每秒 / 季节与倒计时
├──────────────────────────────────┤
│  ┌─┬─┬─┬─┬─┬─┐                   │  ← 田:4×6 棋盘,一格一种作物
│  ├─┼─┼─┼─┼─┼─┤    🐔   🐔        │     配对的相邻格子之间有绿线
│  ├─┼─┼─┼─┼─┼─┤    🐷             │     格子脚下有细生长环
│  ├─┼─┼─┼─┼─┼─┤    🐑   🐑        │     动物在田里走来走去
│  └─┴─┴─┴─┴─┴─┘                   │     田的颜色跟着季节变
├──────────────────────────────────┤
│ 菜地  107  ▓▓▓▓░░░ 再买 43 个 ×2 │  ← 设施列表
│ 鸡舍   93  ▓▓▓▓▓▓░ 再买  7 个 ×2 │     买得起的整行变绿
│ 奶牛棚 77  ▓▓▓░░░░ 再买 23 个 ×2 │
├──────────────────────────────────┤
│   [ 抽卡 · 3 张 ]  [ 图鉴 ]       │
└──────────────────────────────────┘

只有三个点击目标(符合「主界面概念 ≤ 3 个」):

  1. 点田 —— 主点击物,点哪一格都算点中
  2. 点动物 —— ×5 收益
  3. 点设施行 —— 买

外加一个「换作物」的入口:点某一格 → 弹出作物条(卡片上必须写清「和相邻的谁配对、加多少」)。

棋盘上的三处明牌,一个都不能少
  1. 每格自己的倍率(×4.52)——这就是「摆得好不好」的即时反馈
  2. 配对连线 + 加成数字(+80%)——让「为什么这一格值钱」看得见
  3. 功能作物的上限(草莓 2/3)——「再种一块就满」是明牌目标

没有这三处明牌,棋盘就变成「玩家只能去网上抄最优解」,那就白设计了。

[!warning] 这是第四个概念,必须处理 「选作物」严格说是第 4 个交互。处理办法是不给它独立的按钮: 它是点田的一个子动作(点空地 → 换作物;点作物 → 加收益), 所以玩家感知上还是「点田」,没有多学一个东西。

七、爽感是配方,不是感觉#

"好玩"要拆成可验收的参数。 每一行都能写进验收清单:

参数 目标 为什么
首屏无滚动 430×764 内放下全部核心信息 微信小游戏最常见的翻车点
点击响应 按下即有视觉反馈,≤ 16ms 超过一帧就能感觉到"黏"
飘字 每次点击蹦数字,1 秒内上浮消失 数字是唯一的多巴胺来源
连击 连续点击让飘字变大变色 免费的正反馈,零数值成本
收获动画 作物成熟时飞进谷仓 让"自动"这件事看得见
出生动画 动物破壳,不是凭空出现 让"养"这件事看得见
进度条 永远有一条"再买 N 个"在眼前 明牌的下一步
变绿 买得起的行整行变绿发光 用颜色代替文字提示
数字滚动 数字是滚上去的,不是跳上去的 让"涨"这件事有质感
这一整张表都依赖"结构稳定重绘"

旧版 render.js 每秒 innerHTML 重建整棵 DOM,后果是: 按压态每 1000ms 被重置、按住不存在、约 8%~15% 的点击静默丢失。 必须先修这个(零规则改动),否则上面每一条都做不了。


八、背景层:不需要玩家做任何事#

8.1 季节(天气已砍)#

规则在第三节 3.5,这里只说它在界面上的地位:季节是背景层,不需要玩家做任何事。

  • 田的颜色、光照、天空跟着季节变:春嫩绿 / 夏浓绿 / 秋金黄 / 冬覆雪
  • 顶栏挂着「还有 2:41 入秋」,让玩家有可以等的下一步
  • 冬天唯一需要动手的地方是换一次田(不换就颗粒无收),界面要明牌提示 (「这块地的玉米在冬天种不了」)
天气为什么被砍掉

原来是六种天气(阴天/小雨/阳光充足/大晴天/彩虹/丰收之光),加权平均 ×1.1375。 它和四季占的是同一个槽位(「环境倍率」),但纯随机、零决策、没有节奏感。 两者留一个就够,留四季。 这也是「创新点只能有一处」这条规矩的直接后果。

顺带:砍掉之后所有绝对值都比上一版小 1.1375 倍,比值不受影响。

8.2 抽卡#

三张卡,抽到即永久生效、零决策:

类型 效果
农具 点击力倍率
良种 设施产出倍率
沃土 全局倍率

抽到稀有组合(大丰收,5% 概率)给全局 ×3 的演出。 凑牌型已经砍了,只作为这次演出的背景保留。

8.3 金色小鸡#

  • 每 3~5 分钟刷一只,停留 8 秒
  • 点中三选一:
    • 疯长:全局产出 ×7,持续 77 秒
    • 快手:点击收益 ×777,持续 13 秒
    • 天降横财:min(900 秒产出, 15% 存款)
  • 保底:同一个效果不许连续出现两次(洗牌式取)

九、数值总式#

设施产出   = Σ( 设施数 × 基础产出 × 里程碑倍率 )          ← 指数增长

基准点击力 = 手劲倍率 × (1 + 设施总数 × 0.1)
           + 设施产出 × 6%                              ← 关键的一项,见下

玩家手点   = 基准点击力 × 全局倍率
点动物     = 玩家手点 × 5

田地产出   = 地块数 × Σ( 基准点击力 × 作物单轮产出 ÷ 作物周期 )
           × (1 + 三叶草生长加成)

动物点击   = 动物数 × 0.05 × (1 + 向日葵加成) × 基准点击力

总收入/秒  = ( 设施产出 + 田地产出 + 动物点击 ) × 全局倍率
             全局倍率 = 天气 × 暴走 × 草莓 × 抽卡

9.1 「设施产出 × 6%」是必需的,不是补丁#

原本的公式里,点击和挂机是两条独立的指数曲线,增长率只要差一点就有一条通吃。

实测(tools/sim/econ.mjs,24 小时,每秒点 5 下):

手劲涨价 点击 ÷ 自动 点击占总收益 24 小时设施数
×4 0.33 39% 661
×3 0.38 54% 710
×2.5 0.51 73% 810
×2 3.79 97% 1220

涨价从 ×2.5 改到 ×2(只动了一个数字),点击就从"补充"变成"唯一值得做的事"。 这是刀刃平衡,调参救不了。

结构性解法:把点击锚在设施产出上

加一项 设施产出 × 6%,点击就有了一个跟着经济走的下限:

玩家手点 ÷ 设施产出 ≈ 每秒点击次数 × 6%

每秒点 5 下 → 0.30。跟经济涨多快无关,全程不漂。 现在三条轨道都锚在「基准点击力」上,所以田地、动物、手点三者的比值也稳定。

[!warning] 手劲涨价必须 ≥ 2.5 倍 涨价倍率 ÷ 增益倍率(4 ÷ 1.5 ≈ 2.67)就是每级变贵多少。 低于 2.5 时它的回本时间好过任何设施,最优解变成"永远只买手劲"。定在 ×4。


十、实测节奏#

跑法:

node tools/sim/farm.mjs --hours 24 --policy mixed

三条轨道的模拟器。贪心策略(永远买回本最快的),跑 15 次取中位数。

10.1 三条轨道的配比#

时刻 每秒总产出 设施 田地 动物 手点 手点占比
1 分 24.0 3.9 2.4 1.8 15.9 67%
5 分 1,331 424 119 330 458 34%
10 分 3.38 万 1.41 万 3,268 1.01 万 6,368 19%
30 分 14.47 万 5.00 万 1.39 万 6.08 万 2.00 万 14%
1 小时 33.08 万 10.90 万 3.26 万 14.78 万 4.15 万 13%
4 小时 271.51 万 87.28 万 30.54 万 124.80 万 28.89 万 11%
24 小时 3,405.83 万 1,096.70 万 486.45 万 1,480.07 万 342.61 万 10%

24 小时的形状:设施 32%、动物 43%、田地 14%、手点 10%。

动物成为最大的一块,这正是设计意图——自动化接管,玩家解脱。

10.2 玩家到底能不能松手#

这是这一版最该盯的指标:

时刻 一直点 完全不点 倍数
5 分 1.59 万 5.1 3118×
30 分 13.19 万 1,893 70×
1 小时 33.33 万 1.99 万 16.7×
4 小时 307.47 万 67.38 万 4.6×
24 小时 3,675.83 万 2,443.24 万 1.5×
72 小时 2.15 亿 1.64 亿 1.3×
"3118 倍"看着吓人,其实是"落后 4 分钟"

数字是指数缩放的,直接读会误判。换算成时间才看得懂: 不点的玩家在 5 分钟时的水平,点的玩家大约 40 秒就到了——落后 4 分钟。

而且倍数一路收敛到 1.3~1.5 倍。意思是: 点击给一个永久约 1.4 倍的优势,不是无限优势。 前期必须点(那是点击器游戏该有的开局),后期点不点都行。

10.3 设施解锁时刻#

# 设施 解锁 # 设施 解锁
1 菜地 2 秒 6 养猪场 11.6 分
2 鸡舍 48 秒 7 温室 47.5 分
3 奶牛棚 3.6 分 8 风车磨坊 2.8 小时
4 果园 5.0 分 9 农贸市场 9.3 小时
5 麦田 11.5 分 10+ 食品工厂以后 天计

前 6 档挤在 12 分钟里是故意的——第一次打开必须几分钟内看到"这东西在变多"。

10.4 功能作物到底值不值得种#

种法 24 小时每秒产出
全种收益作物 1,788.50 万
功能作物按上限种满 3,528.78 万

1.97 倍。 取舍成立。

24 小时末的地块构成:草莓×3 三叶草×3 向日葵×4 水稻×2 玉米×11, 加成合计 产出 +30% / 生长 +36% / 动物 +80% / 离线 +100%。


十一、开局 5 分钟#

时刻 发生什么 为什么
0:00 直接进主界面。田里已经有 3 块地种着小麦,3 只鸡在走。顶栏 0。没有教程弹窗 点硬币游戏的第一屏就是全部教学
0:03 第一下点击:蹦出作物飞进谷仓、飘字 +1、粒子炸开、连击开始 第一下必须有全套反馈
0:15 攒到 15,「菜地」行自己变绿发光 不写"你可以买了",用颜色说话
0:20 买下第一块菜地。顶栏「每秒」从 0 变成 0.1 ★ 全游戏最重要的一秒:第一次看到数字自己在涨
0:48 攒到 100,解锁「鸡舍」。田里真的多出几只鸡 设施 → 动物的因果要看得见
1:30 第一条里程碑进度条出现:再买 25 个 ×2 明牌的下一步
3:00 设施 ~20 个,每秒 ~3 从"必须点"到"点更快"的转换点
5:00 地块 8 块,动物 15 只,每秒 1,331。第一只金色小鸡刷出 3~5 分钟的间隔正好落在这
10:00 动物自动点击追平玩家手点,玩家可以松手了 这是本作的"自动化时刻"
开局不许有任何需要读字的界面

前 5 分钟屏幕上只有三个数字(总数、每秒、每点)和一行会自己变绿的按钮。 唯一需要读字的操作是"选作物",而它到设施 25(约 3 分钟)才出现。


十二、主界面#

小农场 · 主界面(可以直接点)
这不是效果图,是能点的

点田会蹦作物、飘字、数字往上涨;列表里变绿的行点一下就买; 连击会让飘字变大变金色。

竖屏 430×764 的空间账(实测):

区域 高度 内容
顶栏 89px 总数 / 每秒 / 每点 / 天气
田 268px 作物 + 动物 + 生长环
设施列表 剩余(显示 8 行) 名称 / 数量 / 里程碑 / 价格
底栏 60px 抽卡 / 图鉴

首屏无滚动,列表内部滚。 不做分页、不做折叠—— 分页会让"再买 N 个 ×2"这条明牌时不时看不见,而它是攒钱的唯一动力。


十三、第二天为什么回来#

钩子 做法 为什么有效
离线收益 上限 4 小时。回来弹结算面板:「你不在的 3 小时 12 分,农场赚了 X」,下面一个「看广告 ×2」 第二天回来唯一的直接理由,必须做得最大最亮
明牌里程碑 主界面永远挂着一条 再买 N 个 ×2 随时回来都有一个"就差一点"的下一步
作物上限 向日葵 2/4 挂在作物卡片上 又一个"就差两块"
每日首抽 每天第一次进入送 1 张抽卡券 零成本的一天一次理由
金色小鸡 3~5 分钟一只,点中三选一 让"挂着"也有值得盯的东西
不做每日任务、不做签到日历

那两个会往主界面塞进"第四、第五个概念",违反"概念 ≤ 3 个"。 增量游戏的日活本来就不是靠任务撑的,是靠"数字还在涨"。


十四、明确砍掉的东西(不许加回来)#

砍掉的 为什么
凑牌型 / 牌型表 一次性静态最优化,没有技巧空间
卡槽 / 配牌 同上
四层相乘 全局乘碾压局部乘,取舍是假的
看动物下菜(需要判断的点击) 违反"每次点击必然成功"
天气惩罚(暴雨减产之类) 违反"零失败"
手动浇水 / 施肥 / 收割 需要盯着屏幕,违反"决策要永久生效、不用回来管"
连作障碍 / 地力衰减 同上:会强迫玩家定期回来轮作
作物枯萎 / 过期 违反"零失败"
每日任务 / 签到日历 违反"主界面概念 ≤ 3 个"
一条判断标准

想加任何东西之前先问:"它需要玩家盯着屏幕吗?" 需要 → 砍掉。不需要但能看见 → 加。 "看得见的过程"和"必须做的操作"是两回事,这一版整篇都在处理这条界线。


十五、可以直接抄进配表的数#

{
  "facilities": {
    "costGrow": 1.15,
    "milestones": [25, 50, 100, 150, 200],
    "milestoneMul": 2,
    "list": [
      { "name": "菜地", "cost": 15, "cps": 0.1 },
      { "name": "鸡舍", "cost": 100, "cps": 1 },
      { "name": "奶牛棚", "cost": 1100, "cps": 8 },
      { "name": "果园", "cost": 12000, "cps": 47 },
      { "name": "麦田", "cost": 130000, "cps": 260 },
      { "name": "养猪场", "cost": 1400000, "cps": 1400 },
      { "name": "温室", "cost": 20000000, "cps": 7800 },
      { "name": "风车磨坊", "cost": 330000000, "cps": 44000 },
      { "name": "农贸市场", "cost": 5100000000, "cps": 260000 },
      { "name": "食品工厂", "cost": 75000000000, "cps": 1600000 },
      { "name": "冷链物流", "cost": 1000000000000, "cps": 10000000 },
      { "name": "种子实验室", "cost": 14000000000000, "cps": 65000000 },
      { "name": "垂直农场", "cost": 170000000000000, "cps": 430000000 },
      { "name": "太空农场", "cost": 2100000000000000, "cps": 2900000000 },
      { "name": "云端农业帝国", "cost": 26000000000000000, "cps": 21000000000 }
    ]
  },

  "plots": { "base": 3, "growSqrtDiv": 2, "max": 24 },

  "crops": [
    { "name": "小麦",   "unlock": 0,   "cycle": 12,  "yield": 1,   "kind": "yield" },
    { "name": "胡萝卜", "unlock": 10,  "cycle": 40,  "yield": 6,   "kind": "yield" },
    { "name": "南瓜",   "unlock": 30,  "cycle": 120, "yield": 30,  "kind": "yield" },
    { "name": "玉米",   "unlock": 80,  "cycle": 360, "yield": 120, "kind": "yield" },
    { "name": "草莓",   "unlock": 25,  "cycle": 10,  "yield": 0.4, "kind": "global",  "bonus": 0.10, "cap": 3 },
    { "name": "三叶草", "unlock": 45,  "cycle": 20,  "yield": 2,   "kind": "growth",  "bonus": 0.12, "cap": 3 },
    { "name": "向日葵", "unlock": 60,  "cycle": 90,  "yield": 12,  "kind": "animal",  "bonus": 0.20, "cap": 4 },
    { "name": "水稻",   "unlock": 120, "cycle": 300, "yield": 90,  "kind": "offline", "bonus": 0.50, "cap": 2 }
  ],

  "animals": {
    "base": 3,
    "perFarm": 0.5,
    "max": 240,
    "breedSec": 5,
    "peckPerSec": 0.05,
    "tapMul": 5
  },

  "click": {
    "strengthCostBase": 200,
    "strengthCostGrow": 4,
    "strengthPerLevel": 1.5,
    "perFarm": 0.1,
    "cpsSync": 0.06
  },

  "weather": [
    { "name": "阴天", "p": 0.30, "mul": 1.00 },
    { "name": "小雨", "p": 0.20, "mul": 1.05 },
    { "name": "阳光充足", "p": 0.20, "mul": 1.15 },
    { "name": "大晴天", "p": 0.15, "mul": 1.25 },
    { "name": "彩虹", "p": 0.10, "mul": 1.35 },
    { "name": "丰收之光", "p": 0.05, "mul": 1.50 }
  ],

  "golden": {
    "minGapSec": 180, "maxGapSec": 300, "staySec": 8,
    "frenzyMul": 7, "frenzySec": 77,
    "clickFrenzyMul": 777, "clickFrenzySec": 13,
    "jackpotSec": 900, "jackpotPct": 0.15
  },

  "offline": { "maxHours": 4, "adDouble": true }
}

十六、待办#

16.1 代码#

  • P0:修结构稳定重绘(骨架只在页签/设施变化时重建,每秒只改文本和类名)。 第七节整张表都依赖它。
  • P0:全局按压态 + 音效系统(js/ui/sfx.js)+ 数字滚动。
  • P1:田的渲染——24 块地、生长环、两态作物、自动收获动画。
  • P1:作物选择面板(点地块弹出,卡片上明写效果和上限)。
  • P1:动物——行走 + 破壳出生动画 + 自动点击结算 + 点中 ×5。
  • P1:设施列表(15 行,明牌里程碑,买得起的整行变绿)。
  • P1:离线结算面板 + 广告加倍。
  • P2:抽卡(三类卡 + 大丰收演出 + 金色小鸡洗牌保底)。
  • P2:声望(对数给点 + 不少于上次)。

16.2 美术#

  • 作物要有幼苗 + 成熟两态。现在有南瓜 / 胡萝卜 / 玉米 / 幼苗 4 张, 还差小麦、草莓、三叶草、向日葵、水稻 5 张。
  • 动物要能拆(头 / 身体 / 四肢分开出图,关节留 5% 重叠边,标轴心)—— 现有的 4 只动物是"一坨",只能靠连续变形做走路,做不了破壳和吃草。
  • 15 个设施图标已经画好,还没切(切法见 tools/art/cut_assets.py)。
  • 金色小鸡要有和普通小鸡拉开轮廓的版本,不能只是换色。

十七、仍未定#

  • 游戏名。候选:《小农场》《咕咕农场》《口袋农场》《开心小农场》。 仓库目录和 git remote 还叫 night-market-incremental,改名要一起动。
  • 选作物要不要做成"拖拽种植"(拖到地块上),还是点一下弹列表。 现在是点一下弹列表(更省事),但拖拽更有"种下去"的手感。
  • 动物要不要吃作物。如果动物靠近成熟的作物会去吃(顺带加速那块的收获), 画面会更有生气,但会引入"动物和作物互相影响"的复杂度。暂时不做。
  • 第 4→5 档设施的间隔(上一版是 12 秒)在改完作物之后变成 3.9 分钟,问题自然消失了。