游戏概述
termtype 是一款免费开源的打字游戏,完全在你的终端里运行。单词像 Space Invaders 一样从屏幕上方落下,在它们触及水线之前把它们打出来。溺水的单词会消耗生命,你只有三条。它用 Python 和 asciimatics 库构建,从源码安装大约两分钟,支持 Linux、macOS 和 Windows。
大多数打字游戏是带计时器的抽认卡。termtype 是一个真正的街机游戏,有一整套决策经济学:先打哪个单词、什么时候放弃已锁定的单词、什么时候故意放走一个单词来保护连击。计分公式奖励准确率而非纯粹的手速,难度曲线在理解等级区间之后完全透明,并且在 15 级设有硬上限,游戏停止升级,开始考验你的稳定性。
三种模式对应三种心情。Vocab 是无尽街机模式,刷分的战场。Story 模式带你打完公版书,Zen 选项用于练习,Challenge 选项里生命很重要。Hacker News 模式抓取实时首页标题让你打字,这是所有打字游戏里最接近真实打字场景的一个。
| 项目 | 详情 |
|---|---|
| 开发者 | Giovanni J. Costantini |
| 类型 | 打字、街机、终端 |
| 平台 | Linux、macOS、Windows(Python 3.11+) |
| 价格 | 免费,MIT 许可证 |
| 模式 | Vocab(无尽)、Story(书籍)、Hacker News(实时标题) |
| 词库 | 英语、意大利语、编程、科幻 |
| 进度 | 档案、徽章、解锁、迷你图统计、本地排行榜 |
| 数据 | 本地 SQLite(~/.termtype/termtype.db),零遥测 |
| 版本 | 0.2.0,持续开发中 |
整个游戏的数据都留在你的机器上。档案、分数和统计存在本地 SQLite 数据库里,整个代码库中唯一的网络调用是 Hacker News 标题抓取。如果你想推荐一款游戏给注重隐私的朋友,这是任何平台上最干净的例子之一。
新手入门
从源码安装
git clone https://github.com/GiovanniCst/termtype.git
cd termtype
python3.11 -m venv .venv
source .venv/bin/activate
pip install -e .
termtype
Windows 上要用 Windows 版 Python 和 Windows 版 venv。在 WSL 里创建的 venv 无法从 PowerShell 运行,而且执行策略会阻止激活脚本,除非你为当前会话绕过它:
py -3.11 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e .
.\.venv\Scripts\termtype.exe
两条 Windows 专属提示来自更新日志。经典控制台上限 8 色,Hacker News 面板会失去奶油橙配色;用 Windows Terminal 才有完整色板。WSL 下音频通过远程桥接,负载重会有爆音;原生 Windows 完全避免。如果字形渲染成方框,用 termtype --ascii 强制回退渲染器。
第一次游戏
- 先创建档案。统计、迷你图、徽章和排行榜只在档案内追踪。五秒钟的事。
- 从 Vocab 模式开始。前三关温和地引入机制:短词、慢速下落、屏幕上最多一两个。
- 尽早理解锁定规则。输入单词的第一个字母就会锁定它,之后每个按键都作用于这个单词,直到打完或双击退格放弃。
- 玩到三条命耗尽,然后看统计页。迷你图在两三次会话后开始有意义。
- 在标题画面试试科乐美秘技:上上下下左右左右 BA。游戏内也能用。
新手常犯的错误
- 从单词出现就全速打字。 前期单词下落很慢。计分公式实际上会惩罚匆忙,因为每个未修正的错字损失该单词 15% 的价值。
- 忽视退格键。 单次退格修正错字完全不影响连击。慌乱地继续往前打才是断连击的元凶。
- 马拉松式会话而不是每日会话。 有一条徽章要求连续 7 天游玩,而且技能曲线奖励间隔练习。
- 用前五关评判这个游戏。 引导区存在的意义是教学锁定机制。难度从第 4 关开始爬升,第 10 关才动真格。
核心机制详解
计分公式是休闲玩家和刷分玩家的分水岭。每个单词的价值是五个因子相乘,源代码锁定了精确数字:
word_score = base_value × speed_bonus × accuracy × level_mult × combo_factor
(红区消除额外 +10)
(奖励波期间 ×2)
基础值:不是所有字母都平等
字母每个 10 分。数字 12 分。带重音的元音 13 分。标点 14 分。单词的基础值是所有字符之和。这意味着 "e-mail!!" 比 "email" 更值钱,带数字的标题悄悄胜过散文。在 Hacker News 模式里,标点密集的标题就是得分食物链顶端。
速度加成:2 倍上限
预期打字时间是首字符后每字符半秒。用一半预期时间完成单词,速度加成达到 2.0 上限。花两倍时间,加成跌到 0.5 下限。单字符单词除外。实际结论:瞬间打完的短词可以胜过小心打完的长词,而奖励波只奖励那些短到能冲刺的单词。
准确率:最昂贵的乘数
每个未修正的错误把该单词价值乘以 0.85。两个错字损失 28%。伤害没有上限,速度没有准确率也没有意义,这使它成为游戏中最重要的单项数据。连击系统的错字窗口宽 10 次击键:窗口内第一个未修正错字让连击降一档,第二个减半,第三个清零。退格修正完全避开惩罚,所以高压下的正确反射是修正,不是硬闯。
连击系统:只有你想的一半
连击计数每 5 个干净字符前进一步,分数乘数是 1 + 每步 0.05,10 步封顶。最大乘数只有 x1.5。20、30、40 步时的屏幕震动提示,ON FIRE、UNSTOPPABLE、GODLIKE 横幅,全是演出效果;乘数本身在十步就停止增长了。为了分数追 50 连击是错误。为了 combo_50 徽章(解锁无退格修饰器)追它才是合理目标,分清这两者就能区分刷分玩家和收集玩家。
连击 25 时你获得一面护盾,可以吸收一次连击清零,把它降级为单档衰减。这让连击 25 成为第一个真正值得保护的里程碑:在到达它之前的几个单词打得保守些,然后让护盾替你扛过危险的那几个。
红区与溺水
水线上方三行是红区。在这里消除单词获得 +10 固定分,数值不大,但关键的是抢救行为:最后一秒救回的单词保住你的连击,而任何溺水单词都会清零。奖励波期间溺水根本不碰连击,这让第 5、10、15 波成为尝试危险长词的最安全时机。
等级、平台期与涌潮
每消除 10 个单词升一级。等级乘数每级上涨 10%,在 15 级饱和于 2.4 倍,这也是难度平台期开始的地方。区间表规定了每级的内容:
| 等级 | 下落速度(行/秒) | 屏幕最多单词 | 单词复杂度 |
|---|---|---|---|
| 1–3 | 0.8–1.5 | 3 | 短词 |
| 4–6 | 1.5(保持) | 4 | 中等 |
| 7–9 | 1.5–2.2 | 4 | 第 7 关引入复杂字符 |
| 10–14 | 2.2–3.0 | 5 | 复杂 |
| 15+ | 3.0(封顶) | 5 | 复杂 |
过了平台期,游戏每 20 个单词发动一次涌潮:每次涌潮比上一次快 5%、生成密 2.5%。这才是真正的终局。分数乘数停在 15 级,所以平台期之后的排行榜由涌潮压力下的准确率决定,与其他任何东西无关。
成长策略
值得规划围绕的徽章
徽章从单局数据推导而来,其中七枚把守解锁:
| 徽章 | 要求 | 解锁 |
|---|---|---|
| combo_25 | 最高连击 25+ | 编程词库 |
| combo_50 | 最高连击 50+ | 无退格修饰器 |
| level_10 | 达到 10 级 | 迷雾修饰器 |
| First Plateau | 达到 15 级上限 | 吹牛资本 |
| word_100wpm | 单词 100+ WPM | 速度证明 |
| wave_clean / wave_perfect | 奖励波零溺水 / 零拒绝 | 奖励波纪律 |
| streak_7 | 连续 7 天游玩 | 复古称号 |
| story_done | 完成一篇故事文本 | 故事模式证明 |
成本最低的解锁顺序:每天游玩拿连击徽章,刷 Vocab 攒到终身 1000 词拿星云主题(一周的会话内自然达成),然后猎取 combo_25 解锁编程词库,那是真实打字练习里最好的词库。
第一周:具体计划
- 第 1 天: 建档案,Vocab 打到 5 级自然通过,Zen 模式打爱丽丝第 1 章。目标:理解锁定规则和退格键。
- 第 2 天: Vocab 冲连击 15。目标:体会准确率在计分公式里的分量。
- 第 3 天: Vocab 冲连击 25 拿护盾。如果编程词库还没解锁,英语词库的中等单词也很好用。
- 第 4–5 天: 第 5 和第 10 波的奖励波练习。目标:一次干净的奖励波(零溺水)。
- 第 6–7 天: Challenge 模式爱丽丝第 1–2 章。第 7 天连击徽章到手。
资源优先级
游戏没有货币,所以真正的资源是注意力和会话结构。提升优先级:准确率第一(每错 0.85 的数学太残酷),红区冷静第二(连击保护),手速最后。手速会作为准确率练习的副产品自己增长。直接追手速让大多数玩家卡在同一个 60 WPM 平台期好几个月。
模式策略与构筑
Vocab 模式:刷分构筑
计分公式产生一个主导策略:前期保护准确率,攒等级乘数,然后在平台期收割。具体如下:
1–5 级: 打出零错字。连击目标:10–15。不放走任何单词。
6–9 级: 保持连击,开始吃红区消除的固定分。
第 10 波: 奖励波,×2 乘数。危险长词在这里才值得打。
11–14 级: 全力防守。每级 +10% 让这里的每个单词价值超过 5 级时的两个。
15 级+: 平台期。得分率 = 准确率 × 稳定性 × 涌潮次数。
60 秒滚动窗口追踪你的峰值得分率,奖励波的分数不计入。你的真实得分率是波外的持续输出,换句话说排行榜奖励的是无聊的技能:在每秒 3.0 行的速度下保持干净打字。
Story 模式:流利度构筑
Story 的计分是另一套经济。停用词("the"、"of"、"and")只按 25% 权重计分,速度加成被压窄到 0.8–1.2,没有红区加成。Story 加入的是节奏链:每句按时打完,链条支付 25 分一句,10 连封顶 250。雪佛龙箭头标记阅读顺序的当前词,按阅读顺序消除支付小额连贯加成(每连续消除 2 分,总上限 10)。
设计意图写在数字里:连贯加成故意做得极小,这样追求阅读顺序永远不该诱惑你放走一个紧急单词,因为溺水会打断价值远高于此的节奏链。正确的 Story 策略是句子形状的,不是单词形状的:读完整句,按下落要求打单词,把节奏链放在一切之上。
章节流利度分数 = WPM × 准确率 ×(1 + 0.1 × 节奏链长度)。重读一本书刷更高的流利度数字是这个模式的长尾玩法,而爱丽丝是重读最快的,因为它的词汇在五本书里最轻。
Hacker News 模式:实战构筑
标题混合大小写、数字、标点和专有名词,这让 HN 成为最实用的日常打字练习。计分遵循标准公式,所以标点重的标题("Show HN: I built a POSIX shell in 512 bytes of Rust (2024)")价值远超简短的动词开头句。离线时用内置的历史热帖列表替代,通常更长更技术化。
词库轮换
| 词库 | 单词特征 | 用途 |
|---|---|---|
| 英语 | ~5,000 常用词 | 默认,Story 模式 |
| 意大利语 | 日常意大利语 + 重音元音(13 分/字符) | 更高基础分,双语练习 |
| 编程 | 长技术词、语言名 | 准确率训练,实战词汇 |
| 科幻 | 罕见字母组合 | 打破肌肉记忆惯性 |
编程词库是准确率课堂:"asynchronous" 和 "polymorphism" 这类词强迫每根手指进入不熟悉的序列。意大利语词库是隐秘的刷分玩法,重音元音比普通字母得分高而且词库里到处都是。每三次会话轮换一次词库,让字母模式记忆保持泛化。
分步教学
- 连击 25 护盾局。 开 Vocab,前两关只打 6 字母以下的单词(短词 = 错字窗口机会更少)。第 3 级前达到连击 25,存下护盾,然后迎接第 4 关的四词屏幕。护盾把第一次失误从灾难降级为轻微衰减。
- 奖励波赏金狩猎。 正常打直到第 5 波(第一个奖励波,8 秒,全部 ×2)。波内溺水不断连击,所以这是进攻屏幕上最长单词的时机。一个 12 字母单词在 ×2 下干净消除,价值是本局其他任何东西的数倍。
- 15 级存款路线。 从 10 级开始停止追逐。每个单词的价值乘上了等级乘数,所以生存就是乘数。只清中等单词,放弃任何 9 字母以上的词(双击退格,零惩罚),让涌潮来找你。
- 爱丽丝流利度重置。 Story Challenge,爱丽丝 3 条命:以 90% 强度打第 1–3 章,把命留给 Caucus Race 的词汇尖峰("comfits"、"thimble")。任何章节结束按 S 保存退出,再以全新状态回来;存档系统让 15 分钟会话成为设计意图内的游玩单位。
- HN 标点收割。 Hacker News 模式里,先扫屏幕找数字和标点最多的标题再开始打字。先锁定它。一个带数字和括号的标题比平铺直叙的句子多一大截,而阅读时间不要钱。
- 错字窗口恢复。 你打错了,连击降一档。不要急着修正。窗口宽 10 次击键,所以把当前单词干净收尾、再打下个单词的前 4 个干净字符,旧错字就滑出窗口,不触发新的惩罚。
高级技巧
- 退格免费;前进有价。 单次退格修正从不碰连击。10 次击键窗口内的第三个未修正错字直接清零。这个游戏的全部技巧上限都活在这条不对称里。
- 战略性放弃。 双击退格放弃已锁定的单词,无惩罚。误锁的单词,或者一个下落太快的 14 字母怪物,都值得放弃,好去清两个更容易的单词。从放弃的玩家,都是溺水的玩家。
- 奖励波是连击保险。 波内溺水不断连击,所以你在 14 级不敢碰的危险单词,在 15 级的奖励波里可以随便试。
- 平台期才是真游戏。 1–14 级是教学。15 级+ 才是真正出成绩的地方,因为乘数已满而涌潮每 20 词复利一次。你的练习时间大部分应该花在平台期或接近平台期。
- 数字和重音符是分数漏洞。 正确打出 "42" 比一个 4 字母单词更值钱,而 HN 标题里全是年份和版本号。练你的数字排;那是所有键盘上练得最少的一排。
- 看鲨鱼鳍。 巡逻水线的鱼鳍是装饰,但稀有的鲨鱼跃起客串(大约一分钟一次)是很好的眨眼重置。如果你发现自己连续几分钟死盯着单词区,客串就是你的呼吸提示。
- 秘密单词精确触发。 游戏中把 "shark" 或 "kraken" 作为完整单词打出来会触发鱼鳍狂潮,"gold" 让你下一次消除闪金光。科乐美秘技在标题画面和游戏内都有效。都不改计分;但都值得见一次。
- 迷你图是你的教练。 统计页按时间绘制 WPM 和准确率。预示突破的不是尖峰,而是准确率上升而 WPM 持平。那是平台期正在破裂的信号。
常见问题
termtype 怎么安装?
从源码安装,因为还没上 PyPI:克隆仓库,建 Python 3.11+ venv,pip install -e .,运行 termtype。README 里有完整的 Windows PowerShell 说明,包括 venv-in-WSL 陷阱。
游戏在我的终端上显示异常。先修什么?
运行 termtype --ascii 强制无 Unicode 渲染器。Windows 上用 Windows Terminal 而不是经典控制台(上限 8 色),并确认选中了 Cascadia Mono 之类的制表符字体。
WSL 下音频有爆音。能修吗?
WSL 声音桥接在负载下会爆音。近期版本设置了 Pulse 延迟目标来缓解,但原生 Windows 或 Linux 运行才是可靠解法。也可以 termtype --no-audio;重要的连击反馈全在视觉上。
漏掉一个单词会发生什么?
越过水线的单词溺水:失去三条命中的一条,连击清零,水花标记落点。奖励波期间连击幸免,但命照样扣。
连击乘数真的封顶 x1.5 吗?
是的。计分公式里的连击因子是 1 + 每步 0.05,10 步封顶。20、30、40 步的大字提示是演出,不是乘数。长连击为徽章和护盾而打,不为分数。
解锁编程词库最快的方法?
在 Vocab 模式拿到 combo_25 徽章。有了连击 25 的护盾,几个会话内的纪律性早期游戏就能达成。
我的数据隐私有保障吗?
完全本地。档案和分数存在 ~/.termtype/termtype.db 的 SQLite 数据库。没有遥测、没有账号、没有更新检查。唯一的网络调用是 Hacker News 标题抓取,只在该模式下发生,不发送任何个人信息,离线回退到内置列表。
树莓派能玩吗?
能。这是个无 GPU 要求的终端应用,除 Hacker News 外所有模式都可离线。
Story 模式有哪些书?
公版文本包括《爱丽丝梦游仙境》《傲慢与偏见》《木偶奇遇记》,英语和意大利语文本都有。进度按书保存,可以短会话阅读。
有办法让游戏更难吗?
解锁表包含两个难度修饰器:无退格(连击 50 解锁)和迷雾(10 级解锁)。解锁后都是自设挑战。
最终评价
termtype 是那种既尊重你的数据又尊重你的时间的罕见免费游戏。计分公式悄悄奖励的正是让人们在现实中打字更快的习惯:准确率优先、红区保持冷静、认真对待标点和数字。平台期设计意味着总有下一个挑战,徽章和解锁表给每日会话一个存在的理由,而整个游戏运行在任何有终端的机器上,包括十年前的硬件。
为了打字练习而安装它。为了那条鲨鱼而留下。
由 Game How To 编辑部审核。我们亲自玩每一款游戏,对照官方来源和源代码验证机制,并在游戏变动时更新攻略。






