数据来源
游戏雷达通过多条管线采集信号并发现游戏,每条管线有独立的节奏和用途:
YouTube Gaming 热门榜(4H)
美国区 Gaming 分类 Top 50 视频。每游戏播放量差值、视频数、趋势分。快照榜单的数据源。
Google 联想词(4H)
对头部候选查自动补全:英文五意图(裸词/攻略/wiki/配装/技巧)+ 中文两意图。喂给关键词机会,也是 v4.2 的中文需求分量(联想词须同时含游戏名与中文字符才计数)。
Steam(4H 统计 / 12H 全量扫描)
每 4H:头部候选的在线玩家数、评测数、评测速度(评测/天)、价格、标签。每 12H:coming-soon 与新发行全量扫描——雷达新游戏发现的的主力来源。通过 steam_app_id 挂接。发行日 ±14 天内的应用每 4H 持续刷新——包括 coming_soon 标记尚未翻转的深尾应用,发行当天的玩家数据不会漏。
YouTube 评论区(12H)
每游戏热门视频,提取痛点(看不懂/怎么操作/报错/求推荐)。可配置 LLM 增强关键词矩阵。
SERP 竞争雷达(12H)
按查询词取 Top 10 结果。查询词来自该游戏按需求代理排序的头部关键词(类型模板兜底),生产环境每游戏上限 3 词。域名分类(Fandom / Game8 / 官方 / 论坛 / 低权重站 / GuideWiki 类)。缺口分 0–100。
域名检查(12H)
对 BUILD_NOW / WATCH 头部游戏查精准匹配 .com 可注册性(Verisign RDAP):{slug}guide.com 与 {slug}wiki.com,7 天缓存。喂给「域名窗口」标注。
发现层(12H)
Roblox explore 榜、The Playlin 网页游戏周榜、App Store RSS 新应用榜、itch.io /games/newest(独立游戏 / Game Jam 早期信号,数据中心 IP 被 CF 拦时用 jina reader 兜底)、维基百科发行日历——各自补充 YouTube 榜单覆盖不到的游戏(浏览器、网页、移动端、独立游戏与 Steam 深尾)。
Google Trends / Reddit(当前被封)
采集器已接入但当前被限流(Trends 429、Reddit 403)。相关指标为 null 且不参与评分——缺失从不按 0 处理。
区域和分类可通过环境变量配置。
API 配额与限制
外部 API 有使用限制。系统按操作跟踪配额并优雅处理耗尽:
YouTube Data API v3
每日配额:10,000 单位。操作成本:list=1,search=100,commentThreads.list=1。太平洋时间午夜重置。配额耗尽时采集停止直到重置。现有榜单仍可见但变旧。
Steam API
无严格配额,但有限流。12H 采集间隔防止触及限制。高峰负载时玩家数和评测数据可能延迟数小时。
SERP 数据源
使用 DuckDuckGo lite(免费,无需 API key)。按 IP 限流:查询间限速、每游戏查询数上限(生产 3 词)、连续失败触发熔断器(跳过批次剩余)。Bing 解析器保留在代码库但已停用——数据中心 IP 从 Bing 只能拿到降级壳页。
配额监控:仪表盘显示 API 配额状态(已用/剩余)。使用量超过 80% 或 95% 阈值时触发告警。
采集频率
不同数据源有不同的更新节奏:
YouTube Gaming 热门榜(每 4 小时)
UTC 00:00、04:00、08:00、12:00、16:00、20:00。生成 collection_snapshot 记录。幂等——同一时间段 + 区域只产生一个快照。
发行日期回填 / 联想词 / Steam 统计(每 4 小时)
回填紧跟榜单采集——新发现的游戏当轮就补上发行日期;随后是 Google 联想词探查与头部候选的 Steam 统计。
全量扫描 / SERP / 域名 / 发现层 / 评论(每 12 小时)
Steam 全量扫描、SERP 竞争雷达、域名检查、发现层(Roblox / Playlin / App Store / itch.io / 维基日历)、YouTube 评论区与关键词管线每天运行两次,避免 API 限流并降低服务器负载。
机会分引擎(每 4 小时)
每次 YouTube 榜单采集后重新计算(12H 周期里 SERP 与域名检查跑完还会再算一次)。使用各数据源的最新可用数据——如果 12H 源尚未运行,则使用其上一次快照。
当日发行深入研究(每 4 小时)
4H 周期里紧跟评分引擎之后:当日(UTC)发行且攻略需求前三档的游戏逐个跑 LLM 深研——每日上限 12 款、每游戏每日一条幂等。产出驱动当日发行页。
总计:YouTube 榜单约 6 次/天,12H 管线约 2 次/天。
数据缺失处理
当某个数据源缺失或不可用时,系统优雅处理:
Steam 数据缺失:游戏仍出现在榜单,但 Steam 相关指标(玩家数、评测、价格)显示为 null。机会分引擎排除缺失分量并重新归一化权重。发行日当天指标可能仍为空:Steam 按太平洋时间 17:00 解锁发行,之前玩家数端点返回空——这是数据真空,不是真实零。
Google Trends 被限流:已接入但当前 429 限流。趋势兴趣指标为 null。引擎仍使用其他数据源工作。
Reddit 被封:当前 403 被封。Reddit 发帖数和强度指标为 null。引擎从需求计算中排除 Reddit。
SERP 未采集:竞争缺口分为 null。影响 15% 的竞争分量——其他 85% 仍有效。
YouTube API 配额耗尽:采集停止直到配额重置(太平洋时间午夜)。榜单变旧但不消失。
动态权重归一化:如果某分量为 null,其权重按比例重新分配给可用分量。例如:如果 SERP(15%)缺失,剩余 85% 缩放到 100%。
保存哪些数据
每个视频仅保存分析所需的字段:
MVP 阶段不保存点赞数、评论数、描述、标签等。
追踪播放量 ≠ YouTube 总播放量
追踪播放量(Tracked Views)是我们抓取到的约 50 个热门视频中,属于该游戏的所有视频的播放量之和。它不是该游戏在 YouTube 上的总播放量。
例如:如果热门 50 中有 3 个 Scarlet Skips 视频,播放量分别为 40万 + 18万 + 15万,则追踪播放量 = 73万。
游戏识别
YouTube 返回的是视频,我们分析的是游戏。解析器通过 4 级优先级将视频标题映射到游戏名称:
- 词典匹配 — 精确匹配已知游戏名称(置信度 1.0)
- 别名匹配 — 如 "wukong" → "Black Myth: Wukong"(置信度 0.9)
- 规则提取 — 模式匹配:"GameName Gameplay"、"GameName - Boss Fight"(置信度 0.6-0.7)
- 未解析 — 无法匹配,数据保留供后续重新处理
"This Game Is Insane"、"Best Game Ever" 等泛化标题会被过滤掉。
4H / 24H 差值计算
对每个游戏,在容差窗口内寻找最近的历史快照:
4H 差值
窗口:3.5h – 4.5h 前
找不到 → null
24H 差值
窗口:23h – 25h 前
找不到 → null
增量 = 当前播放量 - 上次播放量
增长率 = 增量 / max(上次播放量, 1)
新游戏发现
游戏被标记为 NEW,当雷达在过去 24 小时内首次捕捉到它——从 firstSeenAt(Game Radar 首次在 YouTube Gaming 快照中捕捉到该游戏的时间戳)开始计时。
⚠️ 「新发现」≠「新发行」
这是雷达发现时间,不是游戏发行日期。一款几个月甚至几年前发行的游戏,如果今天首次冲上 YouTube Gaming 热门榜,也会显示为 NEW 24 小时。
例子:一款 2024 年的游戏突然在 YouTube 爆火,今天上榜——它仍会被标记 NEW 24 小时;但首页「新发现游戏」表套用与今日机会榜相同的 1 天发行窗口,确知上线超 1 天的游戏不再出现在该表中。NEW 徽标本身(详情页、24H 统计卡)不受影响。
三种生命周期状态(按优先级):
首次发现 ≤ 24 小时。雷达此前从未见过这款游戏。
曾经在榜、掉榜、现在又回来了。优先级高于 NEW——雷达已经认识这款游戏。
已在榜且势头上升:4H 播放增量 > 0 且增长率 ≥ 20% 且趋势分 ≥ 60。
趋势分 Trend Score(0–100)
衡量游戏的短期热度爆发力。分数越高 = 越火。
速度分 Velocity Score(50%)
基于 4H 正播放量增量。使用 log 归一化处理不同量级:
velocity = min(100, log10(1 + 增量) / log10(1 + 1000万) × 100)4H 增长 1000 万播放 ≈ 100 分
视频增长分 Video Growth Score(20%)
≤ 0 新视频 → 0 | +1 → 40 | +2 → 60 | +3 → 80 | ≥ +4 → 100
无历史数据 → 50(中性默认值)
持续分 Persistence Score(20%)
过去 6 个快照(24H)中出现了多少次:
持续分 = 出现次数 / 6 × 100新游加成 New Game Bonus(10%)
首次发现 ≤ 24h → 100,否则 → 0
SEO 机会分(v1 遗留,0–100)
遗留公式:仅用于快照榜。主榜「今日机会榜」使用 v2 机会分引擎(见下方)。首页「SEO 机会」表沿用 v1 分,但已套用与今日机会榜相同的 1 天新鲜窗口——确知上线超过 1 天的游戏从表上滑落。
评估为该游戏做 SEO 攻略站的价值。不是 Google 搜索量。
新游分 New Game Score
≤ 24h → 100 | ≤ 72h → 60 | > 72h → 20
内容覆盖 Content Spread
1 个视频 → 20 | 2 → 40 | 3-4 → 70 | ≥ 5 → 100
视频越多 = 内容扩散越广,不是单一爆款
机会分引擎(v2,0–100)
主榜「今日机会榜」使用五分量引擎。某候选缺失的分量被排除,权重动态归一化到 100%。批内跨游戏百分位排序。榜上只展示确知上线不超过 1 天、未上线、或发行日期未知的游戏——确知上线超过 1 天的会从榜上滑落。v4.2 流量保底:需求分进入批内顶档(≥ 90)的游戏豁免动量/时机/机会分的数值门槛——信号爬坡慢的大流量游戏不再被误杀(硬门槛仍生效:大流量救不了不需要攻略的游戏)。
需求分(30%)
七子信号、相对权重,按该游戏在场的源归一化(被封的源把权重让渡给其余源,而不是拉零分):创作者覆盖 0.20 · Steam 在线 0.25 · Steam 评测 0.20 · YouTube 播放 0.20 · Google Trends 0.25 · Reddit 发帖 0.10 · 中文联想需求 0.15(v4.2——zh-CN 下同时含游戏名与中文字符的联想词数;仅覆盖头部候选,其余缺席不惩罚)。批内百分位加权平均。
动量分(25%)
两时间桶:4H 桶(35%):YouTube 播放增长、创作者视频、Steam 玩家增长。24H 桶(35%):YouTube 24H 增长、Steam 评测速度、Trends 7 天变化、Reddit 强度。缺失信号退出,桶权重归一。
SEO 契合(20%)
类型先验(RPG/魂类/生存/开放世界 = 90、沙盒/模拟/合作/Roguelike = 85、策略/FPS = 80、Roblox = 75、恐怖/动作/冒险 = 70、格斗 = 60、解谜 = 55、体育 = 50;未知类型默认 60)。仅是先验信号——SERP 真实数据接入后权重降低。
竞争缺口(15%)
SERP 规则分(0–100)。越高 = Top 10 中弱竞争对手越多(blogspot/未知域名、标题无游戏名精确匹配)。不做百分位归一——绝对分跨游戏有意义。v4.2:专业攻略站(Fandom / Fextralife / wiki.gg / Game8 / GamePressure / GamerGuides / NeoSeeker / StrategyWiki)占位显式扣分——进 Top 3 每词 −15,仅靠后位 −5——它们是攻略站必须直接赢下的同形态对手。
时机分(10%)
距发行日天数。峰值区:发行前后 ±7 天。发行倒计时和发行后衰减用分段线性建模。未知发行日期 → 中性 50。
生命周期
首次发现 ≤ 24 小时
同时满足:4H 播放增量 > 0 且 4H 增长率 ≥ 20% 且 趋势分 ≥ 60
上一槽不在榜、本槽回到榜上、且更早出现过
其余所有情况
机会状态
基于 v2 机会分引擎(非 v1 SEO 分)。四档:
未触发任何硬门槛,且(机会分 ≥ 80 且 动量分 ≥ 70 且 时机分 ≥ 85,或 v4.2 流量保底:需求分 ≥ 90)
高需求 + 强动量 + 有利发行窗口 = 立即建攻略站;大流量游戏信号爬坡慢也不误杀
机会分 ≥ 60
不错但尚不急——持续监控
动量分 ≥ 70 但需求信号少于 2 个来源
动量强但数据不足——先研究,采集更多信号再决策
其余所有情况
信号不足以证明值得行动
决策层规则(v3.7–v4.1)
五分量总分之外,以下规则组决定你在榜单和详情页上看到的东西:
预发行模式(发行前 4–90 天)
距发行 4–90 天时分量权重切换:需求 30% → 20%、SEO 契合 20% → 25%、时机 10% → 20%。发行前搜索量还没长出来,类型先验与发行窗口占更高权重。超过 90 天不切换——远期雾件不享受前置加成。
硬门槛(机会分封顶)
单个维度太差不许被总分拉平。攻略必要性不足(Guide Score < 40)→ 封顶 64;内容深度不足(< 35,撑不起独立站)→ 封顶 69;SEO 空间枯竭(SEO Score < 35 且需求 < 30)→ 封顶 60。封顶值全部落在「持续关注」带内——游戏仍可观察,但到不了「立即建站」。v4.2 流量保底只豁免数值门槛,不豁免硬门槛。
A–E 等级与优先指数
每个评分游戏拿到一个等级,对应建站投入建议:A ≥ 85 全站 · B ≥ 75 MVP · C ≥ 65 试做 · D ≥ 50 观察 · E 跳过。置信度(0–1)度量数据完整度(需求源 40%;动量/SERP/发行日期/攻略证据各 15%);优先指数 = 机会分 × 置信度。
产品模型与窗口标注(v4.0 / v4.1)
v4.0 新增工具/数据库/发行三路机会分与自动判定的产品模型(攻略站/数据库站/工具站/组合),附 MVP 工具推荐——以榜单徽章和详情卡展示。v4.1 新增两个纯标注维度:热度窗口(7 天滚动创作者视频动量比:≥ 1.5× 强升、≥ 1.2× 上升、0.75–1.2× 平稳、< 0.75× 衰退 = 追尾风险)与域名窗口(精准匹配 .com 仍可注册 = 生态无人占位)。标注不进评分公式,等回测后再定。
TPR 立项复核——第二道闸口(v4.2)
「立即建站」是雷达的建议,不是最终命令。立项之前,把游戏再过一遍 TPR(流量/竞品比)复核——单款游戏的 go/no-go 检查,与雷达裁决交叉对照:
公式:TPR = 预估月搜索量 ÷ SERP 首页独立攻略站数。搜索量 = Steam 愿望单 × 0.03–0.08(均值 0.05),查不到愿望单时用 Steam 关注者 × 9–12。
TPR 分带:> 5 万 ⭐⭐⭐⭐⭐ · 2–5 万 ⭐⭐⭐⭐ · 1–2 万 ⭐⭐⭐ · 5 千–1 万 ⭐⭐ · < 5 千 ⭐——基础分 85 / 72 / 57 / 45 / 30,再叠加加减分。
绝对流量保底:预估月搜 > 10 万 → 即使 20 个竞品也强制「强烈推荐」;> 5 万 → 至少「推荐」。
加减分(±):发售前 7–30 天 +15 · 抢先体验 +10 · 攻略友好品类 +10 · 线性/轻解谜 −5 · 薄 AI 站生态 +10 · 已有深度人工 Wiki −10 · 中文搜索需求 +10。
自动填充:Steam App ID(库内 → 实时商店搜索兜底)、竞品站数(7 天内新鲜 SERP → DDG 实时探查兜底)、中文需求、品类、发售窗口、EA 标记,以及雷达状态供对照。
人工输入:愿望单——Steam 无公开愿望单 API,页面会生成 SteamDB charts 直达链接,查到数字填进来。
裁决:≥ 80 强烈推荐 · 65–79 推荐 · 50–64 可以做 · 35–49 勉强 · < 35 坚决排除。与雷达状态并排展示——两道闸口不一致时,立项前先查明原因。
当日发行页——发行日历与深入研究
/releases 页是一张发行日历:UTC 当日已知发行的全部游戏,按攻略需求分档排名。与今日机会榜刻意互补——机会榜是 1 天新鲜窗口过滤后的评分池,本页是当日发行的全量日历。
口径:发行日期精确等于页面日期(day 精度,UTC)。月/年精度无法钉到某天不入本页;未知日期走今日机会榜口径。?date=YYYY-MM-DD 可回看任意一天——发行后 1–2 天回看尤其有用,届时攻略意图证据已积累。
攻略需求五档:极强 ≥ 80 · 强 ≥ 65 · 中强 ≥ 50 · 中 ≥ 35 · 弱 < 35;完全无评分行才「未定级」。档位依据分 = 攻略意图代理分(创作者攻略型视频占比 + 社区主题词数),已采集时始终优先(哪怕 0 分);发行当日该证据普遍未积累(创作者发行后才发攻略),缺失时以引擎整体需求分暂定档位。
深入研究(前三档):4H 管线步骤(紧跟评分引擎)对当日前三档逐个跑 LLM。输入只用已采集证据——引擎分数、联想意图计数、SERP 缺口、竞对域名、发行平台。输出结构化研判:目标玩家地区、攻略必要性、SEO 判断、竞对摘要、风险,以及与引擎等级并排展示的 BUILD_NOW / WATCH / IGNORE 建议(分歧高亮——正是值得人工过一遍的案例)。LLM 只归纳证据、不编造数值,研判绝不回写评分。
预算与重试:每 UTC 日上限 12 款,按档位依据分从高到低截断,余量在页面明说。每游戏每日一条研报——晚发现的游戏下一轮 4H 自动补研,LLM 失败自动重试。
需求证据列:Google Trends 已被硬限流(429),该列主显 Suggest 联想计数(英文 guide/wiki/build/tips 意图 + 中文通道)作为活的需求信号;有历史 Trends 末值时带「陈旧」角标附带展示。
Fixture 模式
当 USE_FIXTURE_DATA=true 时,系统使用预置的模拟数据而非调用 YouTube API。这使得在没有 API Key 的情况下也能完整开发和测试。模拟数据包含 7 个时间点(24H),涵盖新游戏、上升游戏、稳定游戏、下滑游戏和未解析视频。
游戏详情页
点击首页任意游戏进入详情页。每个详情页包含:
评分分解:五分量机会分(需求/动量/SEO 契合/竞争缺口/时机),各分量数值与贡献度。旁边展示等级、置信度、优先指数,以及触发过的硬门槛(机会分已封顶)。
Steam 面板:当前玩家数、评测数、评测速度(评测/天)、价格、开发商/发行商、标签。如有历史数据则显示趋势图。
痛点卡片:从 YouTube 评论提取的玩家痛点(看不懂/怎么操作/报错/求推荐)。指示玩家在哪些地方挣扎。
关键词矩阵:SEO 关键词机会,含需求代理、竞争分、页面类型(攻略/wiki/配装/推荐)。按预估流量排序。
SERP 竞争:关键词驱动查询的 Top 10 搜索结果。域名分类(Fandom/IGN/官方/论坛/低权重站)。缺口分指示弱竞争对手。
产品机会(v4.0):工具/数据库/发行三路机会分、自动判定的产品模型(攻略站/数据库站/工具站/组合),以及按实现难度排序的 MVP 工具推荐。
窗口标注(v4.1):热度窗口(强升/上升/平稳/衰退,附 7 天动量比)与域名窗口(开放——精准匹配 .com 仍可注册,或已被占)。衰退与已占走警示色。
下钻建议:长尾关键词创意,含预估竞争和流量潜力。基于自动补全 + 痛点 + SERP 缺口。
解读数据:高痛点数 + 高 SERP 缺口分 + 低竞争 = 强烈信号建站。低关键词矩阵条目 = 数据不足,标记为"先做研究"。
SEO 基础设施
游戏雷达针对搜索引擎可发现性进行了优化:
域名:gameradar.site(通过 Spaceship 购买,Cloudflare CDN 开启 DNS 代理)。
Sitemap:构建时动态生成 /sitemap.xml。包含所有游戏详情页(EN + ZH),含 lastmod 时间戳。
Robots:/robots.txt 允许所有爬虫,屏蔽 /api/* 端点(数据路由,非页面)。
JSON-LD:每个游戏详情页都有 VideoGame 结构化数据。包含名称、类型、发行日期、开发商、发行商、平台、聚合评分(如有)。启用 Google 富媒体摘要。
Open Graph / Twitter Card:所有页面(首页、关于、游戏详情)包含 og:title、og:description、og:image、og:url、og:locale。Twitter Card 元标签用于社交分享预览。
Canonical URL:每个页面指定 canonical URL 防止重复内容问题(EN vs ZH 版本)。
收录状态:已提交 Google Search Console。Sitemap 已接受。通过 VideoGame schema 具备富媒体摘要资格。
发行年份门禁
2026 截止:2026-01-01 之前发行的游戏不出现在任何榜单、不接入 SERP/评论管线、不进矩阵生成。只有 2026 年及以后发行(或发行日期未知)的游戏有资格。
门禁在多处执行:评分引擎候选池(主)、SERP 采集器、首页快照榜、v3.6 挖掘模块。未知或无法解析的发行日期不被拦截——新游戏无日期信息很常见,未知 ≠ 老游戏。
告警推送管线
榜单之外,雷达通过即时通讯渠道推送告警。检测每 4 小时跑五路,条目合并进一条消息推送:
五路检测:新游戏进入候选池 · 动量爆发(动量分跳升 ≥ +20,或 4H 播放 +100% 且趋势 ≥ 70)· 创作者集中(24H 内 ≥ 3 位创作者)· 临近发行(30/14/7/3/1 天与今日窗口)· 机会分跳升 ≥ +15。
优先级预算:每轮优先级 1 限 5 条、优先级 2 限 3 条、优先级 3 限 2 条。超预算的条目不丢——下一轮冲刷时轮换回来(「随箱重发」)。
1 天发行时效窗:确知发行超过 1 天的游戏告警整体不推;未发行与日期未知永不拦截。排除数量在消息里明说。
类型过滤(四判定面):名字前缀(流水线批量系列)· 平台来源(Roblox 榜单批量作;双平台与 WATCH+ 定级豁免)· 类型关键词(轻度/解谜/三消/合成/点击/放置等)· Steam 标签。被过滤的告警不进重发轮播,数量在消息里明说。
发件箱投递:检测器只入箱;统一冲刷把全部条目合并成一条消息(建站信号置顶)。发送失败留箱、30 分钟 cron 自动重试——限流不丢内容。