人气
人气决定有多少顾客上门。每位顾客按各店在其所属群体中的人气加权随机选店(见顾客如何选店与点单)。一家店的人气不是一个数,而是每个群体各有一个:你完全可能是某个群体的首选,却被另一个群体无视。
公式
人气 = 店主系数 × (0.6 × 最佳² + 0.3 × 评分² + 0.1 × 菜单系数 + 0.01 × 店铺等级 + 0.1 × 舒适度)
| 项 | 含义 | 最多贡献 |
|---|---|---|
最佳 | 菜单上对该群体满意度最高的那道菜(0–1) | 0.6 |
评分 | 店铺的评价得分(0–1) | 0.3 |
菜单系数 | 菜单有多充实(见下文) | 0.1 |
店铺等级 | 1 到 5 级 | 0.05 |
舒适度 | 店铺整体舒适度(0–1) | 0.1 |
店主系数是一个随店铺归属而定的倍率。我们没有建模它的具体数值,当作固定值即可。
最佳菜最关键
权重最大的一项只看对该群体最好的那一道菜,而且是平方。平方意味着分数越高,回报越大:
| 最佳菜满意度 | 0.6 × 最佳² |
|---|---|
| 70 | 0.29 |
| 80 | 0.38 |
| 90 | 0.49 |
| 100 | 0.60 |
把某个群体的最佳菜从 80 分提到 100 分,收益比菜单系数和舒适度同时拉满还要多。最快的办法通常是凑本地偏好标签(每个 +10),因为没有偏好的菜最高只有 90 分。见菜品满意度详解。
菜单系数
菜单系数 = clamp(菜单道数 × 0.3 × (同时有菜和饮品时 × 1.3), 0, 1)
| 菜单 | 菜单系数 |
|---|---|
| 1 道菜 | 0.30 |
| 3 道菜,无饮品 | 0.90 |
| 4 道菜,无饮品 | 1.00 |
| 1 道菜 + 1 杯饮品 | 0.78 |
| 2 道菜 + 1 杯饮品 | 1.00 |
三道以上、至少有一杯饮品,这一项就满了。菜单更长另有好处(分散库存和订单),但对这一项没有帮助。
评价得分
评分项是由店铺评价算出的 0–1 分数。按我们对游戏代码的理解,它是评价的加权平均:越旧的评价权重越低,每往前一条乘以 0.93。这个平均值再换算成 3 星对应 0.5、5 星对应 1.0;评价数量少的时候,结果会被拉向 0.5:
评价得分 = 0.5 + (1 − e^(−评价数 ÷ 20)) × (加权平均星级 − 3) × 0.25
所以新开的店从中间值起步,最近的评价影响最大:一天经营不善,人气掉得很快;连续几天表现好,回升也很快。
怎样提高人气
- 给每个群体一道招牌菜。用本地偏好和适合该群体的价格,把它推向 100 分。
- 菜单至少三项,并包含一杯饮品。
- 提高星级。星级会进入评价得分,见评价星级。
- 提升舒适度。它既算在人气里,也算在每条评价里。
- 人气是相对的。顾客在可到达范围内的几家店之间挑选,人气其实就是你在附近客流里分到的份额。附近竞争店对同一群体有好菜,就会分走你的顾客。
人气只在游戏运行时计算,不保存在存档里。网站能用存档重新算出满意度,但显示不了实时人气。