From 6078f261d71689a2df43c2437ccadb4c72d6b256 Mon Sep 17 00:00:00 2001 From: klarkxy <278370456@qq.com> Date: Wed, 22 Jul 2026 23:10:20 +0800 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor(=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=BB=93=E6=9E=84):=20=E5=8D=87=E6=A0=BC007=E2=80=940?= =?UTF-8?q?09=E7=AB=A0=E6=AD=A3=E6=96=87=E5=B9=B6=E6=B8=85=E7=90=86?= =?UTF-8?q?=E6=97=A7=E8=8D=89=E7=A8=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 升格草稿目录第007—009章为正式正文,迁移至正文对应卷篇 - 删除已被替代的第007—020章旧草稿,简化草稿索引 - 精简章纲文件,聚焦当前工业自举路线 - 补充工业与制造设定:建筑部署、组装机1型、设备信息边界 - 在AGENTS.md与风格约束中加入禁用"先否定后肯定"空架的规则 - 新增smooth-zh-prose-flow中文衔接审校技能及参考资料 - 同步更新资产索引与世界书系统边界 --- AGENTS.md | 1 + 世界书.md | 4 +- .../1.2 待定篇名/第007—020章时间线与章纲.md | 113 ++-- .../1.1 坠毁后的第一夜/006 传奇的开始.md | 4 +- .../1 弃船/1.1 坠毁后的第一夜/007 一把旧枪.md | 259 +++++++++ .../1 弃船/1.1 坠毁后的第一夜/008 武装起来.md | 263 +++++++++ 正文/1 弃船/1.1 坠毁后的第一夜/009 旧矿.md | 279 +++++++++ 草稿/1 弃船/1.2 待定篇名/00 草稿索引.md | 31 +- 草稿/1 弃船/1.2 待定篇名/007 枪是一种信息.md | 427 -------------- 草稿/1 弃船/1.2 待定篇名/008 以旧换新.md | 382 ------------ 草稿/1 弃船/1.2 待定篇名/009 机器没有夜班.md | 439 -------------- .../1.2 待定篇名/010 一张吃不饱的清单.md | 416 -------------- 草稿/1 弃船/1.2 待定篇名/010 谁来挖.md | 207 +++++++ 草稿/1 弃船/1.2 待定篇名/011 把矿运回来.md | 205 +++++++ 草稿/1 弃船/1.2 待定篇名/011 标准答案.md | 346 ----------- .../1.2 待定篇名/012 子弹不会凭空长出来.md | 396 ------------- 草稿/1 弃船/1.2 待定篇名/012 第一台组装机.md | 221 +++++++ 草稿/1 弃船/1.2 待定篇名/013 仓库.md | 454 --------------- 草稿/1 弃船/1.2 待定篇名/014 山外的眼睛.md | 308 ---------- 草稿/1 弃船/1.2 待定篇名/015 只收一份订单.md | 378 ------------ 草稿/1 弃船/1.2 待定篇名/016 没有人的车间.md | 396 ------------- 草稿/1 弃船/1.2 待定篇名/017 工厂修理工厂.md | 422 -------------- 草稿/1 弃船/1.2 待定篇名/018 断线.md | 439 -------------- 草稿/1 弃船/1.2 待定篇名/019 统一后勤.md | 414 ------------- 草稿/1 弃船/1.2 待定篇名/020 越南解放军.md | 458 --------------- 设定/工业与制造.md | 58 +- 资产索引.md | 14 +- 资料/异星工厂/K2配方表.csv | 120 ++++ 资料/异星工厂/K2配方表.md | 289 ++++++++++ 资料/异星工厂/生成K2配方表.py | 542 ++++++++++++++++++ 风格约束.md | 1 + 31 files changed, 2514 insertions(+), 5772 deletions(-) create mode 100644 正文/1 弃船/1.1 坠毁后的第一夜/007 一把旧枪.md create mode 100644 正文/1 弃船/1.1 坠毁后的第一夜/008 武装起来.md create mode 100644 正文/1 弃船/1.1 坠毁后的第一夜/009 旧矿.md delete mode 100644 草稿/1 弃船/1.2 待定篇名/007 枪是一种信息.md delete mode 100644 草稿/1 弃船/1.2 待定篇名/008 以旧换新.md delete mode 100644 草稿/1 弃船/1.2 待定篇名/009 机器没有夜班.md delete mode 100644 草稿/1 弃船/1.2 待定篇名/010 一张吃不饱的清单.md create mode 100644 草稿/1 弃船/1.2 待定篇名/010 谁来挖.md create mode 100644 草稿/1 弃船/1.2 待定篇名/011 把矿运回来.md delete mode 100644 草稿/1 弃船/1.2 待定篇名/011 标准答案.md delete mode 100644 草稿/1 弃船/1.2 待定篇名/012 子弹不会凭空长出来.md create mode 100644 草稿/1 弃船/1.2 待定篇名/012 第一台组装机.md delete mode 100644 草稿/1 弃船/1.2 待定篇名/013 仓库.md delete mode 100644 草稿/1 弃船/1.2 待定篇名/014 山外的眼睛.md delete mode 100644 草稿/1 弃船/1.2 待定篇名/015 只收一份订单.md delete mode 100644 草稿/1 弃船/1.2 待定篇名/016 没有人的车间.md delete mode 100644 草稿/1 弃船/1.2 待定篇名/017 工厂修理工厂.md delete mode 100644 草稿/1 弃船/1.2 待定篇名/018 断线.md delete mode 100644 草稿/1 弃船/1.2 待定篇名/019 统一后勤.md delete mode 100644 草稿/1 弃船/1.2 待定篇名/020 越南解放军.md create mode 100644 资料/异星工厂/K2配方表.csv create mode 100644 资料/异星工厂/K2配方表.md create mode 100644 资料/异星工厂/生成K2配方表.py diff --git a/AGENTS.md b/AGENTS.md index 6e5cfec..85c2554 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -66,6 +66,7 @@ - 对话提示应自然嵌入。避免无必要的“半句台词—某某说道—下半句台词”三段拆分;如果停顿、动作或视线变化具有叙事意义,则可以保留分段。 - 段落是一个小的动作、感受或信息单元,不是句子的收纳盒。原则上每段只保留一个主要行动者或观察者,可以合并这个人的连续动作、观察和反应;另一个人物开始说话、行动或接管叙事焦点时,应当换段。只有明确以群体为整体的共同动作或场面全景,才可让多人同段。不能用合并段落代替修改短句,也不能为了段落偏短而把不同人物硬接在一起。 - 重点清理重复主语、机械排比、连续总结、空泛拔高、解释情绪、同义反复和公式化转折。优先用具体动作、感官、选择和人物口吻承担信息。 +- 禁止无意义的先否定后肯定。不得用“不是A,而是B”“并非A,只是B”“没有A,只有B”“与其说A,不如说B”等结构凭空制造对立或强调;若A未在上下文中被提出,也不是人物正在反驳、纠错、拒绝或排除真实方案,应直接写B或改用具体动作呈现。 - 纯文字润色不得静默改变事件结果、人物动机、敌我立场、伤亡与资源数值、语言能力、知情范围、系统提示或外语原文。若确需改变这些内容,必须属于用户明确指定的剧情修改。 - 润色不能为了显得温和而弱化敌方暴力、战斗后果或主角已经作出的强硬决定,也不能反过来无故追加残酷行为。人物态度必须服从当时处境和既有立场。 - 批量润色完成后,应对照修改前文本抽查:是否真正改变了句内标点和句法,是否留下异常长句,是否误改数字、系统文本、外语、专名、引号、括号或章节衔接。 diff --git a/世界书.md b/世界书.md index 631e632..d80ddd2 100644 --- a/世界书.md +++ b/世界书.md @@ -124,7 +124,7 @@ 修好设备、做出样品、稳定量产和扩大社会应用是不同阶段,不得合并成一次系统点击。 -详细工业规则见 `设定/工业与制造.md`。第006章已经写入地表工业种子、标准物料单元、人工物流和编码结构坍缩;样品解析与后续制造边界尚未全部在正文展开。这些规则约束后续写作,但不表示宁诚已经掌握全部原理或设备操作。 +详细工业规则见 `设定/工业与制造.md`。第006章已经写入地表工业种子、标准物料单元、人工物流和编码结构坍缩;第007—008章进一步写入样品解析、枪弹分开生产和首批手枪交付,第009章则确认矿物取样、部署核心与地方许可的边界。工业设备只报告当前工序、用料、缺料、故障与安全警告,不负责规划矿山、运输、交易或对外权限;这些结果由赫默解释,再由人物作出决定。 ## 系统与界面 @@ -137,6 +137,8 @@ - 提供有限可执行方案。 - 控制仍在线的舰载设备。 +中央授权界面与地表工业设备的本机界面必须区分。后者只是生产工具,不因为接入公司系统就自动具备完整供应链规划、政策判断或谈判能力。 + 系统不承担: - 发布网文式主线任务。 diff --git a/大纲/1 弃船/1.2 待定篇名/第007—020章时间线与章纲.md b/大纲/1 弃船/1.2 待定篇名/第007—020章时间线与章纲.md index c1ceb6b..f258b08 100644 --- a/大纲/1 弃船/1.2 待定篇名/第007—020章时间线与章纲.md +++ b/大纲/1 弃船/1.2 待定篇名/第007—020章时间线与章纲.md @@ -2,93 +2,74 @@ ## 文件状态 -本文件以正文001—006、用户确认设定和已迁入旧任务成果为基础,规划正文006之后的当前篇章。 +本文件记录正文006之后的当前工业自举路线。 -- 它只负责规划第007—020章,不是已经发生的正文事实。 -- 正式写作与校对时,以最新正文、用户当次要求、`设定/工业与制造.md` 和 `设定/1945年4—5月越南政治局势.md` 为准。 -- 1945年5月15日越南解放军正式统一节点已与项目历史资料层相互核对;具体人物到场、职务和行动渠道仍需在成稿时按场景复核。 -- 正文006《传奇的开始》已经确立地表制造节点;本章纲从该章章末状态承接。`草稿/006 新的开始.md` 只是被正文替代的旧标题占位,不属于本章纲范围。 +- 007《一把旧枪》、008《武装起来》、009《旧矿》已经升格到 `正文/1 弃船/1.1 坠毁后的第一夜/`,属于当前正文。 +- 010—012仍位于草稿目录,是从正文009继续推进的候选章节,尚未自动成为正文事实。 +- 013以后只确认进入日军对运输线的侦察、封锁和争夺,具体分章等010—012确认后再规划。 -## 总体跨度 +正式写作与校对时,以用户当次要求、最新正文、`设定/工业与制造.md` 和 `设定/1945年4—5月越南政治局势.md` 为准。 -- 起点:1945年4月27日清晨,正文006建立地表制造节点后的次日。 -- 终点:1945年5月15日前后,救国军与越南宣传解放军合并为越南解放军。 -- 科技终点:仍是一座依附于登陆舰残骸的小型自动制造节点;具备材料回收、样本解析、小批量机械制造、枪械和弹药重组、短距离初级物流扩建能力;尚无自动矿场、远距离传送带和完整化工。 +## 当前篇章目标 -## 宁诚成长曲线 +这六章完成一次最初级的工业自举:公司从拆废料制造第一箱手枪,随后发现废料只能支撑短期生产;越盟与本地村寨共同确认铁、铜矿源,建立人工和畜力运输;基地展开石炉,矿点展开两台热能采矿机;新矿所得材料最终制造出第一台组装机1型,并由它组装第三台热能采矿机。 -- 001—003:宁诚处在错乱和被动应对中,只能观察、提问、照着赫默与终端的提示确认,不具备自然发号施令的习惯。 -- 004—006:他开始承担不可逆决定,但战斗选项、俘虏处置、设备边界和外部协作仍由赫默、终端或朱文晋先指出;成长点是敢于确认并承担后果,不是突然掌握专业知识。 -- 007—011:他能够听懂专业解释,再用简单语言转述给别人;能处理一次具体交易,也会把刚遇到的问题整理成临时办法。第011章的合并订单只解决当批冲突,尚未形成正式接口制度。 -- 012—014:他学会先让终端列出缺失信息,再把公司数据、赫默的专业判断与越盟的现场经验放到一起;不替朱文晋指挥行动,也不替联合后勤组决定村庄价格。 -- 015—018:他开始把反复出现的问题变成制度,能够主动追问技术方案的可回收性与长期后果;同时仍会遇到误判,并在伤亡后学习把公司外部人员也纳入责任范围。 -- 019—020:他能够区分个人态度、公司承诺、越盟内部决定与双方协议,也能在确认系统方案前先问清“规划”和“执行”的边界。此时的成熟表现为会组织信息、限定承诺并承担责任,而不是自己回答所有专业问题。 +完成自举不代表形成自动工厂。矿工、烧炭者、挑夫、牲畜主人、沿路村寨、警戒人员和登记者仍构成工业线主体。没有传送带,没有远距离电网,化工与弹药原料也没有解决。 -## 章节表 +## 宁诚成长边界 -| 章 | 时间 | 标题 | 核心推进 | 章末钩子 | +- 007—008:宁诚负责提问、确认样品损耗和完成对外交易。枪械安全、结构解析、试射与弹药瓶颈由赫默判断。 +- 009:他开始在“继续造枪”和“留下工业种子”之间承担选择,仍由朱文晋处理救国军内部的武器需求。 +- 010:他第一次面对劳动、家庭和地方权利的具体谈判,只承诺公司能够兑现的计量、修理和有限治疗。 +- 011:他参与整理运输与结算办法,不替朱文晋命令村寨,也不替矿工、挑夫和牲畜主人接受风险。 +- 012:他能要求用纯粹来自新矿的材料完成自举验证;设备部署、供电与安全继续由赫默控制。 + +## 当前章节表 + +| 章 | 时间 | 标题 | 核心推进 | 章末落点 | |---|---|---|---|---| -| 007 | 4月27日上午—下午 | 枪是一种信息 | 越盟送来勃朗宁M1910与弹药;样枪接受非破坏与破坏性解析 | 模板建立,第一只成品箱出仓 | -| 008 | 4月27日下午—傍晚 | 以旧换新 | 废枪和混乱弹药被回收为新手枪与标准弹药;完成试射和首笔交易 | 朱文晋决定把仓库废枪全部送来 | -| 009 | 4月27日夜—30日清晨 | 机器没有夜班 | 夜间持续生产;越盟次日发现机器独自完成批次;宁诚第一次处理订单和能源优先级 | 第一批订单超过现有人工物流能力 | -| 010 | 5月1日 | 一张吃不饱的清单 | 系统按物质而非“枪支数量”开列原料需求;越盟组织分散回收网 | 公司界面开始形成越北资源热图 | -| 011 | 5月2日—3日天亮前 | 标准答案 | 生产标准件、工具与弹匣;越盟工匠见证完全互换;宁诚请朱文晋临时合并一批冲突需求 | 临时办法暴露出正式需求接口尚未建立 | -| 012 | 5月3日 | 子弹不会凭空长出来 | 底火与发射药成为硬瓶颈;赫默否决危险合成;决定夺取日军小型弹药转运点 | 宁诚第一次为越盟行动提供工业化情报方案 | -| 013 | 5月4—5日 | 仓库 | 越盟执行夜袭;公司提供无人机、地图、计时和通信;缴获含能材料与军械物资 | 运输回来的不是胜利,而是一批必须立刻处理的危险输入 | -| 014 | 5月6日—7日清晨 | 山外的眼睛 | 日军高处侦察、收集样品和审问村民;公司与越盟协同反侦察 | 日军确认山谷里不是武器,而是制造节点 | -| 015 | 5月7日 | 只收一份订单 | 越盟内部争抢有限产能;宁诚要求只保留一个认证需求接口 | 公司用技术接口迫使越盟先统一自己的分配 | -| 016 | 5月8—9日 | 没有人的车间 | 日军渗透者试图混入传统工厂,却发现核心区几乎无人;转而在货物中放入标记器 | 自动分析机检出不属于清单的东西 | -| 017 | 5月10日 | 工厂修理工厂 | 利用新材料制造第一段真正传送带、固定机械臂和空箱循环结构;仍消耗旧控制核心 | 人力搬运岗位第一次被机器替代 | -| 018 | 5月11—12日 | 断线 | 日军袭击外部交接点和运输队;核心工坊无损,但越盟人员伤亡、输入中断 | 公司意识到机器安全不等于体系安全 | -| 019 | 5月13—14日 | 统一后勤 | 合并前各部队整编;武元甲方面的代表到来,重新审视朱文晋协议;双方形成统一后勤接口 | 第一份覆盖多支部队的统一订单生成 | -| 020 | 5月15日 | 越南解放军 | 新军队成立;越盟以全国地图说明自身独立、救荒与建政愿景;公司明确当前既未承诺也未拒绝政治援助;统一后勤接入公司节点 | 系统因需求超载建议启动地表工业扩张规划 | +| 007 | 4月27日上午—下午 | 一把旧枪 | 翻译模块达到短句沟通水平;朱文晋交出M1910手枪,确认破坏性解析;获得铁5、铜5、五小时、每箱32把的配方;人工上料并处理一次功率波动 | 制造机启动,倒计时刚走完第一分钟 | +| 008 | 4月27日下午—傍晚 | 武装起来 | 等待制造期间处理营地日常和首箱归属;三十二把手枪完成、抽检、试射并交给朱文晋;解析7.65毫米弹药,确认铅芯、发射药与底火剂仍缺 | 朱文晋拿出旧矿线索,废料生产接近上限 | +| 009 | 4月28日—30日 | 旧矿 | 多点取样确认近处旧坑有铁、北面旧样品含铜;在第二箱枪与工业种子间作出选择;用余料制造两只热能采矿机部署核心与两只石炉部署核心 | 铁矿需与村寨谈,铜矿需另一地区单独同意,四只设备箱暂不展开 | +| 010 | 5月1日—2日 | 谁来挖 | 旧矿村寨提出劳力、家庭、粮食、工具和塌方风险;当地矿工组织人工试采;铜矿地区拒绝由朱文晋代作承诺,要求分账与另行许可 | 矿有人愿意挖,运输责任仍未解决 | +| 011 | 5月2日—4日 | 把矿运回来 | 铁矿采用矿工、牛车与挑夫分段接力;铜矿采用挑夫、驮马和隐蔽接应;日军巡逻迫使路线绕行;两座石炉在基地展开,首批铁铜完成冶炼与标准化 | 赫默确认路线和材料通过,可以部署采矿机 | +| 012 | 5月4日以后 | 第一台组装机 | 两台热能采矿机分别在铁、铜矿点展开;人继续添炭、选矿、装袋与运输;新矿材料制造组装机1型,再由它完成第三台热能采矿机 | 工业循环闭合,日军开始检查运输车辙 | -## 分段目标 +具体日数可随道路、雨情和后续历史节点微调,但事件顺序不得压缩成一天内连续完成。 -### 已确认起点:正文006 +## 六章节奏 -- 四类地表工业设备已经部署,十二名越盟战士参与设备间人工转运。 -- 标准料箱、编码化输入和脱离接收设备后的编码结构坍缩已经在正文中实际展示。 -- 人工物流基线效率为23%;这是后续暴露排队、安全和组织问题的起点,不是待写事件。 +### 007—008:一把枪 -### 第一段:007—008,样品、工业与交易 +旧枪既是越盟交出的真实资产,也是公司获得模板所需的样品。第一章落在制造启动,第二章才完成开箱、试射和交付,避免枪械、弹药、矿源全部挤进同一章。 -- 人工搬箱继续承担设备间物流,并逐渐暴露效率、排队和安全问题。 -- 样枪提供信息,废枪提供物质。 -- 第一笔交易必须让双方都真心觉得占了便宜。 +等待时间由营地工作、人物互动和分配问题填充。设备提示只保留决定所需信息,不让人物重复解释批次、质量或机器已经显示的内容。 -### 第二段:009—011,标准开始改变组织 +### 009—010:矿属于谁 -- 自动生产的优势是稳定、连续和一致,不是瞬间无限产量。 -- 越盟开始围绕公司标准收集物资、记录需求和维护武器。 -- 公司第一次不通过统治人口,而通过工业接口改变越盟内部运作。 +实验室只能判断送到面前的样品,找矿、辨路、确认日军活动和取得地方许可都依赖人。近处铁矿与北面铜矿分别谈判,朱文晋只能承诺自己控制的人和资源。 -### 第三段:012—014,产业链限制与日军认知升级 +采矿机在矿层、道路、地方协议和安全条件都没有确认以前保持折叠。人工试挖用于核对矿层、组织成本和风险,不用来伪装成长期高产方案。 -- 弹药化工瓶颈阻止战力失控。 -- 公司用情报和计算支持越盟行动,而不是代替越盟作战。 -- 日军从“特殊武器”判断升级为“制造母机”,行动转向渗透、封锁和样品获取。 +### 011—012:把循环接起来 -### 第四段:015—018,自动化替代与外部脆弱性 +运输线先于自动开采成立。人力、牛车、驮马和分段交接都有自身价格和上限,机器提高采掘速度后会先在路上形成积压。 -- 产能稀缺迫使越盟统一订单。 -- 没有工人的核心车间让传统渗透失败。 -- 第一段真正自动物流上线,暂时替代部分搬箱人员。 -- 日军攻击外部人类物流,证明公司还不能只靠机器生存。 +石炉部署在基地,便于供能、监管和标准化;两台初始采矿机来自废料,第一台组装机和第三台采矿机必须使用新矿所得材料。第三台采矿机出箱是本段高潮,日军发现车辙是下一段压力。 -### 第五段:019—020,绑定到新军队 +## 后续接口 -- 合并后的越南解放军需要统一后勤,公司提供现成技术骨架。 -- 越盟通过全国地图说明自己面对的不只是山地日军,而是名义政府、地方竞争、饥荒、法国回归与未来建政问题。 -- 公司不接收多个部队订单,只认一个认证接口;这种后勤绑定不等于公司已经接受越盟的全国政治方案。 -- 宁诚必须明确区分个人反殖民立场与公司政策:现阶段既不承诺帮助越盟夺取政权,也不拒绝未来继续谈判。 -- 双方绑定不是因为签署宏大条约,而是因为新军队的武器、弹药、维修周期和需求表已经进入公司系统。 +第013章起,矛盾转向运输线暴露。日军的合理行动顺序应是检查车辙和村寨、询问或扣押运输人员、设置临时岗哨、截断其中一段,再根据所得情报决定是否搜山。主角团需要面对的核心问题包括:谁保护矿工和挑夫、哪一段值得冒险维持、日军伤害沿线村寨时公司承担什么责任,以及是否把刚生产出的第三台采矿机部署到已暴露的路线。 + +此处只固定冲突方向,不预先拆成八章,也不默认日军会连续派小股部队进山送死。 ## 连续状态检查 -- 铃兰:正文006结尾仍在恢复;007可在外圈短时活动;008以后可恢复日常活动与低强度技艺使用,但不得再次大范围展开。 -- 赫默:持续负责安全阈值、样本破坏、含能材料处理和宁诚身体检查。 -- 古米:正文006已经承担重设备搬运;007以后在生产与防卫之间切换,不把她写成永久叉车。 -- 宁诚:正文006仍依赖赫默完成工业落地;007能转述专业解释;008在系统建议和赫默解释后完成交易;009把一次医疗冲突与双方意见整理成初步优先级;011只形成当批临时办法;012—014学会组织问题而不越俎代庖;015正式建立单一接口;017会主动追问长期技术约束;018在伤亡后与越盟共同建立补偿责任;020区分个人立场与公司承诺,并在问清规划边界后确认扩张。 -- 越盟:从临时搬运者变成样本、资源、情报、战斗和分配网络;到020必须主动说明自己的全国愿景,而不是只向公司提出物资需求。 -- 日军:不连续派兵送死;先确认、再侦察、再渗透、再袭击外部供应线。 +- 铃兰:仍在恢复,007—009只进行外圈短时活动和低强度翻译学习;010前往旧矿时留守基地。 +- 赫默:拥有样品解析、枪械试射、矿物检测、设备部署、供电和安全否决权;不负责替各方谈劳动价格。 +- 古米:承担高风险搬运和现场救险,也会受本地矿工、木匠和赶车人的经验约束;不能独自取代整条物流线。 +- 宁诚:不能预测矿藏、设计坑道或回答化工问题;他负责把各方条件记录成能够兑现的承诺,并承担是否消耗废料和是否部署设备的决定。 +- 朱文晋:负责救国军人员、警戒、联络和自己能够兑现的运输支持;无权代表所有村寨或北面铜矿地区。 +- 越盟与本地人员:矿工、挑夫、赶车人和联络员拥有自己的家庭、风险与议价能力。人参与生产是当前工业结构的一部分,不是尚未被自动化清除的背景劳动。 +- 本路线完成012时的工业状态:两座石炉部署在基地;两台热能采矿机部署在铁、铜矿点;第一台组装机1型依附现有能源节点;第三台热能采矿机仍为未部署箱体;传送带与远距离自动矿场尚未建立。 +- 日军认知:只发现运输活动异常,尚未确认山谷内设备规模和具体技术能力。 diff --git a/正文/1 弃船/1.1 坠毁后的第一夜/006 传奇的开始.md b/正文/1 弃船/1.1 坠毁后的第一夜/006 传奇的开始.md index 888f677..b0e4e8c 100644 --- a/正文/1 弃船/1.1 坠毁后的第一夜/006 传奇的开始.md +++ b/正文/1 弃船/1.1 坠毁后的第一夜/006 传奇的开始.md @@ -155,7 +155,7 @@ 这次机器亮起绿灯,那名战士明显松了一口气,像刚刚通过了一场谁也没告诉他标准的考试。 -太阳完全落下以前,几台设备终于在岩壁下排开,彼此相隔十几米。最靠近舰体的是基础回收机,黑色外壳上有一个宽大的进料口,旁边装着几只用于抓取和拆解物品的短机械臂;再往后是材料分析机与通用制造机,最末端则是一台较小的能源和解包节点。设备都能工作,却没有任何东西负责在它们之间运送物料。 +太阳完全落下以前,几台设备终于在岩壁下排开,彼此相隔十几米。最靠近舰体的是基础回收机,黑色外壳上有一个宽大的进料口,旁边装着几只用于抓取和拆解物品的短机械臂;再往后是自动实验室与通用制造机,最末端则是一台较小的能源和解包节点。设备都能工作,却没有任何东西负责在它们之间运送物料。 “没有传送带?”宁诚问。 @@ -316,7 +316,7 @@ 农文禄在旁边翻译。 -机器继续吐箱,搬运的人开始来回奔跑,很快形成了最原始的分工:两人从回收机取箱,三人送往制造机与分析机,一人专门回收空箱,另外两人整理废料,保证进料口不会空下来。他们不必明白机器内部发生了什么,只要看懂颜色、图案和箭头。 +机器继续吐箱,搬运的人开始来回奔跑,很快形成了最原始的分工:两人从回收机取箱,三人送往制造机与实验室,一人专门回收空箱,另外两人整理废料,保证进料口不会空下来。他们不必明白机器内部发生了什么,只要看懂颜色、图案和箭头。 朱文晋站在线外看了很久,没有再提出进入飞船,也没有追问设备内部的秘密,只叫来四个人。 diff --git a/正文/1 弃船/1.1 坠毁后的第一夜/007 一把旧枪.md b/正文/1 弃船/1.1 坠毁后的第一夜/007 一把旧枪.md new file mode 100644 index 0000000..f992024 --- /dev/null +++ b/正文/1 弃船/1.1 坠毁后的第一夜/007 一把旧枪.md @@ -0,0 +1,259 @@ +# 007 一把旧枪 + +第二天早上,朱文晋带来了一只旧皮套。 + +皮革边缘已经磨白,铜扣上浮着一层暗绿。农文禄把它放上折叠桌时格外小心,先解开扣子,再托住握把,把里面的手枪慢慢抽出来。 + +“勃朗宁。”他说。 + +桌边的便携终端亮了一下,先照原音重复,随后用中文报出同一个名字。声音依旧生硬,好在比昨天那几串互不相干的词完整得多。 + +【越南语双向短句翻译:可用】 + +农文禄看了看终端,试着说了一句越南语。 + +“你现在听得懂我?” + +宁诚等了一会儿,确认屏幕上没有跳出警告,才回答:“短句可以。说慢一点。” + +终端把他的话换成越南语。重音错了一个地方,农文禄仍然听懂了。他忍不住又试了一句,这次说得太快,屏幕上立刻冒出三个候选译文。 + +赫默从旁边伸手,把其中两个划掉:“一次说完的内容太多。先用短句。” + +农文禄点点头,退回朱文晋身边,肩膀比刚才松了一些。只是每次开口前,他仍要先停一下,再把长句慢慢掰成几段。 + +宁诚低头看枪。 + +枪身很小,套筒前端圆润,握把上的纹路被长年使用磨得发亮。表面没有大片锈蚀,边角却留下了许多细碎伤痕。和昨天从尸体旁捡回来的步枪相比,它保存得近乎体面。 + +朱文晋又放下两个布包。一个包着两只弹匣,另一个里面是散装的黄铜色手枪弹。 + +“四十七发。”农文禄说。 + +“还能开火?”宁诚问。 + +“能。” + +赫默已经戴好手套。她接过枪,枪口始终朝着岩壁,退出弹匣,又拉开套筒检查弹膛。那一下拉得很慢,金属摩擦声里带着轻微的迟滞。 + +她把枪和弹药分别放进两个托盘:“最后一次什么时候打过?” + +朱文晋想了片刻:“去年。打了三发。” + +“以后清理过吗?” + +“擦过。缺合适的油。” + +赫默用细灯照了一遍枪管,没有继续拆。她按下托盘边缘的封闭键,随后才问:“为什么选它?” + +朱文晋听完翻译,指向昨夜堆在回收机旁的破枪:“长枪,你们已经有很多。手枪少,坏了也难修。” + +他拿起空皮套,压进腰带内侧,放下衣摆。枪套只在布料下撑出一小块阴影。他侧身走了几步,如果宁诚没有提前盯着看,几乎注意不到那里藏着东西。 + +“送信,进城,开会。”朱文晋把皮套重新放回桌上,“这些人需要。” + +宁诚这才反应过来。步枪更适合正面战斗,一把能藏进衣服的手枪,却可以跟着送信的人走进完全不同的地方。 + +朱文晋把皮套压回桌角。赫默也不再追问,将盛着手枪的托盘推入自动实验室。一道白光随即从枪口移向握把。 + +终端上展开半透明的结构图,枪管、套筒、复进簧、弹匣和几组宁诚叫不出名字的零件逐层分开,模型旁的文字飞快刷新。 + +【对象:M1910式自动手枪;工作状态:可用】 + +【完整结构解析将消耗样品】 + +农文禄先看向赫默:“消耗?” + +赫默点了一下屏幕,护罩没有落下:“实验室会拆解、切片和压力测试。结束以后,这把枪大概率无法复原。” + +朱文晋伸手把枪从托盘里取了回来。 + +周围的人都安静下来。昨晚他们把成堆的断枪送进回收机,谁也没有为那些东西犹豫。农文禄盯着这把被反复擦过、还配着皮套的旧枪,像是想提醒它从谁手里传来,最后什么也没说。 + +朱文晋退出弹匣,检查里面空着,随后问:“弹匣和子弹还能留?” + +“可以。”赫默说,“实验室先记录接口。枪毁掉以后,后续产品仍会按照这个口径制造。” + +“会比它可靠?” + +“样品里的磨损不会写进生产模板。” + +终端把两句话译完。朱文晋用拇指擦过套筒上的一道划痕,将枪重新放回托盘。 + +“拆。” + +赫默看着他:“决定以后,实验室不会中途停下。” + +“拆。”朱文晋又说了一遍。 + +护罩合拢,四只细小夹具从舱壁伸出。 + +第一枚销钉退出时,农文禄下意识向前迈了一步。他很快想起地上的白线,又把脚收了回去。旧皮套留在桌角,铜扣被设备震动带得轻轻敲击桌面,一下,又一下。 + +枪在透明罩内逐渐散开。 + +套筒下积着发黑的旧油,握把护板背面藏着薄锈。夹具清理出一处手工锉过的斜面,又在复进簧上找到明显的疲劳。弹簧被压下,放开,再压下;第三次回弹时,它比原来短了一截。 + +农文禄看见实验室把它送进废料格,眉头皱得更紧。 + +“那根弹簧本来还能用。”宁诚低声说。 + +“还能用几次,没人知道。”赫默盯着曲线,“新产品必须有确定的安全余量。” + +宁诚没有再说。他忽然发现自己也在替那把旧枪心疼,大概因为这是他们来到地球以后,第一次有人把仍能使用的东西交给机器。废墟里的钢梁和残骸没有主人,这把枪有。 + +回收机那边忽然传来一声短促警报。 + +终端上的枪械模型闪了两下,分析进度停在原处。透明舱内的夹具没有松开,只是全部锁死,实验室顶端亮起一圈黄色指示灯。 + +【节点功率波动;高精度分析已暂停】 + +宁诚的心跟着提了起来。旧枪已经拆到只剩半副套筒,撞针也被切开了一角。如果实验室此时罢工,朱文晋交出来的样品便真的只换回一堆碎片。 + +赫默转身朝回收机走去。那边刚送入一截粗大的舰体支架,进料口正在进行高温分离,几名搬运者还推着下一截等在后面。 + +“先退料。”她说。 + +负责进料的战士听不懂,看到她指向红色停止键,立刻按了下去。支架只进去一半,退料轮无法抓稳,古米便戴上厚手套,从后面托住金属梁,顺着机器的动作一点点抽了出来。 + +梁身还带着热气。她把它放到石垫上,周围的人很快将后续废料移开,在地上摆出一个临时等候区。原本顺畅的搬运队伍被截断,满箱开始在回收机出口旁堆积;负责空箱的人看了看,主动改道去清理制造机一侧。 + +终端角落里那条发红的能源读数终于开始回升。 + +实验室的黄灯熄灭,夹具从锁止位置重新动了起来。模型上的进度也继续向前。 + +朱文晋一直站在桌边:“刚才停了,枪会怎样?” + +“已经完成的数据还在。”赫默说,“中断太久,部分测试要重新做。样品经不起很多次。” + +朱文晋望向回收机旁那截被退出的支架,又看了看透明舱里的旧枪。他似乎第一次意识到,这几台外表各不相同的机器仍从同一个受损节点取用能源。 + +“一次只能做一件重要的事?”他问。 + +赫默扫过恢复稳定的功率曲线:“目前要排顺序。” + +朱文晋朝等候区里越堆越多的废料看了一阵,叫来负责搬运的人,让他们先去吃饭。没有人再催回收机开机。 + +宁诚把暂停原因画成一枚闪电和三台机器,挂到回收机入口。负责搬运的人未必看得懂功率曲线,却很快记住了实验室亮黄灯时先别继续塞废料。午饭结束后,他们甚至留了一个人专门盯能源节点;读数一恢复绿色,他才朝等候区挥手。 + +宁诚自己都嫌那枚闪电画得歪,办法却意外地管用。回收机重新开动以后,先前堆积的料箱又一只只被送走,生产线没有因为这次停机彻底乱掉。机器需要排顺序,人也已经开始自己找顺序。 + +他还在看那张临时画出来的告示,桌角忽然传来一声轻响。旧皮套被震得滑向边缘,铃兰从薄毯里伸出手,在它掉下去之前按住。 + +她今天仍被赫默限制活动,只能坐在遮棚外侧晒一会儿太阳。她把皮套推回农文禄面前,轻声说:“请收好。” + +翻译终端慢了半拍。 + +农文禄愣了一下,用刚学会的中文回答:“多谢。” + +铃兰朝他笑笑,收回手时把滑下肩头的毯子重新裹紧。赫默远远看了一眼,确认她没有站起来,才继续查看分析数据。 + +实验室切下枪管内壁极薄的一圈材料,又取走撞针、弹簧和一小块套筒。终端上的模型随之不断修正:磨平的纹路重新凸起,手锉留下的斜面恢复笔直,已经疲劳的弹簧被换成了计算后的尺寸。 + +宁诚只看得懂右侧不断升高的完成度。他本来想问每一块材料对应什么,看到赫默同时盯着四组曲线,便把问题咽了回去。 + +阳光从岩壁上缓慢下移。回收机仍在另一边吞食废料,方箱落到输出槽里的声音每隔一阵便传来一次。负责搬运的战士已经形成了自己的节奏,看到实验室被占用,也会主动把需要检测的材料箱放到等候区。 + +一名战士抱着灰色方箱经过时,忍不住朝透明护罩里看了一眼,差点把箱子送到黄色标记的位置。身后的人拍了拍他的肩,他才转回去,把箱子搬向通用制造机。 + +一个多小时后,护罩内只剩几块无法再使用的旧零件。机械夹具将它们逐一称量,最后推入封闭的回收槽。 + +终端上的模型重新合拢。 + +【枪械分析完成】 + +【产品:M1910式手枪】 + +【制造时间:5小时】 + +【用料:铁5,铜5】 + +【产出:1箱(32把)】 + +【等待送入制造机】 + +朱文晋盯着最后一行。农文禄替终端补了一句更顺畅的越南语,人群中很快响起一阵低声议论。 + +“三十二把?”朱文晋问。 + +赫默确认了屏幕:“一只成品箱。” + +朱文晋拿起托盘里剩下的一小块旧握把护板。它已经无法装回任何一把枪,只保留着被手掌磨亮的纹路。 + +“造。”他说。 + +赫默把配方发送给通用制造机。入口处亮起一灰一黄两组材料标识,昨夜已经学会搬箱的人立刻望向暂存区。 + +宁诚顺着标识看过去,机器只点亮了一灰一黄两个接口。“铁5、铜5”被锁定为本批扣量,剩下的材料仍单独记在余料栏里。 + +宁诚等朱文晋点过头,才补了一句:“请安排两个人。只搬这两种箱子。” + +朱文晋叫出两名战士。 + +古米也从废料堆旁跑过来,先把灰色料箱提到入口,又回头去接黄色料箱。 + +跟在后面的越盟战士却得把方箱抵在胸前,每走几步便换一次手。 + +前一夜落过雨,制造机入口前的泥被来往的人踩得发亮。那名战士走到最后一步,草鞋忽然向外一滑,怀里的黄色方箱也跟着歪了下去。 + +古米一步跨回来,左手托住箱底,右手挡住他的肩膀。方箱在两人之间晃了半圈,总算没有撞上接口。 + +“先站稳。”古米说。 + +终端来不及跟上,她便用脚尖指了指那人的草鞋,再把箱子托高一点。 + +那名战士立刻明白了,重新踩实地面。另一名同伴也上来抓住对侧把手。 + +“三个人一起送。”赫默说,“保持水平。” + +三个人把黄色料箱稳稳送进接口。显示带从黄转绿,空箱很快由下方退了出来。 + +铁料箱也照着同样的顺序接入。等两组标识全部转绿,屏幕上便只剩本批扣量和制造机内的余料记录。 + +刚才滑倒的战士没有急着离开。他从废料区找来一块平整的合金板,铺在泥上,用脚反复踩实。 + +另一名战士又搬来两块,沿着入口铺出一条短短的硬路。 + +古米站在旁边看了一阵,也找来碎石填住板下的空隙。 + +短短的硬路铺好时,两只料箱也已经对接完毕。暂存区里仍剩着灰、黄两种方箱,制造机内的余料栏却都短了一截。宁诚拿着终端核对一遍,又看着空箱沿原路送回回收机,这才放下手。 + +赫默检查完两处接口:“足够了。” + +两名战士退出白线。制造机的外壳依次锁紧,状态灯由蓝转黄。 + +就在赫默准备确认时,农文禄忽然从桌边拿来那块旧握把护板。 + +“这个也要放进去?”他问。 + +护板已经被切掉一角,表面的纹路却还完整。赫默接过来照了一遍:“材料没有意义,制造也用不上。” + +农文禄看向朱文晋。 + +朱文晋拿过原本包弹匣的布,把那块护板单独裹好,放在旧皮套旁边。 + +宁诚等终端翻完,才按下确认键。 + +【原料满足,开始制造】 + +密封外壳深处传来一声沉闷的撞击,随后化成稳定的嗡鸣。屏幕上的进度条向前挪了一小格,旁边跳出倒计时。 + +【剩余时间:4小时59分】 + +围观的人等了一会儿。机器没有再吐出任何东西,进度条也慢得几乎看不见。 + +“五个小时。”宁诚说。 + +终端把这句话译出去。有人低声笑了一下,大概在说他们可以先吃午饭,也有人干脆蹲到合金板旁,想看看那条绿色细线究竟什么时候才会再动。 + +朱文晋没有守在机器前。他只按了按旧皮套上的铜扣,又看了一眼包着护板的布,便转身叫上几个人,继续清点昨夜收来的步枪和弹药。 + +农文禄走出几步,又回头看了一眼倒计时。 + +另一边,赫默替铃兰把毯子往上拉了拉:“你该回去休息。” + +“还有四个多小时。”铃兰看着制造机,小声争取,“我可以等一会儿。” + +“等它不会让它更快。” + +铃兰只好起身。 diff --git a/正文/1 弃船/1.1 坠毁后的第一夜/008 武装起来.md b/正文/1 弃船/1.1 坠毁后的第一夜/008 武装起来.md new file mode 100644 index 0000000..fd971d1 --- /dev/null +++ b/正文/1 弃船/1.1 坠毁后的第一夜/008 武装起来.md @@ -0,0 +1,263 @@ +# 008 武装起来 + +最初半个小时里,宁诚看了七次进度条。 + +每次数字都在变,变化又小得令人怀疑。制造机沉稳地响着,外壳摸上去只有一点温热。 + +赫默第八次从他身边经过时,停住了脚步。 + +“你守在这里也不会缩短制造时间。” + +“我在确认运行状态。” + +“状态正常。” + +“那我确认一下有没有变得不正常。” + +赫默把一块终端递给他。上面列着昨夜送来的伤员、药品库存和遮棚需要加固的位置:“去确认这些。” + +宁诚接过终端,觉得自己刚才的借口大概只骗过了自己。 + +山谷里已经忙了起来。昨夜临时搭起的遮棚承受了一场小雨,靠近岩壁的几处积了水,古米正带人重新挖排水沟。她一铲下去比别人深出一截,泥土飞得太远,差点落进装着干柴的筐里,于是被赫默叫去搬石头。 + +铃兰坐在棚口,膝上放着翻译终端。农文禄指向身边的物件,一个词一个词地教她。 + +“水。” + +铃兰照着重复。终端给出绿色标记。 + +“火。” + +她又念了一遍,这次声调偏了,农文禄立刻摇头。铃兰认真听他纠正,九条尾巴在凳子后面轻轻拢起。旁边两个包扎过的伤员也跟着笑,指着终端上的错误标记互相比画——原来会说越南话的机器也会教错。 + +宁诚检查完遮棚,又去看昨夜登记的伤员。最重的那个仍在发热,好在没有继续恶化。赫默留下的药被分成了很小的份,每一包都写着时间。照看伤员的战士看不懂文字,却已经学会按照颜色和太阳的位置来叫人。 + +等宁诚把终端上的事项一项项勾掉,制造机的倒计时还剩三小时四十二分。看来他忙不忙,这条进度都不会多给半点面子。 + +他回到制造节点时,朱文晋正带人把收来的枪分成几堆。能用的放在帆布上,需要修理的靠着岩壁,枪管弯曲或机匣碎裂的则送往回收机。每一支枪旁边都有人用木炭写下来源,字迹有的工整,有的只剩几道简单记号。 + +“这些也换?”宁诚问。 + +朱文晋摇头:“先留。我们现在有很多人,枪还不够。” + +他踢了踢旁边那一堆彻底报废的零件:“这些可以给机器。” + +宁诚点头,没有再劝朱文晋多换。对方见过制造机,却仍把每一支今天能够开火的旧枪留在帆布上。 + +两人之间沉默了片刻。翻译终端一旦无人说话,山谷里的声音便重新涌回来:铲子碰石头,回收机吞下金属,伤员压着嗓子咳嗽,还有制造机那道始终不变的低鸣。 + +朱文晋忽然问:“三十二把枪,你们准备留下多少?” + +宁诚愣了一下。 + +昨天的协议里谈过食物、劳力和飞船边界,唯独没有谈一支旧枪换多少支新枪。解析用的样品来自朱文晋,材料却大半来自战场和坠毁残骸;机器属于公司,搬运又有救国军的人参与。真要逐项算下去,他们恐怕得先发明一套会计制度。 + +“你希望拿多少?”宁诚问。 + +“全部。”朱文晋答得很快,“枪是我交的。需要它们的人也在我这里。” + +宁诚看向赫默。她正在检查回收机的过滤模块,手上停了一瞬,却没有回头,更没有替他作决定。 + +“这一箱都交给你。”宁诚说,“先试一把。出了问题,整箱暂时不能发。” + +终端译完,朱文晋点头:“应该这样。” + +“弹药只有四十多发。枪多了,子弹依然不够。” + +朱文晋从散装弹里拣出两发,弹壳颜色不同,底部的印记也不一样:“别处还有这种子弹。先把枪给能找到它们的人。” + +宁诚看着那两枚来路不同的旧弹。机器能复制枪械结构,散落在山区和城镇里的弹药却只能靠朱文晋的人去找。 + +一箱枪的归属就这么定了下来。正好午饭也出了锅:稀粥,加上几块烤得发黑的根茎。制造机旁边的人轮换着吃,负责上料的两名战士端着碗蹲在警戒线外,一边吹粥,一边看进度条。 + +宁诚走过去时,其中一人指向屏幕,用刚学会的中文说:“还有?” + +“两个小时。” + +终端把答案补成越南语。那人听完,干脆把碗放在膝上,伸出两根手指,又指了指太阳。旁边的人笑他学得慢,他立刻反驳了一长串,翻译屏幕被塞得满是黄色问号。 + +朱文晋也没在制造机旁干等。他看过倒计时,带着几个人出了山谷。 + +下午的太阳移到山谷另一侧,合金板上的水终于晒干。朱文晋回来时,几个人肩上多了几只塞满沙土的麻袋。他让人把麻袋堆到岩壁下,后面再压上一截烧断的舰体梁。 + +“试枪用。”他说。 + +赫默看过位置,要求所有人从侧面清出一条空地,又让古米搬来两块厚板挡住可能飞出的碎石。她自己拿着终端走了几遍,直到屏幕上的射界全变成绿色。 + +“这么近也要算?”宁诚问。 + +“新模板第一次制造。”赫默说,“枪管、闭锁和弹药配合都需要验证。” + +她从那四十七发旧子弹里挑出几发,逐一称重,剔掉一发壳口变形的,又把两个弹匣拆开检查。 + +农文禄盯着被取出的弹簧,眉头又一点点皱了起来,视线还往实验室那边飘了一下。 + +“这两个还能装回去?”他问。 + +“能。”赫默说。 + +农文禄的眉头这才松开。 + +倒计时进入最后十分钟后,山谷里的工作明显慢了下来。有人抱着空箱经过,脚步会在屏幕前停一下;有人站得太远,便借着送废铁的机会绕过来。朱文晋没有驱赶他们,只让所有枪口朝下,别挤过白线。 + +铃兰也从遮棚里出来了。她已经披好外衣,手里还拿着那块学越南语的终端。赫默看了她一眼:“站在我后面。” + +“好。” + +最后一分钟跳出来时,宁诚听见有人开始小声数数。农文禄只教了他们中文的一到十,数到后面便又换回越南语。两种语言在提示音响起的瞬间撞到一起,随即被一声金属解锁声压了下去。 + +制造机入口先退出空料箱,输出端随后亮起白灯。 + +一只标着手枪图案的成品箱缓缓滑出。 + +负责搬运的战士习惯性地伸手,赫默却让他等到接口灯完全熄灭,才允许两个人抬起箱子。箱体比普通料箱更沉,里面却听不见任何碰撞。四个人跟着它一路走到解包节点,连朱文晋也没有越过警戒线。 + +箱体与节点对接,前方舱门向两侧打开。四层浅托盘依次滑出,每层八把,一共三十二把。 + +枪身保留着旧勃朗宁的轮廓,表面却看不到磨痕、锈迹和厂标。所有套筒停在相同位置,握把朝向一致,像是同一个影子被整整齐齐地切成了三十二份。 + +后排的人向前挪了半步。朱文晋抬起手,草鞋便全停在刚铺好的合金板以外。 + +赫默让他挑一把。 + +朱文晋弯下腰,点了点底层最里侧的那支。 + +赫默将它抽出,检查套筒、击发机构和保险。新枪第一次拉开时发出清脆的金属声。 + +农文禄递上卸空的旧弹匣。弹匣插进握把,锁定,再落回赫默掌心,动作干脆得让他露出了一点笑。 + +赫默在扳机护圈上贴了一道白色标记:“这把试射。其余留在箱里。” + +试枪场只隔着几十米。古米把最后一块挡板放好,所有人退到标线外。赫默先把白色标记枪固定在一只简易支架上,用细绳远距离扣动扳机。 + +第一声枪响在山谷里格外尖锐。 + +麻袋正中凹下去一块,后面的舰体梁发出清脆的撞击声。枪身留在支架上,套筒已经复位,一枚旧弹壳落在右侧泥地里,还冒着一点淡烟。 + +古米想过去捡,被赫默抬手拦住。等了十几秒,她才允许宁诚跟在自己后面接近。 + +枪管温度正常,弹壳没有异常鼓胀。赫默又检查了套筒和弹匣,把结果记进终端。 + +第二轮由朱文晋自己打。 + +他站在白线前,听完赫默翻译过去的操作要求,双手握枪,对准沙袋。第一发落在偏左的位置,第二发已经接近中心。第三发打完,他没有立刻转身,先退出弹匣、拉开套筒,把空枪放到桌上。 + +这一连串动作让赫默的神色缓和了一点。 + +农文禄从地上捡回三枚弹壳,一枚也没漏。 + +朱文晋拿起白色标记枪看了很久,拇指摸过全新的握把纹路,最后把它放进那只旧皮套。尺寸正好,铜扣也能合上。 + +“这一把留着标记。”赫默说,“后续检查要知道它打过多少发。” + +朱文晋点头,重新取出来,放回单独的托盘,对这种要求没有异议。 + +第一把过了关,剩下的检查这才正式开始。 + +其余三十一把被逐支检查,套上薄薄的防护纸,再装回成品箱。 + +救国军的人带来两条扁担和结实的麻绳,打算把整箱抬走。 + +赫默看过绑法,指出绳结会压住箱体接口。 + +农文禄随即让他们改成托住底部的木架。 + +“箱子以后要还回来。”宁诚提醒。 + +朱文晋拍了拍木架:“枪拿走,箱子送回。” + +交接比宁诚想得简单。两名战士抬起木架,另外两人护在两侧,三十二把手枪就这样沿着泥路离开制造节点。围观的人自动让开一条路,目光却始终跟着那只银灰色箱子。 + +上午送来的旧皮套也被农文禄带走了,里面装着白色标记枪;包着旧握把护板的布包由他另外收好,两个旧弹匣则留在实验室旁。 + +宁诚跟到营地边上,看见朱文晋把领取手枪的人逐个叫到帆布前。 + +排在最前面的几个人没有穿统一军装。有人像普通赶路人一样挽着裤腿,有人腰间挂着装盐的旧布袋,还有一个女人背着盛草药的竹篓。若在山路上遇见,宁诚很难把他们同武装人员联系起来。 + +每人先交出任务和已有弹药,农文禄在木板上登记,再由朱文晋亲手发枪。领到枪的人要当场退出弹匣、检查弹膛,做错便把枪放回去重来。两名年轻战士站在旁边等了很久,最后也没有轮到。 + +其中一人忍不住问:“我们要守营地,为什么不给?” + +朱文晋指向他肩上的步枪:“你已经有枪。” + +“那是旧的。” + +“还能打。”朱文晋说,“手枪先给要藏住武器的人。” + +年轻战士盯着托盘里整齐的新枪,明显不服气。 + +背药篓的女人已经将枪藏进腰间,放下衣摆后只剩一道很浅的褶皱。她从他身边经过时说了一句,终端没有录到,旁边几个人却笑了。 + +年轻战士脸上一热,扛起自己的旧步枪走了。 + +宁诚站在一旁,原先那句该怎样解释新枪的腹稿始终没用上。朱文晋问的全是任务、现有武器和子弹,没人顾得上谈神迹。 + +最后有四把没有发。朱文晋没有为了清空托盘而随便找人。 + +农文禄把它们逐支登记,转进营地原有的武器箱,等下一次任务再领。 + +成品箱空出来以后,两名搬运者当场拆下木架,把它抬回制造节点。 + +热闹跟着枪箱去了营地,制造节点总算安静下来。赫默这才从剩余弹药中取出三发。 + +第一发用来确认弹头结构,第二发拆解底火,第三发检测装药。设备把黄铜弹壳切开,弹头也沿中线剖成两半。宁诚看见里面颜色不同的金属层,屏幕上随即列出一串成分。 + +分析时间比手枪短得多。朱文晋回到制造节点时,结果刚好弹出。 + +【弹药分析完成】 + +【产品:7.65毫米手枪弹】 + +【制造时间:1小时】 + +【标准用料:铁3,铜1】 + +【产出:1箱(192个七发弹匣,共1344发)】 + +【缺少受控材料:铅芯、发射药、底火剂】 + +【当前无法制造】 + +宁诚盯着最后两行。枪的配方刚刚打开一扇门,弹药配方又在门后竖起三道墙。 + +朱文晋问:“少的东西,哪里有?” + +赫默将检测出的化学成分放大:“铅可以找矿,也能从旧弹药和一些器具里回收。发射药和底火剂需要稳定原料、设备和工艺。现在用现成弹药更安全。” + +“能拆步枪弹来装?” + +“风险很高。装药不同,底火尺寸也不同。”赫默收起样品,“先收集同口径弹药。损坏的交给实验室。” + +朱文晋把这句话记住了。他随即看向回收机旁的暂存区。上午还排得整齐的灰色和黄色料箱已经空了许多,剩下的废枪堆也矮下去一截。 + +“还能造多少箱?”他问。 + +赫默调出库存。几条余量在屏幕上展开,铜的那一条最短。 + +“继续拆现有废料,可以再造几箱。制造其他设备也要用这些材料。” + +“其他设备?” + +“采矿、冶炼、加工。” + +这几个词被终端逐一翻出。朱文晋没有立刻追问机器的样子,只盯着快要见底的铜料标识。 + +宁诚也看明白了。昨晚那堆残骸看起来像一座山,真正分成能够使用的标准材料以后,数量远没有想象中多。制造机内还留着上一批的余料,可枪械和后续设备争用的是同一批铁铜;飞船里能拆的东西或许更多,代价却会落在维生、能源和修复上。 + +“废铁总会用完。”宁诚说。 + +朱文晋点头。他走到折叠桌旁,从衣袋里取出一张折得很小的纸。展开以后,上面只有几条河、山路和用墨点标出的村寨,边角已经被汗水浸软。 + +他在山谷外的几处地方点了点:“旧矿。” + +“什么矿?”宁诚问。 + +“有人挖过。法国人,日本人,还有山里的人。”朱文晋的手指向北移了一段,“有些停了,有些路还有兵。” + +赫默走过来,看了一眼地图:“需要样品。” + +“我去找。”朱文晋说。 + +他把地图重新折好,最后看了一眼空下去的料箱位置。 + +第一箱新枪已经送进营地。下一箱所需的金属,还埋在山外。 diff --git a/正文/1 弃船/1.1 坠毁后的第一夜/009 旧矿.md b/正文/1 弃船/1.1 坠毁后的第一夜/009 旧矿.md new file mode 100644 index 0000000..ff1f4ad --- /dev/null +++ b/正文/1 弃船/1.1 坠毁后的第一夜/009 旧矿.md @@ -0,0 +1,279 @@ +# 009 旧矿 + +朱文晋说的“旧矿”,最初只是一张地图上的五个墨点。 + +离山谷最近的那个没有名字。农文禄说,法国人来以前便有人从那里挖石头,后来洞口塌过一次,只剩村里几个老人还记得路。第二个墨点靠近一条旧驮道,日本人去年派人问过,却没有长期驻兵。再往北的三处,连朱文晋也只知道大概方向。 + +“这里有人见过红色石头。”农文禄指着其中一处,“这里的水会染颜色。这里……” + +他停了很久,最后摇头:“只听人说过。” + +翻译终端努力把红、黄、黑几种颜色列在地图旁边。宁诚看了一会儿,除了觉得越南的石头种类很多,什么也没判断出来。 + +“红色会是铁矿吗?”他问。 + +赫默把地图推回桌面:“也可能只是含铁的土。先看样品。” + +“铜矿会是什么颜色?” + +“风化以后可能发绿、发蓝,也可能没有明显颜色。” + +宁诚决定放弃用颜色猜矿。他让终端在地图边上加了一张表,只记三个东西:样品从哪一处取、在地表还是旧坑里、附近有没有日军。 + +朱文晋看懂以后,把五个墨点分给不同的人。近处派两名熟路的战士,能当天回来最好;天黑前赶不回,就在熟悉的村寨过夜,不能摸黑走山路。远处先找当地联络人,谁也不能为了捡几块石头去碰日军岗哨。 + +“每个地方多带几块。”赫默补充,“矿石、废渣和附近普通岩石分开装。” + +农文禄花了好一阵,才把“废渣”解释清楚。 + +临出发的战士听完,却指向地上烧黑的舰体残片,又拍了拍腰间的布袋。 + +赫默只好找来三只布袋,分别画上圆圈、叉和一道横线。 + +“照这个分。”宁诚说。 + +那人把三只袋子系在腰上,走出几步又回来,拿起桌上的木炭,在自己手背上也画了三个记号。农文禄笑他记性差,他回了一句很快的越南语,终端只翻出“你上次把盐当成药”。 + +这场互相揭短直到朱文晋抬眼才停。 + +两人钻进林子以后,宁诚还在原地站了一会儿,直到最后一片被拨开的树叶也不再晃动,才转身回到制造节点。 + +山谷里重新只剩下机器的声音。 + +第一箱手枪已经交给朱文晋一方,回收机旁的废料也少了很多。 + +昨夜看起来堆得到处都是的残骸,如今被划成三类:可以放心拆的、需要赫默检查的,以及任何人都不准碰的舰体结构。红色禁拆标记从能源节点一路延伸到破损船体深处。 + +古米抱着料箱从旁边经过,脚步明明很急,到了红线前还是老老实实绕了个弯。 + +宁诚正看着她绕路,朱文晋那边又推来一车废金属。车上有裂开的锅、坏掉的锄头、几截铁轨连接件,还有两只被压扁的铜壶。 + +宁诚走到车边,先看见了铜壶上的补丁。 + +“这些从哪里来的?” + +“附近几个营地。”朱文晋说,“能用的没有拿。” + +宁诚拿起一把断锄。木柄早已朽空,铁刃却只缺了半边,放在村里也许还能被铁匠改成小刀。 + +朱文晋从他手里接过去,指向断口:“这里裂了。铁匠说修它花的炭,可以做两件新的。” + +宁诚把锄头放回车上,没有再逐件挑。他让人在车旁登记来源,至少以后有人来问,不会只得到一句“已经喂机器了”。 + +回收机吞下第一批废金属。灰色料箱出来得很快,黄色料箱却迟迟凑不满。直到两只铜壶也被送进去,显示带上的铜标识才勉强向前挪了一截。 + +赫默看着那点可怜的涨幅,干脆把库存投到桌面。枪械配方占据一侧,另一侧则是她从受损资料库里筛出的四种设备图样。 + +【热能采矿机】 + +【石炉】 + +【组装机1型】 + +【基础物料输送带】 + +宁诚的目光在最后一行停了停。游戏里的传送带永远是第一批要铺的东西,只要起点和终点接上,矿石便会自己排着队移动。 + +他抬头看向山谷。几名救国军战士正抱着标准箱往返于设备之间,湿泥上的合金板已经铺到暂存区。有人负责满箱,有人回收空箱,还有人盯着颜色叫错路的人回来。传送带当然会更快,也会让其中大半人立刻失去位置。 + +更现实的问题是,他们连矿在哪里都没有确认。 + +“先看采矿机和石炉。”宁诚说。 + +赫默移开另外两张图样,只留下采矿机和石炉的材料需求。现有库存可以制造两只热能采矿机部署核心,石炉核心所需的耐热内衬则能从附近岩石中筛选。四只部署箱做完,铁和铜都会降到很低,第二批手枪无法立刻开工。 + +屏幕上的余料刚算清,昨天负责领取手枪的小队长便抬着空箱回来了。他听农文禄说完,立刻把箱子放到桌边:“枪已经有人在等。” + +朱文晋问:“多少人?” + +“名单上还有二十七个。两个人有自己的子弹。” + +小队长打开随身的布包,里面果然装着十几发同口径手枪弹,弹壳新旧不一。他已经从不同队伍里把这些东西收了起来,只等第二箱枪。 + +“机器要多久才能挖到矿?”他又问。 + +宁诚答不上来。矿点没有确认,路和当地人的态度也全是未知,谁都给不了日期。 + +小队长便把两件事摆得很直白:“枪今天可以拿。矿机今天只能放在箱子里。” + +朱文晋拿起那包子弹,看了一会儿,又把它还给他:“二十七个人拿到枪,也只有两个人能装弹。” + +“子弹可以再找。” + +“铁和铜也要找。”朱文晋说,“先让能找到铁和铜的东西出来。” + +小队长的目光落在枪械图标上。他没有继续争,只把空成品箱推向回收区,布包却仍握在手里。 + +“名单留着。”朱文晋说,“下一批先给他们。” + +小队长这才把那包子弹收回怀里。 + +朱文晋等小队长离开,才对宁诚说:“我的人可以等。剩下的材料,你来决定。” + +宁诚看向赫默:“做完这四只箱子,还能保住设备抢修的最低余量吗?” + +“可以。”赫默说,“但不能同时开第二批手枪。” + +宁诚把枪械配方移到队列外,只留下两只采矿机核心和两只石炉核心:“先做这些。样品、道路和当地许可没确认以前,一只也不展开。” + +朱文晋看着手枪图标退到等待区,问:“这些机器能带去矿上?” + +“可以带。”赫默说,“要先确认矿层和部署位置。” + +“一台多重?” + +赫默调出设备完全展开后的质量。终端随即报出数字。 + +农文禄听完,以为翻译出了错,又让它重复一次。 + +“山路抬不过去。”他说。 + +古米正在旁边给一只料箱换把手,听见这句话便抬起头:“古米可以试试。” + +“路窄,坡也陡。”农文禄看了看她,“你能抬,人走不过去。” + +古米想象了一下自己抱着整栋机器卡在树间的样子,终于没有继续争。 + +赫默点开设备图样右下角的部署标识:“制造机会输出部署箱。箱内保存控制核心、打印机构和现场无法加工的部件,大块结构材料还要另外准备。” + +“像昨天的枪箱?”宁诚问。 + +“枪已经在箱里。部署箱只是建造设备的核心。到现场以后,还要接入标准材料和合格石料。” + +她将一段模拟投到桌面。银灰色方箱先用四根锚杆固定,侧面接上材料箱,细小的打印臂才沿着光标一圈圈升高。底座、齿轮和外壳逐层成形,最后才是一台比人更高的采矿机。 + +终端同时弹出警告。 + +【部署后无法恢复折叠状态】 + +【拆除将破坏结构,材料仅可部分回收】 + +朱文晋看完模拟,首先问:“放错地方呢?” + +“会浪费设备。”赫默说。 + +“路被日本人切断呢?” + +“设备留在矿上,除非我们把它拆掉。” + +“当地人以后不让挖呢?” + +赫默关掉设备参数,抬眼看向宁诚。 + +“那就不能展开。”宁诚说,“先找矿,再和管那片地方的人谈。机器送到洞口,也要等他们同意。” + +朱文晋的手指在桌面上敲了两下,没有点头:“路上的事,我去问。” + +有了昨天守着五小时进度条的经验,这一次没人再围着制造机干等。设备配方载入以后,搬运组按照图标运来材料。 + +古米则去溪边和岩坡挑选符合实验室要求的石料。她起初抱回一块格外漂亮的白石,被检测灯照成红色,只好又原样放回去;第二块外表粗糙,反而通过了耐热测试。 + +几名战士很快学会用便携检测灯筛选。绿灯的石块送进回收机,红灯的堆到排水沟边加固泥坡。到了下午,石料不再需要古米一块块搬,两个竹筐便能接续送来。 + +到了傍晚,制造机先后吐出两只石炉部署箱。 + +它们和普通料箱大小相近,顶面多了四个黑色锚孔,显示带上是一座简化的方形炉膛。宁诚绕着箱子走了一圈,仍很难把它同一座需要石料、金属和燃料的炉子联系起来。 + +他伸手碰了碰侧面。箱体沉稳地放在地上,没有任何折叠缝隙。 + +赫默从后面拍开他的手:“部署锁已经解除。别碰黑色区域。” + +宁诚立刻退开半步:“误触会怎么样?” + +“这里没有部署许可,无法启动。” + +“那你刚才为什么拍我?” + +“让你养成习惯。” + +古米抱着第三筐石头经过,努力把笑憋了回去。 + +热能采矿机耗时更长。第一只箱子出来时天已经黑了,第二只还在制造。朱文晋安排人把三个完成箱搬进临时仓位,地面垫木,外面覆盖防雨帆布,再派两个人轮流看守。 + +“它们不会自己打开吧?”守夜的人问。 + +“要有授权、固定锚点和材料输入。”宁诚说,“缺一项都开不了。别碰接口。” + +对方立刻把手背到身后。 + +夜里又落了一场雨。 + +看守的人发现帆布一角积水,伸手去掀时,整片水正朝箱顶的锚孔流。另一个人赶紧托住帆布,两人一时僵在原地,谁也不敢越过赫默画出的黑线。 + +古米被叫醒后抱来两根长木,从外侧把帆布顶成斜坡。积水哗地泼进排水沟,三个箱子全都保持干燥。她又找来碎石压住四角,直到风吹不动才回遮棚。 + +第二天,赫默检查锚孔和接口,没有发现进水。守夜的两人仍被要求重新搭一遍帆布,并在仓位旁挖出更深的导水沟。 + +等第四只箱子从制造机出来,临时仓位已经像一座小小的营房:木垫离地,帆布有坡,四周排水,值守记录也挂在不会淋雨的位置。设备还没到矿上,照看它们的规矩先有了雏形。 + +临近中午,近处取样的战士回来了。 + +两人的裤腿沾满黄泥,其中一人肩上多了一道擦伤。他们带回七只布袋,袋口按照圆圈、叉和横线分别扎紧。宁诚看见那三个木炭记号,才想起这是出发前临时想出的分类办法。 + +“路上有日本人?”朱文晋先问。 + +“没有。”农文禄替伤员回答,“旧洞口塌了一半。他搬石头时被边上的木头划了。” + +赫默把人叫到一旁处理伤口。 + +剩下的活便落到了宁诚手里。他和另外两人把样品搬上实验室托盘。 + +第一袋只是普通砂岩。第二袋的含铁量刚升上去一点,宁诚还没来得及高兴,第三袋又掉了下来。直到来自旧坑深处的第四袋进入扫描区,屏幕上的曲线才终于越过可利用标准。 + +【含铁矿石】 + +【可冶炼】 + +【样品含铜量:低】 + +周围的人还在等终端翻译,宁诚已经先松了一口气。至少地图上的第一个墨点没有骗他们。 + +赫默准备把样品退回时,出发前画着叉的那只袋子却亮起了绿灯。负责取样的战士立刻摇头,说那里面装的是旧坑外的废渣。 + +剩余几袋被重新打开以后,两人才发现有两个袋结在路上系反了。矿石本身没有变,来源记录却险些整个颠倒。 + +宁诚让他们照着地图重新回忆:谁先进入坑道,哪一袋由受伤的人背出,哪只袋口沾过水。直到所有细节都对上,农文禄才把圆圈和叉重新画好。 + +实验室给得出石头成分,判断不了人在哪个岔路口系错了绳。 + +朱文晋当场又加了一条:以后每装满一袋,木牌立刻绑上,回到村寨以前不换袋。 + +赫默却没有宣布可以开矿。她把不同袋子的结果排在一起,指向旧坑深处的两块:“能用的样品集中在这里。要看露头范围,还要检查坑道稳固程度。” + +受伤的战士包好肩膀,走回来在地图上补了一条短线。他用手比出塌方的位置,又在旁边画了一个小水坑。 + +“村里有人知道里面。”农文禄翻译,“他们以前挖过,可以带路。” + +“谁管那座矿?”宁诚问。 + +朱文晋回答:“附近村寨。我的人能去,开挖要和他们谈。” + +铁的来源有了轮廓,铜仍然空着。直到当天傍晚,一名从北面赶来的联络员才把小布包交给朱文晋。 + +布包只有巴掌大,里面三块石头颜色各异,其中一块裂缝间带着暗绿色痕迹。它来自地图最北侧的墨点,取样的人没有穿过日军岗哨,而是从当地一户采石人家里找到的旧存货。 + +实验室很快给出结果。 + +【含铜矿石】 + +【可冶炼】 + +【来源位置:待核实】 + +“这里离我们多远?”宁诚问。 + +农文禄沿着地图上的驮道量了量:“走山路,两天。雨后更慢。” + +“那边听谁的?” + +朱文晋没有把手按在地图上:“有我们的人,也有当地的队伍。我要先送信。” + +赫默合上检测舱:“一块旧样品只能证明那里出现过铜。采矿机暂时不能送过去。” + +临时仓位里,两只石炉箱和两只热能采矿机箱已经整齐排好。它们足够轻,可以由几个人沿山路抬走;一旦在错误的位置展开,便会变成谁也搬不动的钢铁和炉石。 + +朱文晋收好铜矿样品,叫来北上的联络员。他写了很短的一封信,又让农文禄把几句话单独记在纸边。 + +“告诉他们,我们想看矿。”朱文晋说,“先谈,再挖。” + +他停了一下,又补充:“机器也先留在这里。” diff --git a/草稿/1 弃船/1.2 待定篇名/00 草稿索引.md b/草稿/1 弃船/1.2 待定篇名/00 草稿索引.md index 2f5a17e..8d6026c 100644 --- a/草稿/1 弃船/1.2 待定篇名/00 草稿索引.md +++ b/草稿/1 弃船/1.2 待定篇名/00 草稿索引.md @@ -1,28 +1,21 @@ -# 第007—020章草稿索引 +# 第010—012章草稿索引 -本目录保存从旧任务恢复、按当前卷篇结构整理的章节草稿。它们尚未升格为 `正文/`。 +本目录保存正文009之后、尚未升格的候选章节。 - [第007—020章时间线与章纲](<../../../大纲/1 弃船/1.2 待定篇名/第007—020章时间线与章纲.md>) - [工业与制造设定](../../../设定/工业与制造.md) - [1945年4—5月越南政治局势](<../../../设定/1945年4—5月越南政治局势.md>) -第006章已经升格为 `正文/1 弃船/1.1 坠毁后的第一夜/006 传奇的开始.md`。根目录下的 `草稿/006 新的开始.md` 只是被正文替代的旧标题占位,为方便追溯而保留,不再纳入活动草稿索引。 +007《一把旧枪》、008《武装起来》、009《旧矿》已经升格为正式正文,当前文件位于: -第020章草稿已经在恢复稿基础上修订,加入越盟掌握的全国政治地图、越盟自己的独立与建政愿景,以及公司在该草稿阶段“尚未承诺,也未拒绝政治合作”的处理。以上仍是待审阅剧情,不是正文 canon;迁移时的原始版本保存在 `草稿/迁移自任务-019f6bcf/`。 +- [正文007 一把旧枪](<../../../正文/1 弃船/1.1 坠毁后的第一夜/007 一把旧枪.md>) +- [正文008 武装起来](<../../../正文/1 弃船/1.1 坠毁后的第一夜/008 武装起来.md>) +- [正文009 旧矿](<../../../正文/1 弃船/1.1 坠毁后的第一夜/009 旧矿.md>) -## 逐章草稿 +013以后只确认进入日军对运输线的侦察、封锁和争夺,需在010—012确认后重新规划。 -- [007 枪是一种信息](007%20枪是一种信息.md) -- [008 以旧换新](008%20以旧换新.md) -- [009 机器没有夜班](009%20机器没有夜班.md) -- [010 一张吃不饱的清单](010%20一张吃不饱的清单.md) -- [011 标准答案](011%20标准答案.md) -- [012 子弹不会凭空长出来](012%20子弹不会凭空长出来.md) -- [013 仓库](013%20仓库.md) -- [014 山外的眼睛](014%20山外的眼睛.md) -- [015 只收一份订单](015%20只收一份订单.md) -- [016 没有人的车间](016%20没有人的车间.md) -- [017 工厂修理工厂](017%20工厂修理工厂.md) -- [018 断线](018%20断线.md) -- [019 统一后勤](019%20统一后勤.md) -- [020 越南解放军](020%20越南解放军.md) +## 当前候选工业线 + +- [010 谁来挖](010%20谁来挖.md) +- [011 把矿运回来](011%20把矿运回来.md) +- [012 第一台组装机](012%20第一台组装机.md) diff --git a/草稿/1 弃船/1.2 待定篇名/007 枪是一种信息.md b/草稿/1 弃船/1.2 待定篇名/007 枪是一种信息.md deleted file mode 100644 index a7731b9..0000000 --- a/草稿/1 弃船/1.2 待定篇名/007 枪是一种信息.md +++ /dev/null @@ -1,427 +0,0 @@ -# 第七章 枪是一种信息 - -第二天一早,朱文晋带回来一把手枪,装在一只旧皮套里。皮革边缘已经磨白,铜扣上带着暗绿色锈迹。 - -农文禄把它放到折叠桌上时,动作很轻,像放下的不是武器,而是一件借来以后必须原样还回去的贵重物品。 -“勃朗宁。”他说。 - -宁诚低头看着那把枪,外形确实眼熟。枪身小巧,线条简单,套筒前端略显圆润;握把上的纹路已经被长期使用磨平了一些,表面处理也不再完整,却没有明显磕碰和锈蚀。 -至少比昨天战场上那些被古米重新设计过外形的步枪健康得多。 - -“能开火?”宁诚问。 - -农文禄点头:“昨晚试过。一共两个弹匣,四十七发子弹。”他又把两个布包放到桌上,里面是黄铜弹壳的手枪弹。 - -“从哪里来的?” - -农文禄把问题翻给朱文晋。 - -朱文晋只回答了几句。 - -“以前法国人的。”农文禄说,“后来到了一个警察手里。再后来,到了我们手里。” - -这段经历显然省略了不少细节,宁诚也没有追问。一把在殖民地流转多年的枪,换过几个主人再正常不过;真正不正常的是,它今天要被送进一台从天上掉下来的机器。 - -赫默戴上手套,把枪从皮套中取出。她先退出弹匣,检查弹膛,又让材料分析机进行外部扫描。一道细白光沿枪身缓慢移动,终端很快浮出第一批数据。 - -【对象类型:机械式动能武器】 - -【工作状态:可用】 - -【主要材料:铁基合金、有色金属、木质/有机复合握把】 - -【结构复杂度:低】 - -【建议取得配套耗材】 - -“它知道这是枪了?”农文禄问。 - -“知道它是武器。”宁诚说,“还不知道怎么做。” - -“看一看还不够?” - -“大概不够。” - -宁诚说这句话时也没有多少底气。昨天晚上,他只来得及看材料分析机把几块舰体废料分成不同物质;用一束光扫过以后,机器确实能告诉他们哪一块含铁更多、哪一块带有不能直接回收的污染。可从“知道这是一把枪”到“重新造出同样的枪”,中间显然还有很长一段路。 -至少宁诚以前上课时,老师不会因为他看懂了答案标题,就默认他能完整推导过程。 - -赫默把一发子弹放进分析托盘。 - -设备没有立刻吞下子弹,而是先伸出两只细小夹具,从不同角度固定弹药。扫描光从弹头移到弹壳,又沿底火周围转了一圈。 - -【配套弹药已识别】 - -【标称口径:7.65毫米】 - -【建议样本数量:12】 - -【最低可行样本数量:6】 - -农文禄看到数字,立刻把布包往自己方向拉了一点。 -“十二发?” - -“机器这么说。”宁诚回答。 - -“看子弹要用十二发?” - -“可能不只是看。” - -农文禄的表情更加警惕。 -昨天他们已经见识过回收机的工作方式:一根烧毁的金属梁进去,出来以后连原来的形状都没有了。如果所谓“分析”也是同一种风格,这十二发子弹多半不会完整回来。 - -朱文晋听完翻译,拿起其中一个布包,数出十二发放到托盘旁边。 - -农文禄看了他一眼,没有再阻止。 - -十二发子弹对救国军不算少,但与一条可能学会制造武器的生产线相比,又少得惊人。 - -宁诚在终端上确认样本输入,分析机随即将第一发弹药送入封闭舱。外壳合拢,几秒后,舱内传出一声很轻的机械响动。终端上的弹药模型被分成四层:弹头、弹壳、发射药和底火。 - -接着是更多宁诚看不懂的数据:重量、几何公差、材料组成、燃烧速度估计,还有一条被红色标出的警告。 - -【含能材料稳定性需实测】 - -【是否允许进行封闭燃烧试验?】 - -宁诚看向赫默。 -“会炸吗?” - -“在测试舱里。”赫默回答,“正常情况下不会影响外部。” - -“异常情况呢?” - -“测试舱会损坏。” - -农文禄听不懂两人的完整对话,却准确听见了“损坏”这个词。 -他又把剩下的子弹往远处挪了一点。 - -宁诚确认。 - -分析舱内亮起短暂白光。 - -终端上的燃烧曲线快速展开。没有枪声,只有一道闷响被厚重外壳压在机器内部。 - -一发子弹就这样消失了,随后是第二发。第三发被拆掉弹头,发射药分成几个小批次;第四发只取了底火;第五发则被完整送进微型测试枪膛。显示界面上,一条压力曲线骤然升高,又迅速落下。 - -农文禄眼睁睁看着布包越来越瘪,脸上的肉疼已经不需要翻译。 -“它为什么每一发都要用不同办法弄坏?” - -“因为要知道不同东西。”宁诚说。 - -“一发不能全知道?” - -宁诚一时不知道该怎么解释破坏性试验和统计重复。 - -赫默倒是给出了简单答案。 -“一发可能撒谎。” - -翻译模块把这句话转成越南语以后,农文禄愣了几秒。 -“子弹也会撒谎?” - -“比如受潮、装药偏少,或者底火老化。”赫默说,“只测到这样一发,结果就不能代表其他子弹。” - -宁诚这才听明白,把她的话压成更短的一句:“多试几发,才知道平常是什么样。” - -农文禄终于勉强接受。 -“枪也要弄坏?” - -这才是最重要的问题。 - -材料分析机似乎很配合地在同一时间弹出新提示。 - -【功能结构解析:87%】 - -【可进行非破坏运动建模】 - -【量产材料协议缺失】 - -【建议取得枪管、套筒、弹簧与机匣截面样本】 - -【参考物预计完整保留率:31%】 - -宁诚盯着最后一行。 -“百分之三十一是什么意思?” - -赫默回答得很平静。 -“分析结束后,大约百分之三十一的结构可能保持原状。” - -“还能用吗?” - -“不能。” - -农文禄虽然听不懂百分数,却听懂了最后两个字。 -“不能还?” - -“可以还。”宁诚看着桌上的枪,“只是会变成几块。” - -农文禄立刻把手枪拿了回去。 -动作比收子弹时快得多。 - -朱文晋皱了皱眉,问了几句。 - -两个人用越南语交谈起来。声音不高,却明显存在分歧。 - -宁诚没有催。 -一把状态良好的手枪,对于现在的越盟而言足够珍贵。它可以交给指挥员、武装交通员,也可以在关键时候换来其他物资。而公司提出的条件却是:把它切开。 -至于切开以后究竟能不能再造出一把,宁诚自己都只听过赫默的理论判断。 -机器没有给成功率。 -它只说需要样本。 - -“如果不给枪,会怎么样?”农文禄结束争论后问。 - -赫默调出当前进度。 -“可以建立外形与基本运动模型,不能建立可靠制造协议。” - -“能造一把试试?” - -“可以。” - -“那先造。” - -赫默摇头。 -“未经材料验证的武器可能在击发时炸裂。” - -农文禄看了看手里的枪,又看向制造机。 -显然,他并不想成为第一个试验“可能炸裂”的人。 - -朱文晋走到分析机旁,没有碰设备,只隔着一步距离观察那把枪的扫描模型。原枪的每一个零件都悬浮在光幕中。 -枪管、套筒、复进簧、弹匣、保险与击发机构逐层分开。机器甚至根据磨损痕迹模拟了它过去数千次运动后的接触位置。 - -宁诚看着光幕,也渐渐明白这与枪匠拆枪不同。老师傅凭经验修理零件,眼前的机器却像把钢铁的皮肤整个剥开,连里面为什么会磨损都一起摊在光里。 - -朱文晋问了一句话。 - -“如果给你们,能造多少?”农文禄翻译。 - -宁诚看向制造机。 -“取决于材料。” - -“昨天那些坏枪够多少?” - -赫默把问题输入系统。 - -材料分析机根据昨天登记的废枪、机枪残件与散乱弹药,迅速给出粗略估算。 - -【可回收铁基材料:预计196—231千克】 - -【可回收铜基材料:预计31—38千克】 - -【可回收铅基材料:预计22—29千克】 - -【可用含能材料:未检测】 - -【在弹药输入充分的前提下,预计可生产兼容型手枪:54—67支】 - -农文禄听完数字,明显以为翻译错了。 -“多少?” - -“至少五十多支。” - -“一把换五十把?” - -“不是。”宁诚立刻纠正,“一把枪只提供做法。五十把的钢和铜来自那些废枪。” - -“没有这把呢?” - -“有材料,没有做法。” - -“有这把,没有废枪呢?” - -“有做法,没有东西。” - -农文禄把这段对话翻给朱文晋。 - -朱文晋听完后,没有再犹豫太久。 -他从农文禄手中接过手枪,检查弹膛,随后把枪重新放回分析托盘。 - -“给你们。”农文禄说。 - -“不是借?”宁诚确认。 - -“不是。” - -“如果失败,枪也回不来。” - -“朱指挥员说,昨天一个连已经失败过一次。”农文禄停顿片刻,“今天可以让一把枪也冒险。” - -这句话听起来有点奇怪。 -可宁诚大致明白意思。 - -他在终端上确认破坏性解析。 - -分析机的透明防护罩缓缓合拢。 - -机械夹具固定枪身,第一轮扫描仍然很温和。枪械被自动拆解,每个零件依次经过成像、称重、硬度与运动测试。弹簧被压缩到极限又释放,套筒在模拟轨道上往复运动,枪管内壁被细束光线完整读取。 - -越盟战士围在线外观看。 -有人小声议论。 - -当机器把枪管送向切割区时,议论声突然停了。 - -一束细得几乎看不见的光落下,枪管从中切开。截面被放大到光幕上,金属晶粒、热处理层与长年磨损留下的细微裂纹清晰可见。 - -农文禄嘴角抽了一下。 - -随后是套筒、机匣和击针。复进簧被拉到断裂,握把材料也被切下一小块。 - -一把还能正常开火的手枪,在不到十分钟里变成了许多排列整齐的试样。 - -宁诚自己也有点不舒服。他知道这是必要步骤,可看着一件完整物品被机器冷静地消耗,仍然觉得浪费。 - -赫默倒没有任何迟疑。 -“枪管钢碳含量偏低,表面硬化层不均匀。” -“复进簧存在疲劳。” -“套筒公差与弹药压力相匹配,但不适合直接复制现有磨损尺寸。” -“底火样本成分波动明显。” -她一条条读取结果。 - -“这把枪其实不好?”宁诚问。 - -“以它的制造条件和使用年限,可以正常工作。” - -“那机器为什么挑这么多问题?” - -“因为正常工作和允许无人批量制造,不是同一标准。” - -最后一块材料试样被送入分析舱,设备内部亮起白光。光幕上的手枪模型随之变化:磨损被还原,制造误差被排除,内部尺寸重新收敛到一组稳定数值。 -一些依赖人工修配的细节被自动调整,但枪的基本结构、口径、操作方式和弹药接口全部保留。 - -【原型识别:勃朗宁M1910式自动手枪】 - -【配套弹药:7.65×17毫米】 - -【功能结构解析:100%】 - -【本地材料制造协议生成中】 - -进度并不快。 - -百分之十二。 - -百分之二十九。 - -百分之四十七。 - -制造机开始同步调整工位。 - -几个小时前从舰体废料中回收的铁基材料箱与铜基材料箱被送入入口。 - -越盟战士已经熟悉了颜色,主动把对应料箱从暂存区搬过来。 - -昨天还是一条烧毁支架的金属,此刻被机器用来验证枪管和套筒材料。 - -第一块试制片被压出,接连接受弯曲、冲击和加热测试,结果不合格,被重新送回回收机。第二块改用不同的处理参数,硬度足够,韧性却不足,再次回收。第三块终于通过。 - -农文禄终于看懂了一部分。 -“它不只是照着做。” - -“它在找这里能用的做法。”宁诚说。 - -原来的法国或比利时工厂用什么钢、什么机床、怎样热处理,登陆舰并不需要完整复刻。 -它只需要知道最终的枪管要承受多大压力,套筒要有怎样的质量,弹簧要在多少次循环后仍然可靠。 -样枪给出了答案。 -机器则根据自己手里的材料,重新寻找抵达答案的路径。 - -制造协议进度终于越过百分之九十。 - -【试制方案建立】 - -【预计单件材料损耗:8.4%】 - -【预计连续生产故障率:未验证】 - -【允许原型试制】 - -宁诚按下确认。 - -制造机开始正式运转。 - -铁基与铜基材料箱先后进入,一只空的标准物料单元被送到输出端。看不见火星,也没有铁匠敲打,只有密封外壳里持续传出低沉的加工声。 - -几分钟后,输出灯由黄色变成绿色。 -一只银灰色料箱滑出。 -箱体显示带上不再是材料方块。 -而是一把小型手枪的图案。 - -【原型产品:1】 - -【状态:未完成实弹认证】 - -【禁止交付】 - -宁诚看着那个图案。昨天以前,公司在地球上还没有任何可以生产的本地产品;刚才以前,那把勃朗宁也只是越盟手里一件珍贵的战利品。如今样枪被拆解、切断、烧蚀,失去了作为一件物品的完整性,却换回一份可以反复调用的信息。那把枪消失了,“手枪”却被留了下来。 - -解包节点缓缓亮起。 -宁诚把成品料箱送入接口。 -箱体与设备密封对接。 -短暂的机械声后,前方舱门打开。 -一把崭新的黑色手枪静静躺在托盘里。 -外形仍然属于那把旧勃朗宁,表面却没有磨损、锈迹和不同年代留下的修补痕迹。 - -朱文晋走近一步。 - -农文禄也不自觉屏住呼吸。 - -宁诚没有立刻把枪交出去。 -终端上的红色警告还在。 - -它只是被造了出来,是否真的能用,还需要下一次吞噬。这一次,被吞进去的会是更多旧枪、更多子弹,还有一整批为了证明它安全而必须消耗的材料。 - - -成品出仓以后,朱文晋没有立刻伸手。 -他先看向分析机旁的托盘。 -旧样枪剩下的枪管截面、断裂弹簧和机匣试片被整齐封装。它们没有被当成垃圾扔掉,却也永远拼不回原来的武器。 - -“旧枪死了?”农文禄问。 - -宁诚看着那把新枪。 -“作为那一把枪,是。” - -“那这个呢?” - -“还不算活。”赫默回答。 - -制造机随即要求对原型进行过压、跌落、进水和连续射击试验。第一把新枪必须被反复使用,直到系统确认弱点,第二把才会修正制造参数。 - -农文禄听完,神情比看见样枪被切开时还复杂。 -“你们造新东西,就是为了再弄坏?” - -“为了以后不在人的手里坏。”宁诚说。 - -这句话让朱文晋停了一会儿。 - -过去,一把枪能不能用,要在战斗中才知道。公司却愿意先消耗一把完整的新枪,把失败留在没有人站在枪口后的地方。 - -系统弹出下一项需求。 - -【原型认证需要铁基材料、铜基材料及至少240发可用弹药】 - -信息已经取得,要让它成为可靠产品,仍需更多物质替未来的使用者提前承受错误。 - - - -农文禄随后问,解析出的“做法”能不能也给越盟一份。 - -宁诚把问题交给系统。 - -终端只返回一句: - -【制造模板属于公司受控工业数据,不允许外部复制。】 - -宁诚念完了。 - -朱文晋没有争论,只看了一眼已经被切成试样的旧枪。 - -越盟提供了唯一完整样本。 -公司因此取得可以反复生产的模板。 -可模板一旦建立,提供样本的人反而无法带走。 - -“你们会给枪。”农文禄说。 - -“会。” - -“不会给做枪的办法。” - -“现在不会。” - -第一笔交易还没开始,双方已经同时看见了边界:越盟失去一把枪,可能得到几十把产品;公司消耗一件样品,却永久多出一项技术资产。 diff --git a/草稿/1 弃船/1.2 待定篇名/008 以旧换新.md b/草稿/1 弃船/1.2 待定篇名/008 以旧换新.md deleted file mode 100644 index 77d1466..0000000 --- a/草稿/1 弃船/1.2 待定篇名/008 以旧换新.md +++ /dev/null @@ -1,382 +0,0 @@ -# 第八章 以旧换新 - -第一把新枪并没有立刻交到朱文晋手里,而是先被机器打了三枪。动手的既不是宁诚,也不是古米。 - -制造机旁边临时展开了一只密封测试箱。手枪被固定在里面,枪口对准一块用舰体废料制成的吸能靶,装填、上膛和击发全部由机械夹具完成。 - -宁诚和越盟众人退到警戒线外。 - -赫默确认防护罩锁定,第一次击发随即开始。 - -枪声被箱体压成一声低沉闷响。 -终端上弹出几条曲线。 - -【膛压:低于模型值3.1%】 - -【套筒循环:正常】 - -【退壳:正常】 - -第二枪,第三枪。三枚弹壳先后被机械夹具收进检测槽。 - -农文禄盯着透明罩里的手枪。 -“好了?” - -“没有。”赫默回答。 - -宁诚把这句话翻给他。 - -农文禄脸上的期待明显少了一点。 -“还要打多少?” - -赫默看了一眼系统给出的最低认证方案。 -“这把枪,至少两百发。” - -“两百?” - -“另外还需要三把测试样品。” - -农文禄的表情像刚亲眼看见一桌饭被人倒进火里。 -“为什么要弄坏这么多新枪?” - -“因为一把能开三枪,只能证明一把枪能开三枪。”宁诚说。 - -“它已经开了。” - -“可我们要证明接下来做出的每一把都能开。” - -农文禄仍然觉得浪费。 - -宁诚其实也一样。那把崭新的手枪就躺在测试箱里,外形简洁,尺寸统一,放到任何一名战士手中都能立即转化为战斗力,机器却只把它标记为“测试对象”。接下来,它会被反复射击、沾泥、进水、摔落,直到某个零件出现问题。 -宁诚渐渐看懂了双方的分歧。对越盟来说,能用的就是好枪;在公司系统眼里,只有弄清它为什么能用、能用多久、在什么条件下会坏,才有资格进入生产目录。真正的差别,在于以后只造这一把,还是准备造一万把。 - -“弹药不够。”赫默说。 -她调出库存。 -样枪带来的四十七发子弹,已经在解析中消耗十二发。剩下的数量连一次最低认证都无法完成。 - -“用昨天缴获的步枪弹呢?”宁诚问。 - -“可以回收。” - -“口径不同。”农文禄立刻指出。 - -“所以不是直接装进去。”宁诚看向回收机,“先拆掉。” - -战场边缘那堆损坏武器很快重新被搬回来。 -昨天越盟已经拿走了能正常使用的大部分步枪。留下的主要是炸膛枪、断裂枪管、熔坏机枪,以及来源混乱、无法确认状态的散装弹药。 -对越盟而言,这些东西仍然有价值:枪可以拆零件,金属可以交给铁匠,子弹即使不能直接使用,也能尝试挑出同口径的部分。 - -宁诚没有直接要求把它们全部交给公司。 -他把朱文晋请到回收机前。 -“先做一小批。”宁诚说,“这些东西还是你们的。机器处理完以后,能做出多少枪和子弹,也先给你们看。” - -农文禄翻译。 - -朱文晋问了一个很实际的问题。 -“你们要什么?” - -“材料。” - -“枪也是材料?” - -“进机器以后,是。” - -朱文晋看向那堆武器。 -每一支枪都有来历。有些来自昨天的日军,有些是越盟自己带来的旧法国枪;还有一挺机枪,几个战士为了把它从战场上拖回来,付出过不小代价。如今它的枪管被防御节点熔穿,依旧被小心放在最上面。 -公司却把它们统一称作材料。 - -朱文晋最终挑出三支彻底损坏的步枪、一箱混杂弹药和昨天那几块机枪残件。 - -“先这些。”农文禄说。 - -“可以。” - -古米把第一支步枪送进回收口。 -那是一支枪管弯曲、木托开裂的三八式。即使勉强修复,也很难保证安全。 - -回收机的机械臂抓住枪身。 -机器先拆弹仓,再分离枪机。木托被切除,送入有机材料通道;枪管与机匣则进入金属分离区。一件完整武器在几十秒里被抹去了形状,随后是第二支、第三支和机枪残件。 - -越盟战士看得格外安静。他们过去也拆枪,可拆枪是为了让它重新成为枪。 - -宁诚站在回收机旁,却看不出眼前这台机器对武器有任何敬意:它不管枪的型号、缴获自哪场战斗,也不管谁曾经用过,只把钢送进钢的通道,把黄铜和木材各自分开,最后将失去利用价值的锈蚀与污物压成废渣。 - -进了这台机器,一支枪首先是一组物质,至于它曾经是什么,只保存在输入记录里。 - -散装弹药的处理更加谨慎。 -每发子弹先经过成像与称重。 -确认没有裂纹、严重锈蚀和异常装药后,才会被送入封闭拆解舱。弹头由夹具拔出,发射药倒入独立容器,底火连同弹壳被分开处理。 - -一枚表面发黑的步枪弹被机器识别为不稳定样本。 -它没有进入普通拆解通道,而是被送进一只小型钝化槽。 -片刻后,机器吐出一团湿漉漉的灰色物质。 - -“那是什么?”农文禄问。 - -“不能安全用的火药。”赫默说,“已经处理过。” - -“还能装回去吗?” - -“不能。” - -农文禄露出心疼表情。 - -赫默没有安慰他。 -“不处理,它可能在运输或者拆解时爆炸。” - -“那还是处理。” -这个选择非常迅速。 - -回收机连续运转了近一个小时。 -标准料箱逐渐在出口旁排成一列:铁基、铜基、铅基、木质与有机材料,还有可以重新利用的含能材料。 -底火材料最少,标识旁还挂着黄色警告。 - -赫默不允许任何人直接搬最后两类箱子。 - -它们由一台仍然只会缓慢转弯的无人平台负责。 - -古米在平台即将拐错方向时,伸手把它整个转正。 -“外部人工校准。”她很熟练地宣布。 - -宁诚怀疑这个词会逐渐变成古米对所有物理纠正行为的统称。 - -制造机重新计算可行产量。 - -【当前输入可用于原型认证】 - -【预计制造测试手枪:4】 - -【预计制造7.65毫米弹药:286】 - -【主要限制:底火材料】 - -“三支坏步枪,只能做四把手枪?”农文禄问。 - -“钢还有很多剩余。”宁诚指向屏幕,“真正不够的是子弹材料和测试消耗。” - -“剩下的钢呢?” - -“还是你们的材料,也可以留在这里换以后产品。” - -朱文晋问了几句。 - -“他说,先看枪。” - -四把测试手枪依次制造完成。第一把进入连续射击测试;第二把被拆开,检查零件是否与第一把完全一致;第三把先浸水,再沾泥,简单清理后装填;第四把则从两米高度落到硬地面上。 - -越盟战士看着新枪被这样折腾,神情一次比一次复杂。 -尤其是古米按照测试要求,把第四把枪从两米高度扔下去时,有人忍不住向前走了半步,仿佛想把它接住。 - -“这是新的。”农文禄提醒。 - -“系统知道。”宁诚说。 - -“知道还摔?” - -“就是因为以后每一把都是新的,才要先知道摔了会不会响。” - -这句话让农文禄沉默了。 - -掉落后的手枪没有走火。 -浸水与泥沙测试也顺利通过。 -连续射击测试中,第一把枪在第一百六十二发出现一次复进不到位。机器立刻停下,拆解枪械,检查摩擦面与弹药压力。 - -制造参数被调整。 -第二批零件重新制作。 -问题没有被修枪匠凭经验磨掉,而是被写回生产模板。从下一把开始,同样的位置便不再出现同样的误差。 - -到太阳升上山谷上方时,认证状态终于从黄色变成绿色。 - -【本地兼容型M1910制造协议:通过】 - -【连续生产许可:小批量】 - -【弹药协议:受限】 - -【建议最大单批数量:12】 - -朱文晋一直等到最后。 - -宁诚从解包节点里取出两把认证后的手枪。 -它们看起来与那把旧样枪十分相似。 -它们有相同的口径、操作习惯和基本轮廓,差异只有拿到手里才能感觉出来:套筒运动更顺畅,零件之间没有旧枪长期磨损形成的松动,弹匣插入时会发出干脆而一致的轻响。两把枪的弹匣也可以随意互换。 - -朱文晋没有亲自试枪。他叫来一名年纪较大的救国军战士。 - -那人接过武器以后,先检查弹膛和保险,又将枪翻来覆去看了几遍。他显然熟悉手枪,却找不到任何熟悉的厂标和编号。 -试射位置设在山谷另一端。 -第一发命中木靶。 -第二发偏了一些。 -第三发以后,射手逐渐适应。 -一个弹匣打空,没有哑火,也没有卡壳。 -他换上另一把枪,再把第一把的弹匣插进去。 -依旧顺利击发。 - -越盟战士最初只注意枪声和命中,真正让几个懂枪的人改变表情的,却是两把武器之间几乎没有区别。同一只弹匣能插进不同的枪,同一套零件可以相互替换,不需要锉磨,也不需要某位老师傅告诉他们“这一把只能配这一把的枪机”。 -机器吐出来的每一把枪,都像同一个模子留下的影子。 - -试射结束后,朱文晋终于提出正式交换。 - -“坏枪给你们。”农文禄翻译,“你们给新枪。” - -“可以。” - -“怎么算?” - -宁诚看向终端。 -公司系统没有“一支旧枪换几支新枪”的概念。 -它给出的只是物质账。 -可回收钢多少。 -铜和铅多少。 -可用发射药多少。 -底火材料多少。 -加工能耗多少。 -废料损耗多少。 - -“按材料算。”宁诚说,“你们送来的东西先扫描。系统会告诉我们能做多少。” - -“一支日本枪,换几支这个?” - -“不一定。完整枪、坏枪、有没有子弹,价格都不同。” - -农文禄皱起眉。 -这种算法不符合他们过去对武器的理解。 -一支能开火的步枪通常比一箱空弹壳值钱。 -可在公司账上,一支结构完好的步枪如果缺少弹药,可能只是十几千克铁基材料;一箱黄铜弹壳和可用底火,反而决定了新枪有没有子弹。 - -“公司留多少?”朱文晋问。 - -宁诚没有立刻回答。 -这是第一次真正意义上的价格问题。设备是公司的,能源来自登陆舰,原料却属于越盟;如果全部产出都交出去,公司无法扩建,也无法补充空箱、工具和设备损耗。 - -终端列出一项建议: - -【预计维护与扩建储备:可用产出的15%—25%】 - -宁诚看了两遍,还是问赫默:“这部分具体要留着做什么?” - -“补充料箱、工具和设备易损件,也要给下一台设备预留材料。”赫默说,“不留储备,生产线坏一次,交易就会停。” - -宁诚这才在建议区间里取了一个容易算的数。 -“每批原料,先扣掉处理损耗。剩余可生产物里,八成交给你们,两成留给公司。” - -“公司要枪?” - -“公司要材料。”宁诚说,“我们可以不留成品,只留等值料箱。” - -朱文晋听完翻译,思考了很久。 -八成。越盟只需要送来原本难以利用的破枪、散乱弹药和废旧金属,就能取回统一的新武器;公司则获得两成标准材料,积累扩建设备和维持生产的第一批本地资本。双方没有使用货币,账直接算在物质上。 - -“先做一批。”朱文晋最后说。 - -战场上剩余的坏枪被陆续搬到回收区。 -这一次,不再只有三支。 -二十多支不同状态的步枪残件,两挺无法修复的机枪,数箱散乱弹药和大量弹壳被重新登记。 - -越盟战士仍然会心疼。 -可当第一批十二把新手枪和三百余发合格弹药从解包节点中整齐排出时,心疼很快被另一种情绪取代。 -那不是缴获,也不是修修补补,或从某位商人手里高价换来的几件好货。他们把过去无法利用的破烂送进一端,然后从另一端拿到了自己指定的武器。 - -朱文晋拿起其中一把,检查编号。 -每一把枪都有独立序列号。 -弹药箱上则写着批次、数量和检测结果。 - -农文禄问:“这些数字要记吗?” - -“最好记。”宁诚说,“哪一批以后出了问题,才能知道同一批还要不要继续用。” - -“每一把都记?” - -“每一把。” - -农文禄看向那十二把枪。 -十二把还不算多,可如果以后是一百把、一千把呢?农文禄这才发现,机器送出的每一把枪,后面都拖着一串名字、来源、批次和去处。 - -朱文晋把枪放回箱中,转头说了一串越南语。 - -农文禄听完,明显有些意外。 -“北边仓库里,还有一批不能用的枪。” - -“多少?”宁诚问。 - -“不知道。很多。” - -“他要送来?” - -农文禄点头:“都送来。” - -宁诚还没来得及高兴,眼前已经弹出新的提示。 - -【预计新增原料超过当前人工物流峰值】 - -【预计回收机入口拥堵】 - -【建议增设物料分拣区】 - -【建议部署第二输入口】 - -【建议建立自动运输系统】 - -昨天,公司还在等第一件属于地球的样品。今天,这片土地已经开始主动把废旧武器送向它的进料口。第一笔交易刚完成,机器的胃口便第一次显得有些不够用。 - - -第一批手枪没有全部交给正面作战人员。 - -朱文晋挑出五把,分给负责联络和交通的人员。 - -其中一名叫阮氏兰的年轻交通员,过去出门时只能在篮子底部藏一枚手榴弹。 - -长步枪太显眼。 -经过村庄、集市和日军检查点时,背枪本身便等于承认身份。 - -公司手枪装进布套以后,可以贴着腰藏在宽松衣服下面。阮氏兰试着走了几步,又蹲下、起身,枪身没有从衣服里露出来。 -真正试射时,她前几枪打得很差。 - -这让几个围观战士有些失望。 - -古米却很认真地说:“枪不会替人瞄准呀。” - -阮氏兰重新调整姿势。到第二个弹匣,她已经能在近距离稳定命中木靶。 - -新手枪没有让普通人突然变成神枪手,也不比步枪更适合远距离山地交火。它只是可靠、小巧,适合那些过去很难公开携带武器的人。 -这已经足够让许多工作改变做法。 - -交付前,每一把枪的编号都与领用者记录在一起。 - -阮氏兰拿到纸质副本时问:“枪坏了,还是我的枪吗?” - -“送回来检查。”宁诚说,“如果只是零件坏了,换掉以后还是这一个编号。” - -“如果整把都坏了?” - -“回收,再给你一把同型号的。” - -“那还是我的枪吗?” - -宁诚一时回答不上来。 -在公司看来,编号、使用记录和授权可以延续,组成枪的钢却随时能被回炉重组。越盟的人则看重一把枪从哪里缴获、跟过谁、打过哪一仗。两种答案暂时都装进同一张领用表里。 - -当天傍晚,第一批新手枪被带出山谷。 -旧枪的历史留在回收记录中,新枪则开始积累自己的历史。 -而所有这些历史,都必须使用公司提供的同一种弹药。 - - - -不是所有旧枪都被送进回收机。 - -一名年长战士把自己的法国步枪带到交接点,枪托已经开裂,机匣也严重磨损。系统判断它的材料价值足够换取一把手枪和一部分弹药。 -老人却在最后一刻把枪拿了回去。 -枪托上刻着两个很浅的名字。 -那是他和已经牺牲的兄弟。 - -公司账上,这支枪与其他旧枪没有区别。 -回收以后,名字、划痕和经历都会被抹掉,只留下钢、木材与少量黄铜。 - -宁诚没有劝他。 -“交易是自愿的。”他说,“不想换就带回去。” - -老人最终只交出几发无法使用的旧弹药。 - -这让朱文晋补充了一条规则:有明确个人归属的武器,未经本人或家属同意,不得作为集体废料送进公司。 - -工厂能吞掉一件物品的历史,但人至少应该先有机会决定,那段历史值不值得换成更有效率的新产品。 diff --git a/草稿/1 弃船/1.2 待定篇名/009 机器没有夜班.md b/草稿/1 弃船/1.2 待定篇名/009 机器没有夜班.md deleted file mode 100644 index 4bb0724..0000000 --- a/草稿/1 弃船/1.2 待定篇名/009 机器没有夜班.md +++ /dev/null @@ -1,439 +0,0 @@ -# 第九章 机器没有夜班 - -第一批新枪交付以后,越盟的人没有立刻离开,又搬了两个小时箱子。 -最初的八名战士增加到十六人。有人从战场废料堆向回收机送料,有人负责把标准料箱搬到制造机,也有人专门收回空箱。 - -机器之间的泥地被反复踩踏,逐渐形成几条明显的小路。 - -到了晚上,宁诚甚至不用看地面的指示箭头,也能从脚印判断哪条路通往回收机、哪条路通往解包节点。 - -所有人都累得不想说话,古米除外。 - -她一次搬两只满载料箱,偶尔还会顺手把路上的大块废料带回进料口。普通战士需要来回三趟的距离,她一趟便能完成。 -这让她重新找回了一点自信。自动运输平台在维修以前只会右转,古米至少知道目的地在哪里。 - -“最后一箱!” -她把两只铁基材料箱送到制造机前。 - -负责记录的越盟战士在木板上画了两道正字的一部分。公司终端自动记录了重量、批次和来源。 - -但朱文晋仍要求越盟自己留一份看得懂的账。 - -宁诚很赞成。把所有数字只存进公司的机器里,效率确实高,问题是机器属于公司。万一终端坏了,或者双方关系出了问题,越盟连自己送进来多少东西都说不清。 - -眼下,木板上的记录还很简单:坏枪二十七支、机枪残件两组、弹药八百余发、空弹壳若干,还有一百多千克铁制工具与废钢。输出则是十二把手枪、三百六十发弹药、六套清洁工具和一批暂存材料,其余部分仍在机器里排队。 - -“今天到这里。”朱文晋下令。 - -农文禄把话翻给宁诚。 - -“大家要回去?” - -“有些人守山口,有些人要送枪。” - -“机器怎么办?” - -农文禄看向那几台仍然亮着灯的设备。 -“也休息?” - -宁诚愣了一下,回头看向正在终端上确认能源与散热的赫默。 - -“设备可以继续工作。” - -“没人搬箱子。” - -“预装输入缓冲区。” - -制造机每次可以挂接六只标准料箱。 -只要把下一批所需的铁基、铜基与有机材料提前放进对应接口,设备便能按照队列连续运行。输出端也能暂存八只成品箱。 -它无法自己从回收机取料,却可以在没人守在旁边的情况下,把已经准备好的材料一直加工到缓冲区装满。 - -“能做多久?”宁诚问。 - -“当前任务四小时左右。” - -“四小时以后呢?” - -“等待人工转运。” - -即使如此,也足够让农文禄露出难以理解的表情。 -“没有人,它自己做?” - -“对。” - -“晚上也做?” - -“机器没有晚上。” - -农文禄抬头看了一眼已经完全暗下来的天空。山谷里没有月光,只有登陆舰上的应急灯、工业设备的白色工作灯,以及远处尚未熄灭的微弱火光。对机器来说,白天和夜晚确实没有区别:它不需要睡觉和换班,也不会因为连续搬了十几趟料箱,开始怀疑自己当初为什么要自告奋勇。 - -“那让两个人留下。”朱文晋说。 - -“不需要。”宁诚回答。 - -农文禄把话翻过去。 - -“机器停了也没关系。明天再搬。” - -朱文晋看向山谷外围。 -“不是搬箱。是看机器。” -他显然不放心把几台刚开始制造武器的设备完全留给四名陌生人,也不放心日军会不会在夜里摸回来。 - -双方最后各退一步。越盟在警戒线外保留一组哨兵,不进入核心区,也不负责操作设备,只监视山路和异常动静;公司则在完成最后一批预装后关闭人工交接区。 - -古米给制造机挂上最后一个料箱。 - -终端随即弹出生产队列。 - -【可用铁基材料:64.8千克】 - -【可用铜基材料:11.2千克】 - -【可用含能材料:受限】 - -【当前待处理需求】 - -一、兼容型M1910手枪:24 - -二、标准弹药:720 - -三、医疗过滤组件:4 - -四、舰体临时固定件:12组 - -五、厨房能源接口:1 - -宁诚盯着最后一项。 -“谁加进去的?” - -古米非常自然地把视线移向别处。 - -赫默说:“她下午使用了你的终端。” - -“我只是看了一下!”古米立刻解释,“然后它问要不要加入需求。” - -“你点了要?” - -“因为确实需要。” -古米说得理直气壮。 - -从改善四人生活质量的角度,厨房能源接口的优先级确实不是零。 -可它需要消耗一组高质量导体和一个还没找到替代品的控制组件。 -现在他们手里的控制组件,全是从登陆舰紧急设备里拆出来的旧库存。 -用一个少一个。 - -“先不做。”宁诚把厨房接口移到队列末尾。 - -古米的熊耳垂下去一点。 - -“等我们材料多一些。” - -又竖回来半边。 -“真的?” - -“真的。” - -赫默看着宁诚。 -“你在承诺之前,最好确认数据库中是否存在可用模板。” - -“没有吗?” - -“有能源接口,没有厨房。” - -古米的耳朵再次垂下。 - -宁诚决定以后在赫默面前安慰人时,必须先做一次技术审查。 - -生产队列真正麻烦的不是厨房,而是前四项。 - -越盟当然想要更多手枪和弹药。 - -赫默需要过滤组件,登陆舰外的空气质量依旧很差,医疗无人机的耗材也已经开始下降。 - -舰体固定件则关系到他们第二天能否继续进入内部。 - -手枪可以武装越盟。 - -医疗过滤组件可以保证四人不在几天后因为烟尘和污染倒下。 - -舰体固定件能让他们从船里取出更多东西。 - -每一项都重要,制造机却只有一台。 - -“能不能先造另一台制造机?”宁诚问。 - -系统弹出长长的缺失列表。 -高级控制核心。 -精密传感器。 -源石稳定单元。 -高等级耐磨材料。 -还有几个连名称都看不明白的组件。 - -“暂时不能。”赫默替系统总结。 - -“那就先做固定件和过滤组件。” - -古米问:“枪呢?” - -“明天做。” - -“越盟的人会不会不高兴?” - -宁诚看向线外。 - -朱文晋还没有离开。 - -“告诉他们。”他说,“今晚生产要先保证机器和人员能继续工作。明天恢复武器。” - -农文禄翻译完了。 - -朱文晋没有反对,只问了一句:“明天能做多少?” - -宁诚看了一眼系统预测。 -“如果材料和箱子按时送到,十二到十六把。” - -这个数字显然足够暂时换来耐心。 - -生产队列重新排序。 -制造机状态灯转为绿色。 -内部加工声再次响起。 - -越盟战士陆续离开,只留下外围哨兵。 - -山谷终于安静下来。宁诚原本以为自己会睡不着,一天之内,他经历了穿越后的第一场战斗,见到越盟,谈成交易,又看着几台机器把旧枪变成新枪。正常人这会儿大概该躺在床上反复思考人生,可他的脑袋刚碰到折叠枕,意识便立刻断了。 - -最后听见的,是制造机规律而低沉的工作声。 -像一台永远不需要呼吸的心脏。 - -凌晨,宁诚醒过一次。吵醒他的不是警报,而是机器声突然停了。他从折叠床上坐起来,第一反应便是设备坏了。 - -赫默已经站在终端前。 - -“怎么了?” - -“输出缓冲区已满。” - -“不是故障?” - -“不是。” - -宁诚松了口气。 - -远处制造机安静地亮着黄灯。 -八只成品料箱整齐排在输出端。里面有固定件、过滤组件和几种维修工具。 - -每种成品都按固定批次装箱。同一种标识里装什么、装多少,制造模板早已定死;只是产品不同,一批的总重量也会跟着变。 -它完成了所有预装任务,随后停下等待,既没有叫醒任何人,也没有因为没人及时取货,就把箱子吐得到处都是。 - -“继续吗?”宁诚问。 - -“需要搬空输出,再补充输入。” - -宁诚看了看熟睡的古米。 -她搬了一整天重物,连睡着时手臂都搭在盾牌边缘。 - -铃兰也蜷在另一张床上,九条尾巴盖住大半身体。 - -宁诚不想叫醒她们。 -“我来搬。” - -赫默看着他。 -“你的身体状态——” - -“八只箱子而已。” - -第一只箱子只有六千克,第二只九千克,第三只装着固定件,接近二十千克。宁诚搬到一半,便开始后悔自己刚才说得太轻松。 - -赫默没有嘲笑他。 -她搬走另一只较轻的箱子,把沉重料箱留在离输出口最近的暂存位。 - -两人忙了十几分钟,才清空缓冲区,重新挂接下一批输入。 - -制造机再次启动。 - -宁诚站在夜色里,活动发酸的手臂。 -“要是有传送带就好了。” - -“系统已经建议过。” - -“能造吗?” - -“机械结构可以。”赫默说,“控制与感应组件有限。” - -“先造一小段呢?” - -“需要占用制造机时间,也需要调整当前生产计划。” - -又回到了同一个问题。 -所有改进都要先消耗当前产能。想让工厂更快,就必须暂时少生产一些眼前急需的东西。 -游戏里按下几项科技和建筑就能解决的问题,到了现实中,会变成一群正在等待新枪的人、一艘需要继续加固的登陆舰和一名明确要求医疗耗材的医生。 - -宁诚重新躺下时,制造机已经进入第二轮工作。 -这次他睡到天亮。 - -越盟的人回来时,第一眼便看见解包节点旁整齐堆放的成品。 -成品里有十二把新手枪、三百余发弹药、过滤组件、舰体固定件、维修工具,还有几箱尚未解包的标准零件。 - -农文禄在机器周围看了一圈。 -“昨晚谁做的?” - -“机器。”宁诚回答。 - -“没有人?” - -“我和赫默半夜搬过一次箱子。” - -“枪呢?” - -“也是机器。” - -农文禄把答案翻给同行战士。 - -有人看向古米。 - -古米刚刚醒来,正蹲在加热器旁煮早餐,显然没有通宵打铁。 - -有人又看向赫默。 - -赫默正在检查过滤组件。 - -最后,所有目光都回到那几台安静设备上。 - -它们不会疲惫,没有黑眼圈,也不会因为一夜工作要求多分一点早饭。机器没有夜班,因为对机器来说,根本没有下班。 - -朱文晋随后送来第二份需求。 - -除了更多手枪,还有电台零件、枪械工具、医疗器械和一批被不同部队送来的旧武器。 -第三份需求在中午到达,第四份来自更北面的救国军小队。到了下午,宁诚终端上的队列已经排到三天以后。 - -制造机仍然稳定运转,回收机也没有停止。真正被堵住的,是机器之间那十几米泥地,以及每个人都认为自己应该排在前面的需求。 - -系统很快给出冷静结论。 - -【当前订单负载:287%】 - -【当前物流效率:31%】 - -【建议拒绝新增订单】 - -【建议建立原料与需求统一接口】 - -宁诚看着外面又一支背着废枪赶来的越盟小队。 -机器不需要夜班。 -但如果他不想出一个办法,自己很快就要开始上夜班了。 - - -事实证明,宁诚当晚真的上了半次夜班。 - -第二轮生产开始后不到一小时,能源终端忽然报警。 - -【医疗节点申请提高功率】 - -【制造任务与医疗任务存在冲突】 - -一名越盟伤员在夜里出现内出血,需要医疗无人机进行更深层处理。辅助能源接口当前能维持登陆舰抑制场、制造机和基础医疗,却无法让三者同时处于高负载。 - -系统给出最简单的选择。 - -暂停制造,手术立即开始;维持制造,手术延后四十分钟。 - -“暂停。”宁诚确认得比第一次操作抑制场快得多。 - -制造机的绿灯转为黄色,内部加工声逐渐停止。已经加热的材料被重新封存,未完成产品标记为中断批次。 - -四十分钟的制造时间,相当于两把手枪、几十发弹药或者一组舰体固定件。 -可当医疗无人机从伤员体内取出血块、让生命指标重新稳定时,没有人认为这笔交换亏了。 - -高桥大尉在山口的临时看守区听见机器先停后启。 -他问农文禄,那些设备是不是坏了。 - -“没有。”农文禄回答,“它们在救你的士兵。” - -受治疗的其实是越盟伤员。 - -农文禄没有解释。 - -高桥望着夜里重新亮起的制造机,很久没有说话。日本军队熟悉需要工人、煤炭、厂房与铁路的兵工厂。眼前的工坊却在一名伤员与一批枪之间停了一次,又在手术结束后自行继续。 - -第二天,宁诚在生产队列里增加了第一条人工规则。 - -【紧急医疗任务高于普通军械任务】 - -系统接受规则,没有询问为什么。它也不会知道,同样四十分钟的材料与能源,为什么有时应该变成枪,有时应该变成一个人的生命。 - -那是宁诚必须提供的信息。 - -可一条规则不够。宁诚没有自己往下编,先问赫默:“除了急救,还有什么事情不能排在普通生产后面?” - -“抑制场安全、设备故障和不能延后的治疗。”赫默回答,“普通维护可以预先安排,不属于紧急情况。” - -他又让农文禄去问朱文晋,作战需求怎样才算紧急。 - -朱文晋给出的办法很直接:说明拿去做什么、最晚什么时候要;说不清的,不能只靠一句“马上打仗”往前挤。 - -宁诚把两边的回答并在一起,试着建立白、黄、红三种优先等级。越盟可以提出紧急需求,却必须写明任务和最晚时间;公司可以因安全、医疗和设备维护调整队列,但必须留下原因。 - -一张真正的生产计划因此出现。它不再只是机器算出的最高效率,还混入了人的判断、承诺与偏心。 - -到了下午,红色任务已经有三个,黄色任务十一个,白色任务排到五天以后。 - -宁诚终于明白,机器不需要夜班,并不代表管理机器的人也能睡觉。 - - - -订单越来越多以后,宁诚让制造机旁出现了一块所有人都能看懂的生产板。 - -红色代表正在处理。 - -黄色代表等待原料。 - -蓝色代表等待人工转运。 - -灰色代表被拒绝或暂停。 - -每个任务不用文字,而用枪、子弹、电台、医疗和工具图案表示。 - -第一天,所有人都围着板看。 - -一支小队发现自己的手枪任务排在医疗过滤组件后面,当场提出异议。另一名交通员则认为电台应该比固定舰体更重要。 - -过去,生产发生在铁匠铺和秘密修理点里,外面的人只知道什么时候能拿到东西。公司把队列公开以后,每个人第一次清楚看见自己的需求被排在谁后面。透明没有自动消除争论,反而让争论变得更具体。 - -宁诚只好在生产板旁增加“原因”标记。 - -医疗耗材后面是一枚急救图案。 - -舰体固定件后面是一条坍塌裂纹。 - -等待弹药的枪械任务旁边则显示空弹壳。 - -人们未必同意排序,至少知道不是机器凭心情偏爱某支部队。 - -夜里,生产板仍然亮着。 - -工人离开以后,红色任务继续一点点向完成移动。 - -一名越盟哨兵每隔一阵便回头看。 -到天亮,红色变绿。 -这是他第一次亲眼看见一件事,在没有任何人挥汗工作的情况下自己完成。 - -他问农文禄:“机器既不睡觉,也不吃饭。那它为什么还要我们?” - -农文禄指向山谷外。 -“因为废铁不会自己走进来。” - -这个答案暂时足够。 - - - -生产板下方后来又多了一只很小的沙漏图案。 -它表示延误不是消失,只是被转移到后面的任务。 -医疗手术占用的四十分钟,让两把手枪晚了四十分钟,也让等待那两把枪的人清楚知道原因。 - -宁诚开始理解,管理自动工厂,就是在一件件事情之间分配等待。每一次决定“先做这个”,都得同时承认“另一个会更晚”。 - - - -那天以后,“夜间无人生产”不再是奇观,而成了工坊默认状态。 - - diff --git a/草稿/1 弃船/1.2 待定篇名/010 一张吃不饱的清单.md b/草稿/1 弃船/1.2 待定篇名/010 一张吃不饱的清单.md deleted file mode 100644 index 64e8710..0000000 --- a/草稿/1 弃船/1.2 待定篇名/010 一张吃不饱的清单.md +++ /dev/null @@ -1,416 +0,0 @@ -# 第十章 一张吃不饱的清单 - -五月一日早晨,宁诚第一次收到了一张比课程表更令人绝望的清单。它来自制造系统,没有标题,没有问候,也没有考虑阅读者看见以后是否会产生逃跑冲动。 - -【铁基材料:短缺】 - -【铜基材料:严重短缺】 - -【铅基材料:短缺】 - -【弹簧用高韧性钢:短缺】 - -【橡胶与弹性密封材料:严重短缺】 - -【润滑材料:严重短缺】 - -【可用含能材料:严重短缺】 - -【木质材料:可用,但未建立稳定输入】 - -【洁净水:可用,但处理能力不足】 - -宁诚往下翻了两页。 -后面还有电线、电池、玻璃、绝缘材料、皮革、耐热填料和高纯碳质材料,甚至连标准料箱的外壳材料都开始不足。 - -“它昨天不是还在做枪吗?”古米问。 - -“昨天吃的是战场上的东西。”宁诚说,“现在吃完了。” - -古米看向回收机。 -进料口旁只剩下一小堆锈蚀过重的碎片和几块无法直接处理的复合材料。 - -过去两天,战场残骸给人一种物资很多的错觉。一个日军加强连留下了上百支枪、大量弹药、机枪、掷弹筒和各种装备,登陆舰附近也散落着大量废旧结构。可当它们真的进入回收机,一切便迅速缩成几十只标准料箱。 -两百千克钢听起来很多。 -放进一条需要持续生产、维护自己、加固舰体和补充医疗设备的工业线上,却只够吃几顿。 - -“能不能继续拆船?”宁诚问。 - -赫默抬头看他。 -“可以。” - -回答过于干脆,让宁诚本能地感觉后面还有内容。 -“然后呢?” - -“拆掉结构完整的舰体材料,短期内能够提供大量优质原料。”赫默说,“同时降低舰体稳定性,减少可恢复设备,并缩短登陆舰剩余寿命。” - -“也就是说,拆船是在吃自己的骨头。” - -“基本准确。” - -宁诚关闭了“继续拆船”的想法。 -那是最后手段。如果这座工业据点只能靠不断熔掉自己维持生产,他们最后只会得到一堆新手枪和一艘彻底空掉的船。 - -“让越盟送东西。”古米说。 - -“送什么?” - -古米指向清单。 -“这些呀。” - -“他们得先看懂。” -清单上的“高韧性弹簧钢”和“适用于动态密封的弹性材料”,显然不能直接翻译成一句越南语交给村民。 -就算翻译准确,也没人会提着一块材料来到山谷,郑重宣布这正是符合公司标准的动态密封橡胶。 -普通人只知道自己手里有一只坏轮胎、一段电话线、一口铜锅,或者一块看起来比其他石头更红的矿石。公司必须把机器语言翻译成现实里找得到的东西。 - -农文禄中午前赶到山谷。 -他带来了朱文晋,还有四名负责不同交通线的干部。 - -几个人围坐在岩壁下,面前放着一张越盟绘制的手工地图。 - -地图算不上精确,山脉、道路、河流和村庄主要靠线条与地名表示,比例不完全一致,很多小路只有经常走的人才能从几道弯曲墨线中认出来。宁诚的终端则投射出无人机扫描的地形,两张地图放在一起,各自都有对方缺少的东西。 -公司地图更准确,却只知道山是什么形状。 -越盟地图不那么准确,却知道山里住着谁、哪条路雨后会断、哪个村庄有铁匠、哪座旧矿井已经被水淹了。 - -“需要这些。”宁诚把物资清单简化成第一版。 - -一、坏枪、废铁、断裂工具和车辆零件。 - -二、铜线、黄铜弹壳、坏电机和不能使用的电报设备。 - -三、铅块、旧蓄电池和含铅废物。 - -四、轮胎、橡胶管、密封垫和防水布。 - -五、润滑油、矿物油、动物油脂样本。 - -六、木炭、煤、铁矿石及其他矿石样本。 - -七、所有无法确认型号的弹药与爆破用品。 - -农文禄翻译到了第四项。 - -几名干部已经开始互相交谈。 - -“轮胎很少。”他说。 - -“坏的也行。” - -“坏卡车上的?” - -“行。” - -“自行车轮胎?” - -“也行。” - -“鞋底?” - -宁诚停顿一下。 -“如果已经不能穿,可以。” - -赫默从旁边补充:“使用中的生活必需品不应作为优先回收对象。” - -宁诚把这句话也写进清单。 -他不希望公司第一份资源动员命令变成让村民拆掉自己的鞋、锅和屋顶。 - -机器当然不在乎铜来自废弃电话线还是一家人唯一的水壶。 - -可人必须在乎。 - -朱文晋听完所有项目,提出了第一个问题。 - -“要多少?”农文禄翻译。 - -宁诚看向系统建议。 - -【维持当前生产七日的最低输入】 - -废钢:1.8吨。 - -铜及铜合金:210千克。 - -铅:160千克。 - -橡胶及弹性材料:80千克。 - -润滑材料:120升。 - -木炭或等效碳质材料:600千克。 - -含能材料:按安全上限不限量。 - -宁诚没有立刻把数字念出来。 -对于几台小设备而言,这个数量并不夸张;对于需要靠人背、骡马驮和小车推过山路的越盟,却已经是一条庞大的物流线。 -尤其是铜与橡胶。 -山里没有一堆废旧电机等着他们捡。 -每一千克铜都可能来自电报线、弹壳、器具和殖民设施。 - -“先不按七天。”宁诚修改了要求,“第一批只送样本。” - -“样本?” - -“每种东西先送一点。机器确认能不能用,再决定要不要继续收。” - -这让几名越盟干部明显松了口气。 - -公司眼下还不能急着凑数量,得先弄清这片土地上究竟有什么。 - -宁诚让制造机生产了一批巴掌大的样本盒。 -它们不像标准料箱那样需要约束场,只是普通的坚固容器。每只盒子带有颜色标记和简单编号。 - -红色装矿石,蓝色装金属,黄色装油与橡胶;黑色装弹药和危险物,必须由懂军械的人运送。 -盒子里还附带几块标准样本。 -盒中还分别放着一块高含铁量矿石、一段铜线、一块铅和一小片橡胶。 - -“找到像这些的东西,装一点回来。”宁诚说。 - -“石头都长得不一样。”一名干部通过农文禄提出疑问。 - -“像就可以。机器会判断。” - -“没用的呢?” - -“退回来。” - -“我们走几十里送一块没用石头?” - -这个问题很现实。 - -宁诚思考片刻,把材料分析模块的低精度识别图案抄进一批纸卡。 -铁矿石在磁性、颜色、密度与条痕上有几个简单筛选方式。 -铜矿、铅矿和煤也各有最基础的判断方法。 -这些方法不能替代分析机,至少能减少有人把普通河石背几十里送来的概率。 - -越盟干部很快给出一套分工。 - -靠近日军道路的地区主要收集战场废料和弹壳。 - -有旧矿工的村庄负责寻找矿石样本。 - -铁匠与修理铺收集坏工具、废金属和边角料。 - -交通员记录来源,不让危险物与粮食混装。 - -商人则留意电线、电机、旧电池和橡胶制品。 - -没有人被要求进入工厂上班,也没有哪个村庄一次性交出大量劳动力。越盟只是把原本散落在山区里的眼睛和手,暂时朝向了公司给出的清单。 - -会议结束前,朱文晋指向地图北侧。 -那里画着几处矿山符号。 - -“法国人以前挖过。”农文禄说,“有的停了,有的日本人看着。” - -“挖什么?” - -“铁,也有煤。更北面有铅锌。” - -宁诚让终端记下位置。 - -系统立刻将几个点标成“未经验证的资源来源”。 -它没有因为地图上画了矿山便自动相信,还需要样本,以及距离、运输、纯度和风险数据。不过那张原本空白的开发图上,终于出现了第一批标记。 - -越盟的人下午带着样本盒离开。 - -第一批回来的东西比宁诚预想中更快。 - -傍晚,一个附近村民送来三块红褐色石头。 - -其中两块只是普通含铁岩石,品位低得没有运输价值。 -第三块却达到了回收机可处理标准。 - -夜里,一名铁匠送来半篮废旧金属。 -里面有断锄头、几枚黄铜件和一段不知道从哪里拆下来的铜线。 - -夜更深时,又有交通员带来一只破损蓄电池和几个装在黑色盒中的旧雷管。 - -赫默立刻把最后一盒隔离。 -“以后危险物必须提前报告。” - -翻译模块已经能把这句话表达得足够清楚。 - -送东西的人连连点头。 - -材料分析机每处理一个样本,终端地图便多出一个数据点。 - -红色代表铁。 - -黄色代表铜与黄铜来源。 - -灰色代表废钢。 - -黑色代表含能材料。 - -有些点很小,只能提供几千克废料。 -有些点则与旧矿、警察站、铁路设施和日军仓库重合。 - -宁诚最初只是想填饱回收机。 -等这一批样本处理完,他却发现屏幕上的点已经逐渐连成几条模糊路径。 -哪座村庄能收集废铁,哪条山路适合运送矿石,哪里有电话线和弹药,又有哪些地方被日军控制,都开始在图上有了位置。 -越盟每送来一只样本盒,地图上就多出一点这片土地的资源信息。 - -系统根据已有数据生成第一版热图。 - -【地表资源认知度:0.08%】 - -【建议优先验证资源点:17】 - -【建议建立稳定输入路线:5】 - -【建议部署自动勘探单元:当前不可用】 - -宁诚看着那可怜的百分之零点零八。 -他们已经发动十几个村庄和交通点,送来几十份样本。 -在系统眼里,却只点亮了地图上几乎看不见的一小块。 -“这东西永远吃不饱吗?”他问。 - -赫默看了一眼清单。 -“工业系统的目标不是吃饱。” - -“那是什么?” - -“完成当前任务以后,提高下一项任务的能力。” - -“听起来就是永远吃不饱。” - -赫默没有反驳。 - -终端又弹出一条新建议。 - -【检测到北侧铁基资源样本具有开发价值】 - -【当前人工运输成本:高】 - -【建议记录自动采矿与物流规划】 - -宁诚没有确认。 -现在还不是修建矿场的时候,他们连山谷里这几台机器都喂不稳定。可那条建议已经留在系统列表里,等着以后被重新点开。 - -越盟以为自己在按清单给工厂找食物。 - -公司系统却已经开始计算,将来该怎样少用人力,把原料直接送到机器嘴边。 - - -资源清单传开以后,第一场误会来自一口铜锅。 - -一名老妇人把家里用了十几年的锅背到交接点,说愿意换一支枪给在救国军里的儿子。 - -锅边已经补过两次,底部却仍然完整。材料分析机给出的结果很好:铜含量高,杂质少,足够制造不少弹壳和电气部件。 - -宁诚却让人把锅送了回去。 - -“为什么?”负责交接的干部问,“机器说能用。” - -“她家还有别的锅吗?” - -“没有。” - -“那就不能收。” - -“她自己愿意。” - -宁诚看向那位一直等在警戒线外的老妇人。她显然不理解机器需要什么,只知道一口锅也许能换来儿子保命的武器。 -如果公司接受,交易在形式上完全自愿,可这种自愿建立在枪支稀缺、战争和贫困之上。 -“我们只收废弃和可替代的生活物资。”宁诚说,“正在用的锅、农具、屋顶和电线,不算废料。” - -系统随后多了一条人为限制。 - -【民生关键物资:未经联合确认禁止回收】 - -机器无法自行判断一只铜锅对某个家庭是否关键,这个判断必须由越盟地方干部在送进来以前作出。 - -第二场误会来自两个孩子。 - -他们各背来半筐红色石头,希望换盐。 - -机器检测后,只有三块达到有价值的含铁量。其余石头运输成本远高于可回收材料。 - -宁诚仍然给了他们一小包盐,却在收据上写明:只支付三块样本,其他属于首次路线调查补助。 - -农文禄笑他把送盐也写得像公司账。 - -“不写清楚,很快还会有更多孩子背普通石头来。”宁诚说。 - -事实证明他是对的。 - -果然,没过多久便有人推着一车河石接近山谷,被越盟哨兵及时拦下。 - -公司最终与联合后勤组建立“样本回执”。 - -有用样本获得材料额度。 - -无用但首次验证某条路线或地点的样本,获得少量交通补助。 - -重复无效样本不再支付。 - -额度可以换盐、工具、医疗处理或未来产品优先权,却不能直接指定公司必须生产武器。 - -这还不是货币,只是为了让整个资源搜集网不再靠临时讨价还价运行。可当第一张回执在几个村庄之间被接受时,公司已经开始给一块石头、一段铜线和一次山路运输标价。 - -又过了一阵,那个带来有效铁矿样本的孩子再次回来,交给农文禄一张画得很粗糙的路线图。 -图上标着一面红色山坡。 -他的祖父说,法国人过去也在那里敲过石头。 - -公司热图新增一处高优先级验证点。 - -资源清单仍然吃不饱。 -它却已经开始教周围的人,应该用什么眼光重新看一口锅、一块石头和脚下这片山。 - - - -样本回执刚出现,便有人试图把它当成生意。 - -一名往返集市的商人带来二十多千克铜线,要求换取两把手枪。 -材料是真的。 -来源却说不清。 - -越盟调查后发现,其中一部分铜线来自一段仍在使用的地方电话线路。商人趁日军与地方官员管理混乱,夜里让人剪下线路,再准备卖给公司。 - -按材料价值,这批铜足够重要;按工坊规则,它却必须被拒收。 - -“为什么?”商人通过农文禄问,“你们不是要铜?” - -“要。”宁诚说,“但不能为了做电台,先把别人的电话拆掉。” - -“那是日本人的线。” - -调查干部补充:线路同时连接两个越南村庄和一处诊所,并不只服务日军。 - -事情不再简单。如果剪线是越盟有计划的破坏行动,公司可以把它视作战利品;如果只是商人为了兑换武器私自拆除,接受便会鼓励更多人把仍有公共用途的设施变成废料。 - -宁诚让联合后勤组决定。 - -最终,越盟没收铜线,先恢复村庄与诊所通信;剩余确认属于废弃支线的部分才进入公司账户。商人没有获得手枪,只按合法废料获得少量盐和工具额度。 - -系统因此增加原料来源分类。 - -【个人废弃物】 - -【集体物资】 - -【战利品】 - -【公共设施拆除物】 - -【来源争议:冻结】 - -机器仍然只关心铜的纯度,可在铜到达机器以前,人必须先决定它能不能被称为原料。 - -另一名商人很快看懂规则。他不再剪现有线路,而是收购法国机构撤离后遗留的坏电机、废电池和仓库边角料,再通过越盟登记送来。 - -公司获得更稳定输入。 - -商人获得工具与物资额度。 - -越盟则掌握运输与合法性确认。 - -一张原料清单没有消灭市场,只是把市场的出口接到了公司定义的接口上。 - - - -宁诚把所有来源规则写进下一版原料清单。 -清单因此从“机器需要什么”,变成“什么东西可以被送给机器”。只差几个字,权力方向却完全不同:前者描述工厂的胃口,后者已经开始规定周围的人该怎样行动。 - -第一张清单贴在工坊外圈时,没有人把它当成法律。 -它只是比口头约定方便。 -可所有想从公司换到产品的人,都不得不先读懂它。 diff --git a/草稿/1 弃船/1.2 待定篇名/010 谁来挖.md b/草稿/1 弃船/1.2 待定篇名/010 谁来挖.md new file mode 100644 index 0000000..906cf73 --- /dev/null +++ b/草稿/1 弃船/1.2 待定篇名/010 谁来挖.md @@ -0,0 +1,207 @@ +# 010 谁来挖 + +去旧矿的路比地图上长得多。 + +纸面只有一道弯曲的墨线,走进去却先要越过两条溪沟,再沿着长满湿苔的石坡横切半座山。林中几乎看不到路,只有草叶被人踩倒的方向和偶尔露出泥面的旧脚印。 + +朱文晋走在最前面,农文禄紧跟着他。宁诚背着便携终端,被赫默限制在队伍中间;古米原本想把一只热能采矿机箱也带上,最后只获准抱着两只空样品箱。 + +“箱子留在基地会更安全。”宁诚看她一路回头,有点好笑。 + +“古米想先看看山路能不能走。” + +“现在看出来了吗?” + +古米抬头望向前方两棵挤在一起的老树。树干之间只容一个人侧身通过,她怀里的标准箱已经蹭掉几片树皮。 + +“要竖起来。”她认真判断。 + +“展开以后竖着也过不去。”赫默说。 + +古米这才承认采矿机确实不能提前打印。 + +铃兰留在山谷。她的体温刚稳定,赫默不允许她跟着走这么远。临出发时,她把昨晚整理出的几张越南语词卡交给宁诚,叮嘱他遇到听不懂的词可以让终端重新记录。 + +宁诚把词卡塞在上衣口袋里。走过第一条溪沟时,纸角已经被汗浸湿了。 + +旧矿所在的村寨藏在一片竹林后。几间吊脚屋沿坡散开,屋前晾着切开的薯块和几件打满补丁的衣服。狗先叫起来,随后才有人从屋里出来。 + +看到朱文晋,几名握着农具的男人放松了一些,却没有立刻把东西放下。一个头发灰白的老人从人群后走来,他右腿有些跛,脚上那双草鞋比别人厚了一层。 + +朱文晋先和他说了很久。 + +翻译终端只能跟上其中一部分:山谷里的外国人、能验矿的机器、需要铁,还有旧矿可能重新开挖。涉及人名和地方习惯时,屏幕上不断冒出黄色空格,农文禄只能停下来补充。 + +老人始终盯着宁诚一行。他先看赫默的耳朵,又看古米怀里的银灰色方箱,最后问了一句很短的话。 + +“你们要多少人?”终端译道。 + +宁诚看向朱文晋。他们一路讨论的是矿,到了这里,矿却先变成了人。 + +“今天只看旧坑。”宁诚说,“要开挖,也由愿意来的人做。” + +老人听完,没有点头:“愿意的人,家里的田谁种?” + +朱文晋接过话。他说救国军可以从自己的队伍里出人,也可以补一部分口粮。老人听到“口粮”时笑了一声,指向屋前晒着的薯片,又指了指山外。 + +终端翻得断断续续。农文禄最后总结:“他们今年的粮本来就少。多一个人去挖矿,家里便少一个人找吃的。队伍给的粮也从村里来。” + +屋檐下一个正在削薯皮的女人忽然开口。她年纪约有四十岁,手边还坐着两个孩子。她说话时没有看朱文晋,只把削薄的薯皮一片片放进另一只筐里,连这些也舍不得扔。 + +终端漏掉大半,农文禄听完以后复述:“她说,男人答应去挖矿很容易。吃饭要家里送,衣服破了要家里补,病了还要人照看。最后拿回来的东西如果只交给队伍,家里等于白少一个劳力。” + +先前问枪的年轻人有些不自在,低声回了她一句。女人把削薯刀往木板上一放,反问得更快。周围几个人跟着插话,村口顿时吵了起来。 + +朱文晋没有用身份压住他们。他等老人敲了敲竹杖,才说救国军提供的口粮会直接登记到参加开矿的人名下,矿石换来的工具和铁料也由村里共同核对。 + +女人抬头看向宁诚:“你们记谁的名字?” + +“挖矿的人、运矿的人,还有替他们准备食物的人。”宁诚回答得很慢,等终端逐句翻完,“每批结算时,你们自己确认交给谁。公司只认这批矿已经付过多少。” + +“男人半路去当兵呢?” + +宁诚卡了一下。他没资格阻止任何人加入救国军,也无法替离开的人处理家庭关系。 + +“已经做完的工照结。”他说,“后面的工重新找人,不能把欠下的矿算到家里。” + +女人看了他一阵,重新拿起削薯刀。她没有表示赞同,却把手边那筐削好的薯块推给了带路老人,算是允许这场谈话继续下去。 + +朱文晋没有反驳。 + +宁诚想起前一晚签下的约定。公司不能拿一句共同抗日当作价钱,也不能把朱文晋能调动的战士和村寨里的人混成同一群。 + +“先看矿。”他说,“看完再算一天能挖多少、需要几个人。工钱由每一批矿来结,修好的农具、铁料或其他东西,都可以列出来谈。” + +“枪呢?”人群里有人问。 + +这个词翻译得格外准确。 + +朱文晋回头看了说话的人一眼。那是个很年轻的男人,手里的柴刀磨得发亮。他迎着朱文晋的目光,没有把问题收回去。 + +宁诚回答:“枪由你们自己的队伍决定怎么分。矿石的价钱另算。” + +年轻人似乎还想说什么,灰发老人抬手让他闭嘴。他拿起一根竹杖,转身朝山坡上走,示意他们跟上。 + +旧坑离村寨不到半里。入口藏在藤蔓和灌木后面,远看只像一道岩缝。几根发黑的木梁斜撑在洞口,其中一根已经从中间裂开,地面则被渗出的水泡成了深色。 + +带路的老人用竹杖敲了敲岩壁,没有立即进去。他先蹲下摸了一把水,又凑近闻了闻,这才叫村里两个男人点起松脂火把。 + +赫默拦住宁诚:“空气先检测。” + +便携检测器被送进洞口。数字在安全范围内,最深处却出现了轻微波动。赫默在地上划出一条线,只允许两人一组进入,任何人听见木梁响动都必须立刻退出。 + +老人看着她画线,问农文禄:“她挖过矿?” + +“她是医生,也懂机器。” + +老人摇摇头,用竹杖指了指自己的跛腿。他说了一段话,农文禄听完以后声音低了些:“他年轻时在里面挖过。塌方压过三个人,他活了。” + +赫默没有再添加规则,只把检测器交给老人看。老人研究了一会儿屏幕上的颜色,把它挂到最前面那人的腰上。 + +第一段坑道很浅。火把照亮岩壁时,宁诚看见了与样品相似的红褐色条带,夹在灰黑岩层之间。旧凿痕一排排留在上面,有些已经被水垢盖住。 + +老人用锤子敲下几块,把其中一块递给赫默。检测灯转绿以后,他脸上没有惊讶,只问:“这种才要?” + +“越接近绿色,越好。”赫默说。 + +老人立刻把灯拿了过去。他先后照了六处岩壁,三处偏黄,两处变红,只有靠近坑道左侧的一条矿带保持绿色。比起听赫默解释成分,这个结果显然更有用。 + +“以前挖对了。”他对身后的人说。 + +几个人沿着旧凿痕往里清理。腐烂的木条、碎石和积水很快塞满入口。古米把空样品箱放下,抱起一块两人才能挪动的石头,准备直接扔到坡下。 + +老人用竹杖重重敲了一下她脚边。 + +古米停住。 + +老人指向石头下面。那里压着一截不起眼的横木,另一头伸进碎石堆,正顶着入口侧面的斜梁。 + +古米把石头轻轻放回原位。老人叫来两个人,先用短木楔住斜梁,再从另一侧撬动。等横木彻底卸力,他才允许古米把石头搬走。 + +“他刚才救了古米一次。”古米听完农文禄的解释,郑重地说。 + +老人摆摆手,示意她把石头放到指定位置。古米照做,之后每搬一块都会先回头看他。 + +他们刚清出几步,一根朽木突然发出脆响。最前面的年轻人还想抬头看,老人已经一把扯住他的衣领,把他拖出坑道。 + +“出去!”赫默同时喊道。 + +所有人退到线外。几息之后,入口右侧落下一层碎石,烟尘从岩缝里涌出。斜梁没有倒,检测器却被砸得晃了几下。 + +古米回头望着老人。刚才如果她提前搬走那块石头,这片碎石大概会落得更早。 + +赫默检查完每个人,又走到洞口看支撑。老人用竹杖在泥地上画了一套新的木架,标出需要砍多粗的树、横梁要多长。赫默则在旁边补上两根支撑和排水沟。 + +两人说不通彼此的语言,画出来的东西却越来越接近。 + +宁诚站在旁边,忽然明白热能采矿机眼下解决不了最麻烦的部分。它能更快地从岩层里取矿,不能替人判断哪根旧木头还能承重,也不会替村里人决定谁离开田地、谁留在洞里。 + +当天的试挖被限制在入口附近。 + +村里来了六个人,其中两人负责敲矿,两个清理碎石,另外两个挑筐。救国军派出四名战士,两个帮忙运木料,两个在通往村寨的路口警戒。赫默坚持每隔一段时间所有人都要出来,带路老人嫌她过于谨慎,却会在时间一到时第一个敲响岩壁。 + +宁诚和农文禄坐在洞口登记。每只装满的麻袋先挂木牌,写上取样位置和经手的人,再用检测灯照一次。绿色的放在左边,黄色的单独留下,红色的直接倒进垫路石堆。 + +第一个年轻人看见自己挖的矿被判成黄色,脸色很不好看。他拿起来重新照了两次,灯仍然不肯变绿。 + +老人从绿色堆里挑了一块,带他回到岩壁前比较纹理。没过多久,年轻人再出来时,肩上的一筐终于通过了检测。他把麻袋往宁诚面前一放,笑得比拿到枪还明显。 + +到太阳偏西时,洞口只积起十二袋合格矿石。数量远比宁诚想象中少,每一袋背后却有被汗浸透的衣服、磨破的掌心和不断消耗的火把。 + +试挖的人出来以后,屋檐下那个女人带着两个孩子送来一锅热水和几只烤薯。她先按名单数人,发现救国军多来了两名运木料的战士,便把薯块掰得更小。 + +朱文晋看见后,让自己的两名战士把那份放回去,只喝热水。女人又把薯递了一次,见他们坚持不收,便叫孩子把两块放到受伤的年轻矿工手里。 + +宁诚把这一锅水也记进当天消耗。农文禄提醒他村里人通常不会为这点东西单独讨价,他仍然在木板上添了一行。等真正长期上工以后,火把、饭食、照看牲口和修路都会消耗东西;今天不记,往后便很容易全变成某一户“顺手帮忙”。 + +负责削薯的女人看见那一行,第一次朝他点了点头。 + +谈价钱时,灰发老人没有接受按人数算。他要求按通过检测的矿袋结算,黄色样品也要给一点,因为那同样耗了工。朱文晋提出由救国军提供粮食,村里的人却更想要铁制农具和盐。 + +公司暂时拿不出盐。 + +宁诚把能够兑现的东西写在木板上:每批合格矿换取约定数量的标准铁料或修复工具;试挖期间损坏的锤、凿和锄头由公司修理;因开矿受伤的人可以送到赫默那里处理,药品是否能用由她决定。 + +赫默看到最后一句,点了点头:“只能承诺检查和力所能及的治疗。” + +宁诚把限定补上。老人让农文禄连续读了两遍,又叫来村里另外三个人一起听。直到他们都同意,他才在木板角落按下沾着炭灰的拇指。 + +热能采矿机依旧没有被送来。老人同意它以后放在旧坑外侧试用,条件是先让村里的人看清机器会占多少地方、烧多少柴,以及挖出来的矿由谁登记。设备展开前还要再谈一次。 + +回山谷时,十二袋矿石只带走了四袋作为冶炼试料。其余留在村中,由人看守。通往基地的山路太窄,肩挑一次带不走多少;若所有矿都让矿工自己背回来,挖矿的时间又会被路途吃掉。 + +古米想一手拎两袋,赫默只准她带一袋样品箱。她一路都在琢磨怎样把山路拓宽,走到那两棵挤在一起的老树前时,还用手量了量树间距离。 + +天黑前,他们终于回到制造节点。 + +北面铜矿的联络员已经等在那里。他带来两名陌生人,一男一女,都穿着沾满红泥的短褂。朱文晋先上前与他们交谈,气氛却没有宁诚预想中顺利。 + +女人把那块检出铜的旧样品摆在桌上,指了指朱文晋,又指向北方,连说了几句。 + +翻译终端给出的第一版很含混。农文禄听完,重新组织成中文:“她说,那边有人同越盟合作,但矿和山路由当地几处村寨使用。朱先生可以介绍,不能替他们答应。” + +朱文晋平静地点头:“对。” + +女人又指向临时仓位里盖着帆布的设备箱。她已经听说公司有会挖矿的机器,最关心的既非速度,也非原理。 + +“放下以后,谁能让它停?”终端这次翻得很准。 + +“公司能停。”宁诚说,“当地人不同意继续挖,也会停。机器展开以前,我们单独确认地方和条件。” + +“铁矿那边拿什么?” + +宁诚把刚写过的木板放到桌上,请农文禄逐条解释。女人听得很仔细,在工具补偿一项上问了三次,又明确提出铜矿要单独记账,不能与铁矿合在朱文晋名下。 + +“分别记。”宁诚答应,“第一批先由人取样、试挖。机器等路线和用量都确认以后再送。” + +女人没有立刻按手印。她收起木板上的条款抄本,说要带回去给能够作决定的人看。临走前,她同意先组织一批人工采出的矿石,两天后送到半路的村寨。 + +“从那里到这里呢?”宁诚问。 + +她指了指自己,又指了指朱文晋:“一人一段。” + +朱文晋在地图上把铁矿、铜矿和基地连起来。三点之间隔着山路、溪沟、村寨,以及谁也不能替别人答应的地界。 + +矿已经有人愿意挖。 + +怎样把它运回来,成了下一件事。 diff --git a/草稿/1 弃船/1.2 待定篇名/011 把矿运回来.md b/草稿/1 弃船/1.2 待定篇名/011 把矿运回来.md new file mode 100644 index 0000000..e8c5f37 --- /dev/null +++ b/草稿/1 弃船/1.2 待定篇名/011 把矿运回来.md @@ -0,0 +1,205 @@ +# 011 把矿运回来 + +宁诚带走四袋试料以后,矿工又凑出四袋。旧坑旁重新排着十二袋矿石,一放便是两天。 + +这堆矿石不到一人高,村寨里却找不出十二个能够立刻挑走它们的人。白天要照看田地,入夜以后山路难走;救国军的人愿意帮忙,口粮和警戒又得重新安排。 + +朱文晋先借到一头水牛。 + +水牛的主人把它牵到村口,只肯让他们看,不肯交缰绳。那是一头正值壮年的母牛,肩背宽厚,角尖被磨得发亮。再过些天便要翻田,若在山路上伤了腿,一家人的雨季都会跟着耽误。 + +“可以用我们的粮补。”朱文晋说。 + +牛主人摇头。他不要一口袋吃完就没的粮,更不接受“救国”两个字能把牛腿接回去。 + +农文禄来回翻了几遍,最后把对方的要求写在木板上:水牛只走旧矿到溪沟外的缓路;车由村里的人赶;过窄坡前必须卸货;一旦伤到牛,救国军要替他家找到耕田的牲口。 + +“最后一条怎么保证?”宁诚低声问。 + +朱文晋看着那头牛:“我会先从队伍能调动的地方找。找不到,就让人替他家犁地。” + +“要多少人?” + +“看伤多久。” + +这个承诺远比赔一袋粮麻烦。朱文晋还是在木板上签了自己的名字。牛主人又让村里的灰发老人读过一遍,这才把缰绳交给自家侄子。 + +旧木车也要改。原来的轮距太宽,过不了矿口外的两棵树;车轴则被虫蛀出一道浅沟,装满矿石很可能撑不到山下。村里的木匠拆掉一侧轮毂,用硬木重新加固,又在车板两边钉上矮栏。 + +古米蹲在旁边看得很认真。 + +“这里再加一根,会更牢。”她指向车底。 + +木匠听完翻译,用斧背敲了敲她指的位置,又示意她去看车轮转动。那根木料会在拐弯时顶住轮毂。 + +古米趴到地上看了一会儿,点点头:“那就不加。” + +木匠把一截绳子递给她,让她负责绞紧车轴外的固定套。古米差点一把将绳子扯断,第二次才学会按照对方的手势慢慢用力。 + +铁矿路线最后被拆成三段。 + +矿工把合格矿装进小筐,从旧坑背到村口;牛车沿缓坡运到溪沟;过溪以后,再由救国军战士和自愿接活的挑夫换肩,一路送回山谷。每只麻袋仍挂着木牌,途中换过几次手便添几道炭记,少一袋、破一袋,都能找到发生在哪一段。 + +宁诚本想给每一袋编号码,写到二十以后,负责登记的人便把“十一”和“二”看混了。灰发老人从屋里拿出三把旧竹筹,在上面刻出不同形状:铁矿用横纹,铜矿用斜纹,已结算的再削掉一个角。 + +“比你的数字好认。”农文禄说。 + +宁诚看着那套一眼便能摸出来的记号,只得承认老人是对的。他让终端把竹筹样式拍下来,基地的登记表继续用数字,路上的人只认纹路和缺角。 + +第一车铁矿在清晨出发。 + +水牛走得很稳,车轮经过石坑时仍会剧烈摇晃。车上只装八袋,另外四袋由人背着。朱文晋带两名战士在前面探路,宁诚和赫默守在溪沟另一侧,古米则站在最陡的那段坡下。 + +麻烦来得比预想更早。 + +木车下坡时,一只车轮陷进昨夜留下的泥坑。赶车人立刻拉住缰绳,水牛却被后面的重量推得向前滑了半步。车轴发出一声闷响,轮毂歪向外侧。 + +古米冲上去抵住车尾。 + +整辆车在她手里停了下来。水牛终于站稳,鼻孔里喷着白气,赶车人抱住它的脖子,慢慢把它带到平地。 + +“抬起来就能走。”古米说着便要用力。 + +木匠从后面赶到,一斧柄敲在车板上。他指向已经裂开的固定套,又比出轮子脱落的动作。 + +古米立刻停手,只继续托着车尾。 + +所有矿袋被一只只卸下。木匠取出早已备好的硬木楔,削去裂口,再用湿皮条重新缠紧。宁诚在旁边递工具,递错了两次;第三次总算从对方的手势里认出他要的是窄凿。 + +半个小时后,车轮重新落地。木匠让古米慢慢放手,又叫水牛空车走了十几步,确认轮毂没有继续外偏,才允许矿袋分批装回。 + +牛主人站在一旁,从头到尾没有催。他摸过牛的四条腿,确认没有拉伤,才在木板的第一段路线后按下一枚炭印。 + +八袋铁矿过了溪沟,木车便掉头回村。后面的路要靠肩膀。 + +古米本来能一次背走更多,赫默只让她与其他人保持相同速度。山路上任何一段崩塌都得由整队处理,独自把矿搬回基地毫无意义。她最后扛着两袋走在队伍中间,遇到陡坡便先放下自己的,再回头帮后面的人接一把。 + +铁矿当天傍晚到达山谷。 + +铜矿队伍却迟迟没有出现。 + +按照约定,北面的村寨把第一批铜矿送到一处山坳,再由朱文晋的人接过。那里离一条日军常走的山路不远,平时依靠两个少年在高处望风。约定当天,望风的人提前跑下来,说有六名日本兵和十几名本地士兵沿路向南。 + +接矿的人没有靠近山坳。他们在林中等到天黑,从另一条猎路绕行。原本能够驮货的两匹小马过不了一段新塌的窄坡,只能留在北侧,铜矿被拆成更小的包,由人背过最险的一段,再重新装上马背。 + +消息送回基地时,铜矿已经晚了整整一天。 + +送信的战士还带回一场没有打起来的争执。望风少年报告巡逻队只有六名日本兵时,两名负责接应的救国军战士主张在山路上设伏。他们熟悉地形,也确信第一轮射击就能解决大半。 + +铜矿队伍的领头人拒绝了。她的人背着矿,同行还有两匹借来的马;枪声一响,这条刚谈妥的路会立刻变成日军搜山的方向。 + +其中一名战士认为放走巡逻队同样危险。双方在林中压着声音吵了很久,最后由负责联络的老交通员作决定:矿包留在隐蔽处,人先分散,谁也不开枪。等巡逻队走远,再从猎路绕行。 + +朱文晋听完,没有批评想打伏击的人,也没有赞许他们忍住。他只问:“你们有没有被看见?” + +“应该没有。”送信的战士回答。 + +“‘应该’不够。下一趟换接头地点,旧地方三天不用。” + +战士还想解释敌人数量很少,朱文晋把地图推到他面前:“打掉六个人,明天来的会是多少?矿还走不走?” + +这一次,他不说话了。 + +“他们发现矿队了吗?”宁诚问。 + +“没有。”朱文晋说,“巡逻的人也没有停。可那条路最近会多看几次。” + +“为了矿?” + +“也可能在找粮,找人,或者只是换防。” + +朱文晋没有替日军给出一个方便的理由。宁诚只能把那条山路在地图上圈红,又在铜矿运输记录旁写下“每次出发前确认”。 + +等铜矿的这一天,赫默决定先展开石炉。 + +两只部署箱被搬到制造节点下风处,地面已经由越盟战士清平,周围挖出浅浅的排水沟。筛选过的耐热石料堆在一侧,一箱铁基材料和若干耐热黏结料则放在接口旁。 + +宁诚原本以为箱子会像机关一样弹开。真正启动时,只有四枚锚杆从底部伸出,扎进夯实的地面。 + +箱体顶面裂成四瓣,露出中央的打印核心。蓝白色光束扫过石料堆,几只细长机械臂沿地面铺出第一圈基座。碎石被投入入口后迅速粉碎、筛分,再与黏结料一同从打印头挤出,逐层形成致密的炉壁。 + +石炉的轮廓一寸寸长高。 + +最初只是灰色方框,随后出现火膛、风道和炉口。需要承力与调节的位置嵌入金属件,其余部分则尽可能使用当地石料。部署箱不断缩小,内部的高精度组件和结构记录被逐一写进炉体;最后一层封闭时,箱壳本身也被打印臂拆开,变成炉门边缘的金属护条。 + +一名战士忍不住绕到后面,想找那只箱子去了哪里。古米指了指炉门上新出现的同色金属,他才恍然地摸了摸自己的下巴。 + +第一座石炉完全成形后,终端弹出完成标记。 + +【部署完成】 + +【该设备无法恢复折叠状态】 + +【燃料:空】 + +第二座炉子在几米外重复同样的过程。围观的人少了一些,负责炉料的战士已经开始按照赫默画出的标线摆放木炭、铁矿和空筐。 + +灰发老人也随第一批矿来了。他走到石炉旁,先摸炉壁,又蹲下看风道。打印出来的炉体找不到砌缝,他敲了几处,只听见沉闷而均匀的回声。 + +“它自己烧?”他问。 + +“要人装矿、添炭、看炉温。”宁诚说。 + +老人立刻看向跟来的两个矿工,把位置记了下来。会自己长出来的炉子依然需要人守着,这件事似乎让他安心了一点。 + +第一炉没有装满。赫默把铁矿、木炭和助熔石分开称量,交给几名战士依次投入。炉火点起以后,石炉侧面的温度条缓慢上升,风道发出低沉的呼吸声。 + +负责添炭的人起初总想把炉门塞满,被赫默拦了两次。第三次,他已经会在温度落到黄色区域前补上一小筐,并主动把潮湿木炭挑到外面。 + +被挑出的那一筐还是混进了几块湿炭。炉温刚越过绿色下沿,风道里便涌出一股呛人的白烟,负责看炉的人以为要炸,扔下火钳便往后退。 + +灰发老人没有跑。他用湿布挡住口鼻,先关小风门,又把炉口外尚未燃透的炭拨开。赫默确认压力正常,叫古米打开侧面的清理口。几块冒烟的湿炭滚进铁槽,白雾很快淡了下去。 + +退到远处的人慢慢走回来,捡起刚才掉在地上的火钳。 + +老人把一块湿炭和一块干炭各敲成两半,让他摸断面的差别。随后,所有木炭筐都被移到帆布下,进炉前先由看炉的人掰开一块抽查。那名战士也不再一见白烟便跑,只会先看温度和风道标识。 + +炉火一直烧到深夜。 + +第一批铁料从下方槽口出来时,形状粗糙,表面还粘着暗色炉渣。宁诚拿起夹钳,发现它们与回收机吐出的标准料箱相差得很远。 + +“这样能送进制造机?”他问。 + +赫默摇头:“先清渣,再标准化。” + +冷却后的铁料被送入回收机。机器重新检测成分,去掉夹杂,把达到要求的部分封入灰色标准箱;含碳和杂质偏高的则留在内部,等待下一批一起处理。 + +第一只灰箱滑出时,箱顶的铁基标识与拆船所得完全相同。 + +灰发老人看着它,又回头看了看自己带来的竹筹。他把代表已结算的那一根削掉一角,交给朱文晋。 + +“这一批算数。”他说。 + +朱文晋让人抬来村寨交出的坏农具。断锄已经换上新刃,两把缺口严重的柴刀重新磨过,另外还有几段按协议结算的铁料。老人没有立刻收,他逐件敲过、掂过,又叫最初参加试挖的年轻人试着挥了几下。 + +其中一把锄头的木柄装得太松。老人只摇了一下,连接处便发出轻响。 + +负责修理的战士脸上挂不住,想用木楔当场补紧。老人却把锄头放回待修的一边,只收下其余工具。对应的那部分结算竹筹也没有削角。 + +宁诚看着他们重新登记,心里反而踏实了一些。第一批标准铁箱通过检测,并不代表这条线上的每件东西都自动合格。至少那把松动的锄头没有因为“未来机器修过”便被迫算成好货。 + +修理的人一直忙到第二天早上,换掉整根旧柄。老人再次试过,才削掉最后一枚竹筹的角。 + +第二天下午,铜矿终于进了山谷。 + +两匹小马只走到外侧营地,最后一段仍由十几名挑夫背进来。每个包都比铁矿袋小,外面系着斜纹竹筹。领队的女人先数过包数,才允许他们卸货;朱文晋的人也拿出沿途登记,逐段对照,少掉的两小包原来还留在塌坡另一边,等下一趟再带。 + +驮马主人随后解开鞍垫,其中一匹马的背上已经磨出一片红痕。他当场表示下一趟少装两包,直到伤处恢复。负责铜矿接运的战士想用更多草料补偿,被他拒绝了。马吃得再饱,背上的伤也不会因此少痛。 + +领队女人把下一批运输记录改掉:北侧驮马减载,少出的矿由两名挑夫补;若找不到人,那批便晚一天。她又从本次运费里单独划出一份给马主人,用来补鞍垫和停运损失。 + +“矿机开起来以后,每天会更多。”宁诚提醒。 + +“那就先堆在矿上。”女人说,“路只有这么宽,马也只有两匹。” + +朱文晋没有要求她按机器的速度扩充队伍,只把预计积压写进地图旁。开矿带来的第一项富余还没有进入石炉,已经先在山路另一端变成了等待。 + +铜矿进入第二座石炉。火焰颜色出现变化时,围观的人中响起一阵惊呼,赫默却只关心温度是否稳定。矿石含量不高,第一炉得到的金属远少于铁,足够封装的部分要与第二炉合并。 + +当天夜里,黄色标准箱终于从回收机出口滑出。 + +宁诚站在两只箱子之间。一只是旧矿里敲出的铁,一只是经过两天山路送来的铜。它们换过牛车、肩膀和马背,进过石炉,又由回收机重新整理,终于变成制造设备能够识别的原料。 + +临时仓位里,两只热能采矿机箱仍盖在帆布下。 + +赫默检查过铁、铜两箱的质量记录,抬头对宁诚说:“路线和冶炼都通过了。可以送第一台采矿机。” diff --git a/草稿/1 弃船/1.2 待定篇名/011 标准答案.md b/草稿/1 弃船/1.2 待定篇名/011 标准答案.md deleted file mode 100644 index 4b6483e..0000000 --- a/草稿/1 弃船/1.2 待定篇名/011 标准答案.md +++ /dev/null @@ -1,346 +0,0 @@ -# 第十一章 标准答案 - -越盟带来的第一位铁匠姓梁。宁诚不知道他的完整越南名字,农文禄介绍了三遍,翻译模块也给出三个不同写法。 - -最后,老人自己指了指铁锤,又指了指胸口,只说了一个很像“梁”的音。 - -宁诚便暂时叫他梁师傅。 - -老人对此没有意见,他更关心桌上的十二把手枪。 - -这些枪已经完成第一批交付登记,暂时还没送往各支部队。每把枪旁边都放着两个弹匣、一套清洁工具和一张越盟抄写的纸质编号。 - -梁师傅从第一把看到最后一把,又从最后一把看回来,随后拿起两把,分别退下弹匣。他将左边的弹匣插进右边的枪,顺利锁定;再把右边的弹匣插进左边,同样顺利。 - -梁师傅皱起眉,又把两把枪拆开。套筒、枪管、复进簧被依次拆下。他把零件故意混在一起,重新装回。两把枪依旧完成了上膛与空仓动作。 - -“怎么了?”宁诚问。 - -农文禄听完老人说的话,笑了一下:“他问,哪一把是真的。” - -“都是真的。” - -“哪一把是照着原来的枪做的第一把?” - -“第一把测试枪已经拆掉了。” - -梁师傅又问了几句。 - -“他说,这些零件为什么不会认错自己的枪。” - -宁诚愣了愣,才理解问题。 - -在老铁匠过去的经验里,手工修配的零件经常只属于某一件武器。两支同型号旧枪,也可能因为工厂、年代和磨损不同,需要重新锉削才能互换枪机、弹簧与弹匣。在他的经验里,零件并不是抽象的“零件”,而是某支枪的一部分,离开原来的位置,便未必还能继续工作。 - -公司制造机给出的答案完全不同。每个尺寸都有允许误差,每种材料都有检测标准。只要产品落在同一套标准内,它就不再只属于某一把具体的枪,而属于整个型号。 - -“因为机器没有做十二把不同的枪。”宁诚说,“它把同一个答案,做了十二遍。” - -农文禄把这句话翻过去。 - -梁师傅沉默了很久。 - -随后,他从腰间取下一只布包。里面装着各种小零件。击针、弹簧、螺钉、几块磨过的金属片,还有几件宁诚分不清用途的枪械部件。每一件都带有明显手工修配痕迹。 - -梁师傅指着这些零件,说了很长一段话。 - -农文禄翻译得有些吃力:“他说,他修一支枪,要先看哪里坏。没有原来的零件,就找差不多的。太大就磨,太小就垫。弹簧没有,就用别的钢绕。有时候能用,有时候开几枪又坏,每次都不一样。” - -梁师傅拿起桌上一枚公司生产的击针:“这个呢?” - -“只要同一型号,应该都一样。” - -老人不信。 - -宁诚让制造机额外生产十枚击针和十根复进簧。 - -十只小零件箱从解包节点打开。里面的击针整齐排列,肉眼看不出任何差异。 - -梁师傅拿出自己的卡尺。那是一把旧式量具,边缘已经磨损。他一枚一枚测量,又换方向重新测。结果全都一样,至少在他的量具能力范围内,一样得过于彻底。 - -他随后要求从十枚中随便抽一枚,装进第一把枪。第一把正常,换到第五把仍然正常,装进第十二把也一样。 - -老人把击针放回桌上,表情不再像在看一件新武器,倒像第一次摸到一种过去只存在于传闻里的秩序。 - -“他问,这个能做多少。”农文禄说。 - -宁诚看向系统。 - -“有材料就能做。” - -“一百个?” - -“可以。” - -“一千个?” - -“也可以。” - -梁师傅没有继续问一万个。可能是因为那个数字对现在的越盟已经没有实际意义。可他显然意识到,问题的答案仍然不会变化。机器不会因为数量大,就突然忘记第一枚击针有多长。 - -“越盟为什么叫他来?”宁诚问。 - -农文禄指向山谷外:“枪越来越多,也越来越乱。” - -越盟手中的武器来源复杂:日军三八式,法国勒贝尔、贝蒂埃等旧步枪,商用猎枪,少量从中国方向获得的武器,甚至还有地方铁匠制造的火枪。同一个小队可能携带三四种口径。能打什么子弹,坏了找什么零件,全靠缴获和运气。一支枪今天还能开火,不代表下个月还能开火。 - -公司新手枪暂时只有十二把,不足以改变整个局面。可它提供了另一种可能。从这一批开始,枪的零件可以互换,弹匣、弹药、清洁工具,连编号和检查方式也全部统一。越盟不需要让每一名铁匠重新理解每一把枪。只要按照公司给出的检查表判断:能用、待修、报废。随后,把坏件换掉。 - -宁诚看着那十二把枪,先想到一个最实际的问题:“要是它们带到山外才坏,能不能让人先自己检查、自己换零件?” - -赫默调出制造机的检测项目,与系统一起删去必须依赖设备的部分,生成了第一套标准维护包。内容不复杂:清洁杆、刷头、润滑剂小瓶、两枚击针、两根复进簧、一套螺钉、简单量规,还有一张用图案表示的拆装顺序。说明书没有长篇文字。哪一步拆哪个零件,哪一种磨损必须更换,全部用图形和颜色表示。 - -农文禄只需要补充少量越南语。 - -梁师傅看完以后,主动提出在外圈教几名战士使用。 - -赫默同意。但她又加了一条:“任何枪械在重新装配后,必须通过检测。” - -宁诚翻译。 - -梁师傅摇头。 - -“他说,他们没有这种机器。” - -宁诚又看向赫默。 - -赫默回答:“可以用简单量规先检查。有条件时,再送回来做完整检测。” - -这是公司第一次把生产标准往山谷外推。过去,材料是否合格、零件是否准确、武器能否交付,所有质量判断都发生在机器内部,越盟只负责搬进原料、取走成品。 - -现在,他们开始接触一套被简化过的标准。 - -量规能不能通过,编号是否一致,弹簧是否超过使用次数,枪膛是否有危险磨损,都有了明确的检查项。 - -这些规则不需要越盟知道制造机的原理,却会让越盟的军械工作逐渐按照公司定义的方式运转。 - -中午以前,第一批四十套维护包完成。 - -梁师傅带来的两名年轻学徒,在外圈维修棚开始练习。他们拆枪的速度不快,有时还会把零件放错格子。 - -系统无法直接用越南语提示,便让桌面对应区域亮起不同颜色:红色代表错误,绿色代表通过,黄色代表需要检查。 - -第一次装回去时,一名学徒漏装了弹匣卡笋。桌面立刻亮红。他愣了一下,把整把枪重新拆开。第二次通过。 - -另一个人速度更快,却把两根弹簧混在一起。量规拒绝通过。 - -梁师傅没有替他们做,只站在旁边看。他很快理解了这套训练的特点:老师傅不必亲眼看见每个错误,标准会自己把错误挡下来。 - -宁诚站在维修棚外,第一次感觉公司送出去的其实还有一套标准。枪会坏,弹药会打完,可只要越盟接受它,公司的痕迹便会留在每一次拆装、每一只料箱和每一张登记表里。 - -到了下午,麻烦也跟着来了。 - -第一支来要枪的是朱文晋直属小队。他们提供了最早的样枪、战场废料和搬运人员,认为理应优先获得下一批产品。 - -第二支来自北侧据点。他们即将执行一次危险任务,要求获得六把手枪和两百发弹药。 - -第三支来自负责交通线的救国会。交通员更需要能够隐藏携带的短枪,而且他们提供了大部分铜线与废电池。 - -三份要求都合理,制造机却只剩下足够生产九把手枪的弹药材料。 - -宁诚看着排在终端上的订单:“以前你们怎么分枪?” - -农文禄回答:“谁缴获,先给谁。上面也会调。” - -“现在呢?” - -“现在都说自己最需要。” - -这很正常。 - -过去没有稳定来源时,谁拿到枪主要取决于战斗与关系。 - -现在公司能生产,所有人便开始期待一套稳定规则。 - -机器的标准答案解决了零件问题,却没有回答谁应该先拿枪。 - -系统只会计算任务优先级、运输时间、战斗需求和投入材料。 - -可谁有权提供这些数据,谁有权判断某次行动更重要,不是制造机能决定的事。 - -宁诚没有替越盟选,也没有立刻替机器制定一套新规矩。“我不知道哪一队更急。”他说,“能不能请朱指挥员先把三份合成一份?这一次,我们照他给的结果做。” - -农文禄愣住。 - -“都不给?” - -“不是。先让朱指挥员给我们一份最后结果。” - -“他也会为自己的人要枪。” - -宁诚顿了一下:“所以要由你们自己商量。我现在只能确定,九把枪不可能同时交给三支队伍。” - -农文禄把话翻给朱文晋。 - -朱文晋没有立刻回答。他看向制造机旁整齐排列的料箱,又看向外圈等待消息的几支小队。 - -公司没有要求指挥越盟,也没有宣布哪支队伍更重要。这一次,宁诚只是把无法同时满足的三份要求退了回去,让越盟先在制造机以外完成自己的争论。 - -下午,一份新的订单送到宁诚手里。交通线获得五把,即将行动的小队获得四把,朱文晋直属队这次不领新枪。 - -宁诚没有问他们怎样达成结果。他只把订单输入制造机。 - -机器接受了。 - -【本批需求来源:越南救国军临时指挥部】 - -【订单状态:进入队列】 - -机器终于拿到一个可以执行的答案,至于这个答案以后该由谁提供,宁诚还没有想清楚。 - - -当天稍晚,第一批领枪人员回到山谷接受训练。 - -其中就有交通员阮氏兰。她已经能在近距离稳定命中,却不熟悉拆解和维护。 - -梁师傅把十二把枪的零件全部混在一张布上,让每个人随手取一套重新装配。 - -有人担心拿错。 - -梁师傅只指了指公司量规。 - -能通过量规,就是正确答案。 - -第一轮,有两个人装反复进簧,一人漏装零件。检测台亮起红色,不允许把枪带走。第二轮全部通过,十二把重新组合后的手枪正常完成空仓动作。 - -阮氏兰问:“以后我们自己能做这些零件吗?” - -问题由梁师傅转述。 - -宁诚把击针图样投到桌面上。几何尺寸看起来并不复杂,他却知道“看起来简单”不等于真能做,于是把问题交给赫默。 - -“简单工具和部分零件可以学。”赫默逐项检查后说,“弹簧、枪管和受力件暂时不行。困难在材料硬度、热处理、表面精度和批量一致性。” - -“为什么不给我们完整做法?”一名干部问。 - -“因为你们现在没有能稳定执行做法的设备。”赫默回答,“一件偶尔成功的枪械,不等于可以交付的产品。” - -“那做法还是你们的。” - -“对。” - -赫默没有用“为了安全”掩饰技术边界。 - -公司可以教越盟检查、拆装、登记和更换标准件。制造模板、材料协议与自动加工权限仍然留在机器里。 - -梁师傅看了看图样,又看向制造机。他没有继续要求完整模板,只提出公司应该提供一套越南人能够自己制造的简易清洁工具和木制携行箱。 - -这些不涉及核心材料,也不需要未来设备。 - -宁诚同意。 - -公司给出尺寸和接口标准。 - -梁师傅负责让本地工匠用现有工具生产。 - -第一批木箱做得并不完全一样。有的边角粗糙,有的盖子偏紧。只要内部卡槽、弹匣位置和维护工具接口符合量规,它们仍被接受。 - -标准不要求所有东西都由公司制造,只要求参与者按照公司定义的接口相互配合。 - -阮氏兰把新枪放进第一个合格木箱,忽然问:“如果以后没有你们的子弹呢?” - -宁诚停住。 - -她问中了这套标准最脆弱、也最牢固的地方。 - -统一口径提高了效率,也意味着一旦离开公司的弹药,所有新枪都会逐渐变成空壳。 - -“我们会尽量保证供应。”宁诚说。 - -不是“你们以后可以自己生产”。 - -也不是“公司永远不会中断”。 - -只是尽量。 - -阮氏兰点了点头,把枪收好。 - -标准答案让每个零件都能替换,也让这些答案开始依赖同一本由公司保管的标准书。 - - - -标准件第一次证明价值,不是在试射场。 - -训练结束后不久,阮氏兰又带着一把无法正常供弹的公司手枪折返回来。她离开山谷过河时摔进泥里,弹匣口受到撞击,第二发便卡住。 - -过去,这种故障通常要交给熟悉武器的老师傅慢慢修。 - -梁师傅只用量规检查几处尺寸,便判断枪身没有问题,变形的是弹匣。他从维护包里取出备用弹匣,插入,上膛,故障随即消失。 - -坏弹匣被送回公司分析。系统根据编号找到同一批次,确认那批弹匣的口部强度比设计值低百分之四。机器没有等第二次故障,另外十一只同批弹匣立即被召回,更换成新批次。 - -越盟最初不理解。 - -其余弹匣还没有坏。 - -为什么要全部换? - -“因为它们用的是同一个答案。”宁诚说,“一个答案被证明有问题,其他同答案产品也要重新检查。” - -这就是标准化的另一面:它能让正确快速复制,也能让错误同时潜伏在一整批产品里。 - -公司依靠编号和记录,在错误变成更多伤亡以前把它找出来。 - -梁师傅开始要求每支部队记录故障,而不是坏了便自行锉削到勉强能用。 - -阮氏兰也成为第一名按编号完成产品退换的人。 - -“这把还是原来的枪。”她拿到新弹匣后说。 - -“对。”宁诚回答。 - -“弹匣不是原来的。” - -“对。” - -“以后枪管、弹簧都换了呢?” - -宁诚想起她第一次问过的问题。“只要记录还连着,就是同一把。”这次他给出了公司的答案。 - -阮氏兰没有争论,只在纸质编号旁画了一个很小的记号。那是她自己的答案。 - - - -当晚,梁师傅把十枚公司击针和自己手工修配的零件并排放在桌上。他告诉学徒,过去最重要的是记住老师傅怎样判断。以后还要记住量规怎样判断。 - -“机器会不会把铁匠都赶走?”一名学徒问。 - -梁师傅摇头:“机器知道答案,不知道哪把枪从哪里来,也不知道谁明天要拿它去哪里。” - -农文禄把这句话翻给宁诚。 - -宁诚没有完全同意。公司系统正在学习来源、任务和去处。它今天不知道的东西,明天可以被记录。可机器即使拥有所有数据,也不会自然理解一个战士为何舍不得把刻着兄弟名字的旧枪回收。 - -标准可以告诉所有人什么尺寸正确,不能替所有人决定什么东西值得保留。 - -宁诚问赫默:“简单量规的做法,能不能也交给梁师傅?” - -“可以。高精度母规仍然由公司保管。” - -得到确认后,他让制造机把一套简单量规的图样交给梁师傅。 - -公司负责高精度母规。 - -越盟工匠可以依照母规制造日常检查工具。 - -这是第一项真正从机器内部流向本地手工体系的技术。不够制造枪。却足够让更多人判断一件零件是否合格。技术没有被完整交出,边界却向外移动了一小步。 - - - -梁师傅把公司量规收进自己最贴身的布包。过去,他珍惜的是一件用得顺手的工具;现在,他珍惜的是一件能告诉不同工匠同一个答案的工具。 - -从山谷离开前,他又回头问:“母规坏了怎么办?” - -“回来换。”宁诚说。 - -梁师傅点头。 - -越盟第一次拥有了可以复制标准的量规。 - -而那把定义所有量规是否正确的母规,仍然留在公司手里。 - - - -次日天刚亮,第一套本地制作的木制维护箱通过量规。它不够漂亮,却能装下公司标准工具。越盟在使用这套标准的同时,也开始为它制作自己的外壳。 - - diff --git a/草稿/1 弃船/1.2 待定篇名/012 子弹不会凭空长出来.md b/草稿/1 弃船/1.2 待定篇名/012 子弹不会凭空长出来.md deleted file mode 100644 index 8f1ad33..0000000 --- a/草稿/1 弃船/1.2 待定篇名/012 子弹不会凭空长出来.md +++ /dev/null @@ -1,396 +0,0 @@ -# 第十二章 子弹不会凭空长出来 - -生产线在五月三日上午停了。设备没有故障,电也没断,回收机更没有被日军废枪撑到消化不良;制造机只是安静地亮起黄灯,拒绝继续生产弹药。 - -【7.65毫米弹药任务暂停】 - -【缺少可用底火材料】 - -【缺少稳定发射药】 - -【当前可完成数量:91】 - -【订单剩余数量:609】 - -九十一发弹药整齐排列在解包节点里,后面的六百零九发只存在于订单上。 - -宁诚盯着警告看了半天:“昨天不是送来一箱步枪弹吗?” - -赫默把回收记录调出来:“一共四百七十二发。经过检测,可安全拆解三百一十六发。” - -“剩下的呢?” - -“受潮、腐蚀、底火异常,或者来源无法确认。” - -“三百多发步枪弹,怎么只剩九十一发手枪弹?” - -“不是只生产了九十一发。”赫默指向库存,“之前的试射、交付与当前储备都消耗了含能材料。” - -宁诚这才想起来,新手枪已经造出几十把,每把都要配弹,生产协议还消耗了大量测试样本。 - -旧步枪弹比手枪弹更大,不代表它能无损变成更多子弹。发射药中有不稳定部分,底火材料回收损耗更高,弹壳与弹头的金属反而成了最不缺的部分。 - -库存里还存着几只铜基和铅基标准料箱。制造机可以造弹壳和弹头,甚至能把每一发弹药的重量控制得几乎完全一样,问题是,它不能让一块铜自己产生爆炸。 - -“能不能自己做火药?”宁诚问。 - -系统立刻弹出一条技术链。硝酸、硫酸、纤维素处理、溶剂精制、稳定剂、底火含能化合物,以及防静电、防爆、废水和有毒气体处理设施,一项接一项排了下来。下面还有更长的原料清单与安全要求。 - -宁诚往下翻了几页:“当我没问。” - -“不是不能建立。”赫默说,“是当前设备、原料与隔离条件不允许。” - -“能不能做简单一点的?” - -“黑火药?” - -“对。” - -“可以尝试。” - -宁诚刚刚看到希望。 - -赫默继续说道:“然后重新设计武器、弹药、膛压标准与储存方式。潮湿环境会显著影响性能,烟雾也会暴露位置。” - -“多久?” - -“不知道。” - -这两个字再次关闭了希望。 - -古米从旁边拿起一只空弹壳,对着光看了看:“里面真的什么都没有。” - -“所以才叫空弹壳。”宁诚说。 - -“能不能多装一点现有的火药,分给更多子弹?” - -“不能。”赫默回答。 - -“为什么?” - -“每发少装一半,它们可能无法完成枪械循环。装药不稳定,还会增加卡弹和炸膛。” - -古米把弹壳放回去:“子弹好麻烦。” - -“枪本来就比看起来麻烦。”宁诚说。 - -过去看战争片时,弹药总像一种背景物资。士兵从箱子里取出弹匣,拉动枪机,然后开火;只要剧情需要,箱子里似乎永远还有下一排子弹。到了自己真的需要生产,宁诚才发现一发小小弹药背后站着完整的金属、化工、安全与质量控制体系。他们有一台来自未来的制造机,却仍然绕不过这条产业链。 - -“先停手枪生产。”宁诚说。 - -农文禄正好带着新订单赶到,听完翻译以后立刻反对:“不能停。” - -“没有子弹。” - -“先做枪,子弹以后找。” - -“没有子弹的枪现在只是比较复杂的铁块。” - -农文禄指向已经交付的手枪:“已有子弹可以分。” - -“分得越薄,每个人能打的就越少。” - -朱文晋随后赶来。 - -双方第一次因为产品发生真正争执。 - -越盟认为枪本身就有价值,哪怕弹药不足,至少能先武装干部、威慑警察,等待后续补给。 - -宁诚看到的却是另一组数字。 - -制造一把枪要占用制造机时间、钢材、铜材、弹簧材料与检测资源。如果弹药瓶颈无法解决,继续扩大枪械数量只会让有限子弹被更多武器分走。更何况越盟手中还有大量能用的步枪,公司手枪适合隐蔽携带,却不是越北武装此刻唯一的战斗力。 - -赫默没有参与政治判断。她只提供一个事实:“当前弹药储备按照已交付枪械计算,每把平均二十七发。” - -二十七发。 - -两个弹匣都装不满几次。 - -朱文晋听完这个数字,终于同意暂停新枪生产。 - -“先找子弹。”农文禄翻译。 - -问题转移了。子弹从哪里来? - -继续收集战场散弹太慢;向商人购买,数量不稳定,而且很快会引起日军和地方官员注意;从其他越盟部队调拨,也只是把缺口从这里移到那里。最直接的来源,仍然掌握在日军手中。 - -朱文晋摊开一张地图。地图东南侧标着一条较宽道路。 - -附近有一个原法国人使用过的小型仓储点。三月日军解除法军武装以后,接管了那里,用来给周边驻军转运弹药、药品和其他军需。仓库不大,驻守兵力也不算多,真正的问题是它接近日军控制的道路,周围几个村庄都有眼线。 - -“以前想打过?”宁诚问。 - -农文禄点头:“不好打。路上有岗,里面有电话。打下来,也搬不走太多。” - -“现在呢?” - -“现在有你们的机器。” - -宁诚听懂了。过去越盟攻击仓库,必须先考虑拿走什么:步枪弹要按口径分,受潮弹药价值低,损坏枪械搬运困难,许多军械即使缴获,也未必适合现有部队。 - -公司回收机改变了这一点。只要是弹药、底火、发射药、黄铜、铅和军械材料,就有送回来的价值。型号不再那么重要,状态也不必完好,越盟可以把过去看不上的混乱库存一起搬走。 - -可“东西值得搬”不等于“仓库就打得下来”。宁诚对着地图看了一会儿,还是不知道一次行动先该问什么,只好打开终端输入: - -【需要判断仓库行动风险。缺少哪些现场信息?】 - -终端列出四项:守军与火力、通信警报、运输时限、增援距离。 - -宁诚照着清单一项项问下去。“多少守军?”宁诚问。 - -“二十到三十。白天有车。” - -“有机枪?” - -“一挺。可能两挺。” - -“电话线从哪里走?” - -农文禄指向地图上的道路:“这里。” - -宁诚又问:“运输车什么时候来?” - -“不固定。” - -“附近有日军增援吗?” - -“最近的据点走路两个小时,卡车更快。” - -越盟过去依靠长期观察,掌握了仓库大致情况。但想把这些情报变成一次成功行动,仍然缺少准确地形、守军作息和实时警戒。 - -公司可以补上其中一部分。 - -宁诚调出仅剩的侦察无人机。它已经修正过姿态问题,飞行时仍会轻微向左偏,却不至于再次栽进草丛。“先看。”他说。 - -当天下午,无人机从山谷升空。它没有直接飞向仓库。 - -日军已经见过不明飞行设备,高度太低很容易暴露。 - -赫默设定了一条沿山脊绕行的路线,尽量利用云层和地形遮挡。 - -画面在傍晚传回。仓库比地图上更小,只有三座长屋、一道木栅栏和一个简易哨塔。道路旁停着一辆卡车,另有两处可能的机枪阵位;电话线从东南侧沿木杆进入仓库。 - -无人机没有靠近,只在远处连续拍摄。人员进出、换岗、做饭烟火和巡逻路线被逐一记录。 - -系统无法判断每个人的身份,却能把重复运动标成规律。 - -【守军可见数量:24—29】 - -【夜间巡逻周期:约18分钟】 - -【电话线路入口:已标记】 - -【仓储建筑热源:3】 - -【疑似弹药存放区:北侧长屋】 - -朱文晋和几名救国军干部围着投影看了很久。对于他们而言,这不是一张普通地图。它能看见围墙后面,记住每名哨兵走过的路线,还能把整整两个小时的观察压成几条最重要的规律。 - -“你们去吗?”农文禄问。 - -“我们不去。”宁诚回答。 - -古米抬起头,明显有一点想去。 - -赫默只看了她一眼。 - -古米又把注意力放回锅里。 - -铃兰已经恢复日常行动。 - -但赫默仍不允许她把大范围狐火当作普通作战手段。 - -公司也不能每次行动都让三名干员替越盟正面解决。更重要的是,这片山区属于越盟,他们熟悉道路、村庄和撤退方式,公司能做的是提供另一种优势。 - -无人机继续观察。 - -终端生成准确到分钟的行动窗口。电话线切断后日军最快多久发现异常,从哪条山路接近最不容易被哨塔看见,哪间仓库必须先控制,卡车如何发动,不同重量物资要用多少人搬走,都被系统列了出来。甚至连道路某处转弯半径不足、卡车需要倒一次车,也被标记在图上。 - -宁诚看着系统给出的方案:“它算得很完整。” - -朱文晋听完翻译,只问了一句:“它打过仗吗?” - -“没有。” - -“那人还是按我们的来。” - -宁诚愣了一下,随后点头。 - -系统能计算,却不知道那条小路最近是否塌方,附近村民会不会在夜里经过,也不知道哪名日军哨兵有偷偷喝酒的习惯。 - -越盟没有拒绝公司的数据,也没有把自己的判断交给机器。他们把两套信息叠在一起,重新制定行动。 - -公司负责无人机、无线电中继、时间标记和撤离路线。 - -越盟负责切线、潜入、战斗与运输。 - -“需要多少箱子?”宁诚问。 - -农文禄没有听懂。 - -“你们抢到东西,总得装回来。” - -系统根据仓库体积估算,建议携带二十四只普通货箱、六只危险品隔离箱和四副简易担架。 - -制造机暂停手枪任务,转而生产运输支架与货箱。 - -这一次,越盟没有抱怨。没有箱子,仓库里的弹药仍然只是难以搬运的负担。 - -到了晚上,行动人员在警戒线外集合。他们没有携带公司新手枪作为主武器,数量太少,弹药也太珍贵。多数人仍然拿着日式和法式步枪,不过每支小队多了一只由公司终端改装的简易信号器。它只能显示三种颜色:绿色继续,黄色等待,红色撤退。不需要复杂通话,也不容易因为语言和电台噪声误解。 - -宁诚在山谷里看着无人机画面。这是他第一次参与一场自己不在现场的战斗。 - -终端弹出请求。 - -【越南救国军行动组已连接】 - -【是否授权共享侦察与计时数据?】 - -宁诚按下确认。 - -制造机依旧因为没有火药而停着。 - -为了让它重新工作,越盟已经向日军的仓库出发。 - -子弹不会凭空长出来。 - -所以他们准备去拿。 - - -行动组出发前,宁诚又见了一次高桥。 - -按照最初约定,高桥本应在第二天移交。仓库情报出现后,朱文晋与宁诚共同延长了询问时间;作为连队指挥官,高桥仍是目前最有价值的日军情报来源。 - -那名日军大尉仍被看守在山口外。几天过去,他已经没有第一次谈判时的傲慢,却拒绝主动提供仓库情报。 - -宁诚没有刑讯的经验,也不准备临时学习。他只是把无人机拍到的仓库图放到高桥面前:“这里是什么?” - -高桥看了一眼,不回答。 - -“我们已经知道是军需仓库。” - -仍然沉默。 - -“电话线从东面进,二十多名守军,一辆卡车,两处机枪位置。” - -高桥的目光在北侧长屋停了一瞬。 - -系统立刻把视线变化标记出来。 - -宁诚没有把这一套当成读心术。人眼移动可能有许多原因,但至少说明那间长屋值得重点观察。 - -“里面有弹药?” - -高桥终于说:“你们进不去。” - -这不是答案,也已经是答案。 - -无线电兵则被要求辨认公司截获的日军呼号。他不愿配合。 - -越盟却从高桥连队留下的电台记录里找到了相同编号。 - -仓库每天傍晚进行一次短报。电话线中断后,如果无线电也没有回应,附近据点最快半小时便可能警觉。新的时间限制被加入计划。 - -“机器之前说增援两小时。”农文禄皱眉。 - -宁诚也怔了一下。 - -赫默把据点和仓库之间的路线重新点亮。“两小时是常驻据点步行到达的大致时间,不是他们发现仓库出事的时间。”她说,“电话或无线电失联,会让警报更早发出。” - -越盟随即增加一支小组,专门控制电台并发送一次正常回报。他们不会长时间伪装日军通信,只需要让最初半小时看起来和平常一样。 - -古米听完整个计划,再次问:“我们真的不去?” - -“不去。”宁诚说。 - -“古米可以很快把门撞开。” - -“然后所有日军都知道公司亲自参加袭击。” - -“他们已经知道我们和越盟一起。” - -“知道合作,和看见我们每次替越盟打仗,还是不一样。” - -宁诚没有说出口的另一个理由是,公司必须学会在不依靠三名干员亲自解决一切的情况下行动。古米、铃兰和赫默再强,也只有三个人,不可能同时出现在每座仓库、每条山路和每个村庄。公司真正能够扩大的是无人机、地图、通信、制造和计划;越盟能够扩大的是地面上的组织与行动。 - -行动组完成最后一次沙盘推演。 - -几块石头代表仓库,竹签代表哨兵,三只银灰色空箱代表撤运车辆。 - -系统不断给出最短路线。 - -朱文晋却两次故意选择更慢的路。 - -第一条最短路经过一户可能养狗的人家。第二条雨后泥深,卡车装满以后容易陷住。 - -机器接受修正,把本地经验写回地图。 - -宁诚看着更新后的行动方案,终于明白这次合作并非公司把答案交给越盟,而是双方各自拿出一半看得见的世界。 - -晚上八点,第一枚绿色信号亮起。 - -越盟进入山林。 - -公司留在原地,却把一只眼睛、一张地图和一只不会睡觉的钟,送到了他们头顶。 - - - -为了确认不能就地制造发射药,赫默还做了一次最小试验。 - -越盟送来硝石、木炭和一批来源不明的粉末。 - -制造系统能够分析成分,也能给出黑火药配比,却拒绝在普通工坊里自动混合。 - -【缺少防爆隔离】 - -【缺少湿度控制】 - -【缺少稳定原料批次】 - -宁诚申请只做几克测试样本。 - -赫默同意,但把实验移到远离生产线的隔离坑。 - -第一批样本点燃后速度过慢。第二批燃烧不均。第三批在潮湿空气中放置半小时,性能便明显下降。它们都能烧,距离“可以让几百名战士放心装进枪里”却很远。 - -“实验成功了。”一名越盟战士看着火光说。 - -“没有。”赫默回答。 - -“它烧了。” - -“只是烧了。” - -宁诚理解这两句话的差距。一份配方能点燃,不代表能进入流水线。工厂不能靠一次偶然成功。换了天气、原料和批次,它仍得保持稳定。 - -当前越北没有给公司准备好的完整化工链。所以袭击仓库不算绕过科技树的作弊,只是在公司建立自己的化工体系以前,先从日军现有产业链上截取已经完成的结果。 - -系统把三份失败样本与仓库行动同时记入“本地含能材料协议”。 - -科学没有因为他们选择缴获而停止,只是暂时跟在枪声后面,一点点收集失败。 - - - -行动组离开后,制造系统把“军械仓库”标成临时外部资源节点。 - -宁诚看到这个名称时愣了一下。 - -对越盟而言,那是一处必须冒险夺取的敌军仓库。 - -对系统而言,只是尚未接入的含能材料来源。它不会在意资源点由谁守卫,也不会在意把线路接上需要先打一场仗。这些没有进入产能计算的部分,全部由人承担。 - - - -无人机的绿色指示灯最终消失在山脊后。 - -制造机前那九十一发弹药没有增加。 - -工坊只能等待山外的人,把下一段产业链从敌人手里接回来。 - - - -这次仓库行动既是夺取,也是这条残缺工业链第一次向外伸手。 - - - - diff --git a/草稿/1 弃船/1.2 待定篇名/012 第一台组装机.md b/草稿/1 弃船/1.2 待定篇名/012 第一台组装机.md new file mode 100644 index 0000000..0947371 --- /dev/null +++ b/草稿/1 弃船/1.2 待定篇名/012 第一台组装机.md @@ -0,0 +1,221 @@ +# 012 第一台组装机 + +热能采矿机箱离开山谷那天,抬箱的人换了三次肩。 + +设备的主体还没有成形,部署箱和配套料箱依然沉得压人。四名战士用两根硬木穿过底部托架,古米走在后面,怀里抱着打印时要用的高精度部件箱。宁诚则背着终端,负责一路提醒所有人别把黑色锚孔当成绳扣。 + +到了那两棵挤在一起的老树前,队伍果然停下。 + +抬箱的人先卸下硬木,把箱体竖起来,用绳索从上方牵引。古米站在坡下托住底角,四个人一点点侧身,才让银灰色箱体从树干间擦过去。右侧显示带撞掉一块树皮,幸好没有变红。 + +“回来也要走这里?”一名战士问。 + +宁诚看着箱顶的部署标识:“放下以后,它就不回来了。” + +那人回头望了一眼窄得只能容下一只箱子的山路,显然对这句话有了很具体的理解。 + +旧坑外已经清出一块平地。村里的人砍掉灌木,沿矿带方向挖出浅槽,又把塌方附近用新木料重新支撑。灰发老人没有让机器靠近旧坑深处。他选的是洞口外侧露出地表的一段矿层,产量也许低些,至少人能从三面接近。 + +部署前,所有人又围着那块地走了一遍。 + +老人用竹杖划出矿工行走的位置,赫默标出机械臂的活动范围。两组线在右侧重叠,古米便搬走一块大石,把收矿筐的位置向外挪。烧炭的人要求炉口朝背风面,避免火星落到干竹上;负责守路的战士则坚持机器不能挡住撤离旧坑的通道。 + +宁诚原以为箱子落地便能开工,真正要决定的第一件事却是它该朝哪边。 + +铜矿那边派来的女人也到了。她站在村里几个人中间,专程来看机器怎样展开。北面的协议还没有落笔,如果这台设备占地太大、燃料消耗太快,第二只箱子就得继续留在基地。 + +灰发老人最后将竹杖插在地上:“放这里。” + +宁诚没有立刻授权。他让农文禄把已经谈好的条件再念一次:设备由公司维护;村里负责安排自愿上工的人;燃料、矿量和结算每天登记;任何人发现坑道、炉火或日军方面的危险,都可以先拉停机杆,之后再说明原因。 + +赫默已经在部署程序中加了一只机械断火杆。它不会开放设备内部权限,却能切断燃料和运动机构。红色手柄将装在所有人都够得到的位置。 + +灰发老人听完,抓住宁诚的手腕,把他的手按在竹杖旁边:“可以。” + +部署箱落地。 + +四枚锚杆依次扎进岩层,打印核心升到箱体上方。人们把铁基材料、高精度部件和筛选后的石料送入接口,蓝白色扫描光沿着矿层转了一圈,地面随即浮出一圈警戒线。 + +第一层底座从箱体下方铺开。 + +打印臂将材料烧结成厚实的承重框架,齿轮轴和炉膛组件随后嵌入。细小的结构先被封在内部,外壳再一层层包上去。原本只到人膝盖高的箱子慢慢失去四角,化作支架、护板和进料口,采掘臂则沿着预定方向向矿层伸展。 + +机器越长越高,周围的人也越退越远。 + +不到一顿饭的时间,箱子消失了。原地留下钢铁底座、燃烧室、齿轮组和一根能够压向岩壁的采掘臂。侧面那只红色停机杆格外醒目,灰发老人伸手试了一次,确认自己不用踮脚。 + +【热能采矿机部署完成】 + +【燃料:空】 + +【输出端:未连接】 + +机器没有像众人想象中那样立刻开挖。烧炭的人先抬来两筐木炭,矿工清空采掘臂下的碎石,另外两人在输出端摆好浅筐。每一步都完成后,赫默才允许点火。 + +燃烧室里冒出第一缕烟。 + +齿轮缓慢咬合,采掘臂压向岩层,震动从底座一路传进地面。第一下只敲落一些碎屑,第二下已经有拳头大小的矿石滚进浅筐。机器的节奏远比手锤稳定,声音也大得多,半个村寨都能听见那一下下沉闷撞击。 + +古米站在输出端,看到浅筐很快堆满,伸手就想接。 + +灰发老人拦住她,拿检测灯在矿石上扫过。最上面两块只亮黄灯,被他直接扔到旁边;下面绿色的才倒进正式矿袋。 + +“机器也会挖错?”古米问。 + +“机器沿着划定范围取料。”赫默说,“矿层有变化,要由人调整。” + +老人听完翻译,拍了拍检测灯。他把两个年轻矿工叫到身边,一个负责看矿色和灯光,一个负责记录每筐质量。另有两人添炭,一人清渣,几名挑夫把装好的袋子送到村口。 + +采矿机只替代了最重、最慢的敲击。它身边的人反而比试挖时多。 + +中午以前,红色停机杆第一次被拉下。 + +采掘臂刚接近一道裂隙,灰发老人便听出声音发空。他没有等检测器警告,直接切断炉火。齿轮在几息内停住,几块松石随后从上方滚落,砸在清空的浅槽里。 + +赫默检查过岩层,重新缩小采掘范围。老人则让人加上一根支架,直到下午才同意复工。 + +铜矿来的女人站在一旁看完全程。她走过去拉了拉红杆,又问负责记账的年轻人机器一上午吃掉多少木炭、出了多少袋矿。 + +“北面的机器也要有这个。”她说。 + +“会有。”宁诚回答。 + +“记录归谁?” + +“你们留一份,公司留一份。经过朱先生的人运输,再给他们一份运输记录。” + +女人终于拿出带来的协议抄本。她在最后加上停机杆、燃料和分账三项,随后按下手印。第二只热能采矿机可以北送了。 + +那趟路花了四天。 + +铜矿比铁矿远,部署箱先随挑夫走到山坳,再换到两匹小马背上,最窄的塌坡仍要拆下托架,由人一段段抬过。宁诚没有留在基地等消息,他和赫默跟着走完全程,亲眼确认那块暗绿色矿层确实位于当地村寨同意开采的山坡内。 + +第二台机器展开时,围观的人少得多。当地人已经从联络员口中听过石炉和铁矿机,最在意的是红色停机杆是否真能切断炉火。一个老人连续拉了三次,等机器每次都停稳,才允许把燃料重新送进去。 + +第一袋机器开采的铜矿被绑上斜纹竹筹。 + +它没有跟宁诚一起回去。原来的运输队仍按照自己的时间出发:先由人背过窄坡,再装上马,避开日军巡逻较多的山路,最后交给朱文晋派来的接应者。机器一天能够挖出的数量已经超过一趟运力,矿点旁很快搭起遮雨棚,还增加了两名看守。 + +“挖得快,路会先堵住。”回程时,宁诚看着棚下渐渐增加的矿袋。 + +赫默回答:“还会更容易被发现。” + +山路上没有留下机器的脚印,人和马的往来却明显变多。泥地里叠着不同方向的蹄印,连原本隐蔽的小路也被踩宽了一些。 + +回到基地以后,第一台矿机产出的铁已经烧完三炉。 + +两个石炉昼夜轮换,添炭、装矿、清渣都由经过训练的人负责。铁料和铜料冷却以后进入回收机,重新封成标准箱。最初由残骸拆出的灰黄料箱被单独移到一边,新矿所得则画上一道黑线,避免混在一起。 + +赫默等数量足够,才调出下一张设备图样。 + +【产品:组装机1型】 + +【制造时间:30分钟】 + +【输入:标准材料、预制部件】 + +【需要电力部署】 + +制造第一台组装机的任务仍由通用制造机承担。搬运组把带黑线的铁、铜标准箱送入接口,另有几箱齿轮、电气元件和结构件由通用制造机提前加工。整个过程与制造手枪时很像,只是没有人再蹲在屏幕前等倒计时。 + +负责物流的人早已会按照显示带调度空箱。第一只灰箱退出时,后面的人马上接走;黄色入口缺料,守在暂存区的战士不用提醒便推来下一箱。三台需要人工连接的设备靠着木牌、颜色和脚步声继续运转。 + +半小时后,一只新的部署箱滑出。 + +箱顶图标由三支机械臂组成,旁边写着一个宁诚很熟悉的名字。 + +【组装机1型】 + +部署位置只能选在能源节点附近。宁诚原本想把它放到石炉旁,赫默检测过线路负载,把地点向舰体方向移了十几米。那里距离炉区更远,人工搬箱又多出一段路,却能直接接入现有电源。 + +真正部署以前,赫默先把当天的用电重新排了一遍。自动实验室暂停非紧急样品,回收机完成手里那一批以后待机,通用制造机也在组装机打印期间停止生产零件。 + +负责搬运的人听到停机安排,立刻把后续料箱堆到各自入口旁。有人拿木炭在地上写出开机顺序,又画了三只不同形状的箱子,免得夜班的人以为设备坏了。 + +宁诚认出这正是解析旧枪时吃过一次亏换来的办法。那天回收机突然抢走功率,赫默只能当场退料;现在机器还没报警,人已经知道先把路让出来。 + +打印核心启动后,能源节点的指示灯果然一路下降。到黄色区域边缘时,回收机那边有人条件反射地摸向开机键,看见地上的木炭图样,又把手收了回去。 + +地面清理完成,锚杆落下。打印核心吸收带黑线的材料箱和预制部件,沿着基座逐层构筑机架。它比采矿机安静,结构也更规整;封闭工作舱、三组机械臂和输入输出接口依次成形,最后展开一块新的控制面板。 + +打印结束以后,能源节点的指示灯从黄色边缘缓慢回升。回收机旁负责看顺序的人等它重新进入绿色,才按下启动键;憋了半天的废料处理声立刻从另一侧响起。 + +【组装机1型部署完成】 + +【供电:正常】 + +【等待配方】 + +宁诚站在控制面板前,忽然有些不知道该先按什么。游戏里放下第一台组装机只需要点开配方列表,眼前这台机器却是两处矿点、两座石炉、几百次肩挑和一连串手印共同堆出来的。 + +赫默把热能采矿机配方调到最上方:“先验证它能否继续复制生产设备。” + +通用制造机已经准备好齿轮、炉膛组件和其他中间件。它们全部来自新矿冶炼出的材料,箱顶统一画着黑线。搬运组逐箱送入组装机,控制面板上的缺料标记一个个熄灭。 + +最后一只齿轮箱送到入口时,赫默叫停了上料。 + +箱顶没有黑线。 + +负责搬运的战士翻过显示带,确认图标和数量都对:“同样的齿轮。” + +赫默扫描箱内记录。大部分铁来自新矿,其中一小部分却是在生产切换时从回收机余料里凑满的。那点旧金属不影响强度,也不会让采矿机少转一圈。 + +“能用吗?”宁诚问。 + +“能。” + +“用了会怎样?” + +“机器照常完成。”赫默看向他,“你想确认的循环会缺一块。” + +宁诚盯着那只没有标记的箱子。若只是为了多一台采矿机,现在塞进去毫无问题;可第一台由组装机制造的矿机还掺着残骸材料,他们依旧无法确定山外的矿能否独立撑起下一轮生产。 + +“换掉。”他说。 + +搬运者把齿轮箱送回单独暂存区。新的铁料还在石炉里,几个人只好继续添炭、清渣,再等回收机凑满标准箱。组装机第一次启动因此推迟了半天。 + +朱文晋听说原因,只问:“那箱旧齿轮浪费了?” + +“以后照样用。”宁诚说,“第一台先把账算清楚。” + +朱文晋看了看分成两边的料箱,让登记的人在旧料箱上画了一个空心圆,免得下一班又送回来。 + +傍晚,新齿轮箱终于完成。赫默检查来源记录,亲手在箱顶补上黑线。负责搬运的战士这一次先把每只箱子的标记排成一列,请她全部确认,才依次送入组装机。 + +【已载入:热能采矿机】 + +【原料满足】 + +【开始组装】 + +封闭舱内的机械臂同时动了起来。 + +它的速度比通用制造机慢,声音也粗糙得多。齿轮被固定、炉膛组件嵌入框架,结构信息写进新的部署核心。每完成一段,负责上料的人便按照屏幕提示补入下一箱,没有传送带,也没有自动装卸臂。 + +朱文晋从外面回来时,输出灯刚刚亮起。 + +他停在警戒线外,看着一只银灰色箱子从组装机下方缓缓滑出。箱顶的图标与送往旧矿的那两只完全相同,边缘却多了一道新打印的黑线。 + +“第三台?”他问。 + +“第三台。”宁诚说。 + +最初两台采矿机来自拆船和战场废料。眼前这一台的铁出自旧坑,铜走过北面的山路,炉火由救国军战士轮流照看,零件经过通用制造机,最后由刚刚建成的组装机合在一起。 + +新箱子仍需要人抬,需要找地方,需要燃料,也需要有人守着。可下一台机器已经不用再从飞船残骸里拆出代价。 + +搬运组的人把硬木穿进托架。古米蹲下检查锚孔,笑着拍了拍箱顶:“这次古米知道怎么过那两棵树了。” + +人群里响起一阵笑声。 + +笑声还没有散,山谷外忽然传来急促脚步。 + +负责外路望风的少年冲过警戒线,裤腿沾满泥,话说得太快,翻译终端连续漏掉了几句。农文禄按住他的肩,让他从头再说。 + +这一次,屏幕只译出一句完整的话。 + +“日本兵在看牛车留下的车辙。” + +朱文晋脸上的笑意消失了。 + +第三台采矿机安静地停在输出槽里。第一条能够自我延长的工业线刚刚闭合,通向它的山路也终于被人看见。 diff --git a/草稿/1 弃船/1.2 待定篇名/013 仓库.md b/草稿/1 弃船/1.2 待定篇名/013 仓库.md deleted file mode 100644 index 27a5232..0000000 --- a/草稿/1 弃船/1.2 待定篇名/013 仓库.md +++ /dev/null @@ -1,454 +0,0 @@ -# 第十三章 仓库 - -晚上九点十二分,仓库外的电话线断了。宁诚没有看见刀刃落下,无人机距离太远,夜色里的山林只是一片深浅不一的灰;但在终端地图上,代表电话线路的细线同时由绿色变成红色。 - -【有线通信中断】 - -【行动窗口开始】 - -他下意识坐直。 - -岩壁旁只亮着两盏遮光灯。 - -制造机已经停工,回收机入口也暂时封闭。 - -古米抱着盾牌守在外圈。 - -铃兰坐在宁诚旁边,九条尾巴安静地铺在地上。 - -赫默则站在医疗节点前,已经做好了接收伤员的准备。没人说一定会有伤员,可这件事不会因为大家不提便失去必要。 - -终端上,二十七个绿色小点分成三组。左侧小组沿河沟接近电话线与道路,中间主组绕向仓库北侧,第三组则埋伏在撤退路线附近,负责接应与阻击。 - -每个绿点只代表一个携带信号器的人,剩下没有设备的战士跟在他们身边,无法被系统单独显示。 - -“太安静了。”宁诚说。 - -“这是好事。”铃兰轻声回答。 - -“也可能是设备没收到信号。” - -赫默看了一眼链路状态:“通信正常。” - -宁诚仍然觉得安静。游戏里的夜袭至少会有背景音乐,这里却只有虫鸣、登陆舰冷却时偶尔传来的金属声,以及他越来越清楚的心跳。 - -九点十五分。 - -仓库西侧哨塔上的热源消失。不是被击毙。根据无人机模糊画面,那名哨兵被从后方拖下了平台。 - -绿色信号继续前进。 - -九点十七分,围栏出现缺口。 - -九点十八分,第一组进入仓库。 - -行动顺利得让宁诚不敢放松。计划不会因为前半段顺利,就保证后半段也同样礼貌。 - -九点十九分,系统突然在道路另一端标出新热源。一个,五个,十一个。随后是一团体积更大、温度更高的移动轮廓:车辆。 - -“有车来了。”宁诚说道。 - -赫默把画面放大。 - -一辆卡车沿东南道路接近,前灯被遮住大半,只留两道微弱光线。车斗里坐着十余名日军,驾驶室旁还有一辆挎斗摩托。 - -“情报里没有这辆车。”古米回头。 - -“所以才叫情报,不叫未来录像。”宁诚说。 - -铃兰看向他:“要让他们撤退吗?” - -终端已经给出两种建议。 - -【方案一:立即撤离】 - -【预计暴露概率:61%】 - -【预计携带物资:低】 - -【方案二:继续行动,伏击增援】 - -【预计伤亡风险:上升】 - -【预计缴获物资:高】 - -系统很喜欢用“高”和“低”概括可能死人的事。 - -宁诚没有替朱文晋选择。他把卡车位置与两种方案通过共享链路发出去。 - -中间主组停了十几秒。黄色信号亮起,所有人原地等待。 - -片刻后,农文禄的声音从缴获电台里传来:“朱指挥员说,让车进。” - -“他们还没控制仓库。” - -“已经进去一半。” - -“日军会不会发现?” - -“所以要快。” - -通信中断。 - -宁诚只能继续看。 - -仓库内的绿色信号突然加速。两组人分别扑向营房与值班室。 - -第一声枪响在九点二十一分出现,只有一声。紧接着,仓库里亮起两处短促火光。 - -日军哨兵开始喊叫。 - -卡车距离大门还有不到四百米。 - -驾驶员显然听见枪声,车速迅速下降。挎斗摩托向前冲了一段,似乎准备确认情况。 - -“他们要掉头。”宁诚说。 - -道路后方的接应组同时亮起绿色。几块早已准备好的石头和树干被推下山坡,堵住卡车后路。卡车紧急刹车。 - -摩托上的日军刚抬起枪口,林中便射出一轮子弹。 - -挎斗翻倒在路边,车斗里的士兵纷纷跳下卡车寻找掩体。 - -他们的动作比高桥连队在山谷里更加谨慎。 - -有人以车轮为掩体还击。 - -有人试图爬上路旁高处。 - -一名军曹则不断向仓库方向喊话。 - -没有回应,仓库里的守军也已经被切成几个互相无法联系的小组。 - -枪声终于密集起来。 - -终端上的绿色点与新标出的红色热源在黑暗里交错。 - -宁诚看不清每个人的动作。 - -系统却不断报告距离、方向和风险。 - -【左翼暴露】 - -【道路高处发现敌方射手】 - -【仓库北侧热源异常】 - -“北侧是什么?”宁诚问。 - -无人机调整角度。 - -一名日军士兵正从北侧长屋跑向另一间建筑,手里拿着火把和油桶。 - -“他要烧仓库。”赫默说。 - -弹药不能带走,就直接销毁。 - -这至少证明越盟找对了目标。 - -“通知他们。” - -红色警告被发往最近小组。 - -两个绿色点改变方向。 - -距离太远。 - -日军士兵已经把油泼在木门上,随即举起火把。 - -枪声从侧面响起,不是步枪,更短、更急。那名士兵身体一歪,火把落进泥地。 - -随后一个绿色点靠近,将油桶踢远。 - -宁诚认出那是第一批交付的公司手枪。它第一次在真正战斗里开火。没有卡壳。也没有因为夜间潮气拒绝工作。 - -制造系统在遥远山谷里自动记录了这一条战斗数据。 - -【产品实战记录新增】 - -【故障:0】 - -【环境:高湿、泥尘】 - -【建议回收使用后样本检查】 - -连战斗都被机器当成了下一轮生产的实验。 - -九点二十七分,卡车旁的日军开始后撤。退路被堵,仓库方向又没有回应,他们只能向道路两侧山林分散。 - -朱文晋没有让人追太远。 - -越盟此次目标不是歼灭。是仓库里的东西。 - -九点三十分,仓库内最后一处有组织抵抗停止。 - -从切断电话线到控制目标,只过去十八分钟。 - -宁诚却觉得比白天几小时都长。 - -“结束了吗?”铃兰问。 - -“占下来只是开始。”赫默说。 - -她是对的。 - -真正麻烦很快出现。仓库里不只有弹药,还有药品、油料、制服、罐头、工具、电池、电话机零件、爆破用品,以及一批原法军留下的杂乱军械。 - -公司事先准备的货箱不够。 - -越盟战士只好先搬最重要的东西。 - -底火与发射药、完整步枪弹、手榴弹和炸药、无线电电池、润滑油与药品被列为第一批目标。 - -卡车本身也成了战利品。 - -驾驶员在最初交火中受伤。 - -越盟队伍里却有人曾经给法国矿区开过车。他爬进驾驶室,试了几次,发动机终于发出不稳定轰鸣。 - -另一辆原本停在仓库里的小卡车状态更差,只能被拖在后面。 - -九点四十二分,第一批货物装车。 - -九点四十七分,外围警戒报告南侧可能有灯光。 - -日军增援比估计更快。 - -朱文晋下令撤离。 - -带不走的东西没有被全部烧掉。越盟只破坏了电话、车辆和几处关键设备,把仓库门重新锁上,又留下几处看起来像仍有人守卫的假火光。 - -他们需要延缓日军确认损失的时间。 - -十点整,车队离开。 - -无人机一直飞到电量只剩百分之十二,才被赫默强制召回。 - -宁诚失去了俯视画面。接下来只能等待。 - -十点四十,第一支接应组回到山谷。 - -十一点以后,伤员陆续抵达。 - -赫默的医疗节点立即开始工作。 - -越盟有三人中弹,一人伤在肩部,一人腿部贯穿;最严重的伤员腹部中弹,送到时已经意识模糊。 - -赫默没有问他属于哪支小队,也没有先查看带回来的药品。她让所有人让开,医疗无人机展开,照明与扫描光同时落下。 - -铃兰坐在一旁,用最小范围源石技艺减轻伤者疼痛。 - -古米则带人卸车。 - -第一只箱子里是步枪弹,第二只装着各种底火和装药材料,第三只是法国制造的爆破药。第四只箱体边缘却已经渗出不明液体。 - -材料分析机远远扫到,立刻亮起红灯。 - -【高风险化学输入】 - -【禁止进入普通回收线】 - -【检测到不稳定含能材料】 - -古米停下动作:“这个会炸吗?” - -“有可能。”赫默仍在做手术,没有回头,“送隔离区。不要撞。” - -周围负责卸车的战士瞬间安静。所有人一起往后退。 - -古米低头看着怀里的箱子。她显然也很想退。 - -问题在于,箱子已经在她手里。 - -“慢慢放。”宁诚说。 - -“古米知道。”她第一次把一个普通木箱放得比几吨重的工业设备还谨慎。 - -箱子被送入临时隔离坑,周围覆盖沙袋与土层。 - -随后到达的物资越来越多。 - -混乱程度也越来越高。 - -完整弹药和受潮弹药混在一起,润滑油旁边放着医疗酒精,一箱电池中间藏着几枚手榴弹;还有一只木箱外面写着日文“机械备件”,打开以后却装着法国口径弹药。 - -宁诚终于理解,为什么公司坚持所有东西进入回收线以前都要分析。胜利不会自动把仓库整理成标准料箱。越盟带回来的是一团危险、混乱、带着历史来源的物质,公司必须先把它们变成可以安全使用的东西。 - -凌晨一点,朱文晋最后回来。他肩上有一道擦伤,精神却很好。 - -农文禄跟在旁边,怀里抱着一只缴获文件包。“仓库拿下来了。”他说。 - -“然后又丢了?”宁诚问。 - -“本来就不准备守。” - -“日军会发现少了什么。” - -“会。” - -“也会知道是谁干的。” - -农文禄笑了一下:“他们本来就在找我们。” - -制造机尚未重新启动。 - -所有新输入都需要先分类、检测与安全处理。 - -系统列出第一版统计。 - -【新增军械与含能材料:约1.7吨】 - -【高风险输入:43%】 - -【当前安全处理能力不足】 - -【建议立即停止普通生产】 - -【建议部署独立军械回收程序】 - -子弹终于有了,以一种差点把整个输入区一起送上天的方式。 - -宁诚看着堆满山谷的木箱、伤员和被拖回来的卡车。这不是游戏里点开仓库后整齐排列的图标。他们夺回来的每一份物资,都还带着重量、污泥、血迹和爆炸的可能。 - -工厂想要吞下它们。 - -首先得保证自己不会被第一口噎死。 - - -天亮以后,缴获物资才完成第一轮分类。 - -赫默救回了那名腹部中弹的越盟战士。他仍然需要数日观察,却至少活过了最危险的夜晚。另两名伤员完成手术和固定,能够被转移到外圈医疗点。 - -越盟方面有一人牺牲。 - -尸体在清晨被同伴抬走。 - -仓库行动从地图上看十分成功:目标占领、物资带回、日军通信受骗、主力安全撤离。可任何一张成功率统计,都不会自动把那个人从结果里删掉。 - -宁诚让系统把伤亡加入行动记录。 - -【任务物资收益:高】 - -【人员损失:1死亡,3受伤】 - -【不可折算】 - -最后四个字是他自己加的。系统原本会把伤亡转成行动能力下降、医疗耗材与后续补偿。这些计算有用,却不能成为那条命的标价。 - -危险货物处理持续到中午。 - -一批受潮发射药被钝化。 - -保存较好的步枪弹按口径封装。 - -底火与爆破用品单独进入隔离流程。 - -制造机终于获得足够材料,恢复7.65毫米弹药生产。 - -第一只新弹药箱解包时,农文禄拿起一发,与昨夜仓库里的日军步枪弹并排放在桌上。 - -两发子弹一大一小。一种来自日军军需体系,另一种经过公司的机器重新组织,把缴获物资变成越盟能够稳定使用的标准产品。 - -“仓库还在日军手里。”他说。 - -“但里面最有用的部分已经在这里。”宁诚回答。 - -下午,第一份实战记录也送回工坊。公司手枪共击发十九次。没有故障。一只弹匣跌进泥里,简单擦拭后仍可使用。使用者反映夜间看不清准星,握把在出汗时略滑。 - -系统立即提出两个修改建议:增加低照度识别标记,调整握把表面纹理。 - -宁诚差点直接确认“应用于后续产品”,手指落下前又停住了:“已经交出去的十二把怎么办?”他问赫默,“新旧零件会不会又对不上?” - -“握把纹理可以先放进第二批试制,低照度标记也不必改变机械结构。”赫默说,“弹匣、弹药和可互换零件保持原标准。完成验证以后,再决定是否替换。” - -宁诚这才批准第二批试制,没有让机器立刻更新全部产品。 - -公司第一次从真实战斗中获得反馈,又第一次学会克制“马上优化”的冲动。 - -工坊可以不断改进产品。使用产品的人却需要稳定。 - -傍晚,朱文晋送来下一份计划。 - -日军已经重新占领仓库,周边道路也加强检查。 - -这条供应来源不会再有第二次轻松机会。 - -公司吞下了一口足以维持数日的军火。 - -日军则终于确认,越盟攻击仓库并不是为了装备某一种缴获武器。他们在把整个仓库当成原料。 - - - -农文禄带回的文件包里还有一本仓库账册。 - -纸页受潮,字迹却大多能辨认。日军记录了不同口径弹药、药品、车辆油料和每周转运数量。 - -材料分析机不懂军需制度。翻译模块却能识别日期与数字。 - -公司很快发现,仓库本身并不是长期储存中心。大部分物资每隔几天便会送往更小的据点,另一批则从太原方向补入。 - -这解释了那辆意外返回的卡车。它不是增援。只是比平时提前了半小时的运输班次。 - -一场几乎打乱行动的意外,在账册里只是普通物流偏差。 - -系统根据记录推算出三条日军补给路线、两个可能的燃料存放点和下一次弹药转运时间。 - -朱文晋没有立即批准新的袭击。连续攻击会让日军迅速改变规律。他选择先观察。 - -公司则把账册里的物资名称与回收价值一一对应。 - -日军认为重要的完整步枪,在公司账上未必最高。 - -一箱底火、润滑油和电池,反而能支撑更多生产任务。 - -“下次先拿什么?”农文禄问。 - -宁诚没有凭印象回答。他把这次卸货记录调出来,让系统按回收价值排序,又请赫默删去不便安全搬运的项目,最后拿给朱文晋确认山路上实际能带走多少。三边核对以后,他才把优先清单交给农文禄。 - -第一,底火与发射药。 - -第二,铜、铅与黄铜弹壳。 - -第三,电池、无线电与润滑材料。 - -第四,完整军械。 - -越盟过去夺取军火,先拿能直接开火的东西。 - -公司第一次要求他们在战利品中优先寻找看起来最不像武器的部分。 - -等下一座仓库摆在眼前,越盟恐怕会先问里面有没有火药、雷管和电池,再问有多少支枪。 - - - -仓库行动的成功也让联合后勤组产生新的要求。他们希望公司以后为每次行动都提供无人机和实时地图。 - -宁诚没有全部答应。 - -无人机只有一架。电池、传感器和精密零件无法复制。它可以决定一次重要行动的成败,也可能在一次普通侦察里被日军步枪碰巧击落。 - -双方最终规定,使用无人机必须进入统一需求队列,与医疗、生产和防卫共同排序。 - -高科技没有让稀缺消失,只是让越盟多出一种过去无法想象、也更需要谨慎分配的稀缺物。 - - - -回收机重新启动时,第一批送入的不是步枪。是仓库账册里标注为“杂项”的底火、弹壳和润滑材料。 - -越盟过去最容易留在原地的东西,恰好最先让公司生产线恢复。 - -朱文晋看着那些不起眼的小箱子,重新修改了以后行动的战利品清单。 - -从此以后,越盟夺取一座仓库时,不只会问里面有多少枪。还会问,那座仓库能让工厂继续工作多少小时。 - - - -制造机吞下仓库物资以后,弹药队列重新亮绿。 - -那名牺牲者没有看到结果,他的名字却被写在本批原料来源记录的最前面。 - - - -仓库已经离开地图,物质却继续沿生产线向前。 - - diff --git a/草稿/1 弃船/1.2 待定篇名/014 山外的眼睛.md b/草稿/1 弃船/1.2 待定篇名/014 山外的眼睛.md deleted file mode 100644 index 4ba7fe6..0000000 --- a/草稿/1 弃船/1.2 待定篇名/014 山外的眼睛.md +++ /dev/null @@ -1,308 +0,0 @@ -# 第十四章 山外的眼睛 - -仓库遇袭后的第二天,日军没有进山,而是先拍了照片。 - -上午十点,一支五人侦察组爬上山谷东侧的高地。位置距离登陆舰超过三公里,中间隔着两道山脊与大片树林。他们没有穿完整军装,只有负责警戒的两人携带步枪。其余人穿着便于山地活动的便装,带着望远镜、相机、测绘工具和一台小型无线电。 - -领队的是日军宪兵曹长,同行还有一名航空技术人员、一名通信兵和一名本地向导。 - -他们接到的命令很明确。他们需要确认高桥连队败在什么东西手里、失窃军火去了哪里,以及那艘巨大飞行器是否仍有威胁。如果可以,再带回样品。命令同时写得很清楚:不要接触,不要开火,更不要再让整支小队消失在山里。 - -照片的第一张,拍到的是登陆舰。即使隔着三公里,几百米长的黑色舰体仍然占据画面大半。它斜插进山壁,像一座被拦腰折断的钢铁要塞。 - -第二张拍到岩壁下的灯光。那里并非日军想象中的大型营地,看不到成排帐篷、车辆长龙或几百名盟军技术人员,只有四台体积不算大的设备,十几名来回搬运银灰色方箱的越南人,以及少数无法辨认的自动机械。 - -第三张,拍到一只方箱被送进制造机。第四张,拍到另一只方箱从输出端出现。第五张,拍到越盟战士从解包节点里取出一批手枪。 - -拍照的技术人员放下相机,很久没有说话。 - -他原本以为高桥的失败来自某种特殊防御武器,可能是电气炮、新式毒气,或美国人和中国人秘密送来的实验装备。 - -这些判断依旧荒唐,却至少属于战争能够理解的范围。眼前景象却更加危险。山谷里不是一件孤立的武器,而是一套正在工作的生产设备:东西从一边送进去,再从另一边变成武器出来。那里没有烟囱和炉火,不见大批工人,甚至看不到传统机床。技术人员无法理解生产发生在什么地方。正因为无法理解,他才更加确定那些机器的价值。 - -同一时刻,宁诚正在数箱子。 - -昨天从日军仓库带回的物资已经完成第一轮安全分类。大部分完整弹药不再拆解,先作为越盟现有步枪的补给储存;只有受潮、型号混乱或无法安全使用的部分进入军械回收程序。制造机恢复7.65毫米弹药任务。底火材料仍然珍贵,却至少不再停工。 - -“二十三,二十四……” - -宁诚记录完第二十四只料箱。 - -铃兰忽然抬起头。她坐在分析机旁,正在帮忙核对危险物输入:“有人看着这里。” - -宁诚的动作停住:“哪里?” - -铃兰转向东侧山脊:“很远。” - -“多少人?” - -“感觉不清楚。”她闭上眼睛片刻,“有人很紧张,也很好奇。” - -古米已经拿起盾牌:“日军?” - -“可能。” - -侦察无人机随即升空。它没有直接飞向铃兰指出的方向,而是先沿登陆舰上方爬升,再绕到山脊侧面。 - -赫默控制高度,避免让观察者过早发现。 - -画面一开始只有树林。几分钟后,阳光在远处闪了一下。那不是水光,而是一块镜片。 - -系统迅速标出位置。 - -【疑似光学设备反射】 - -【距离:3.4公里】 - -【可见人员:3】 - -【遮蔽区域存在更多目标】 - -无人机继续靠近。相机、望远镜、天线和两支步枪逐渐出现在画面中。 - -“他们在拍照。”宁诚说。 - -古米问:“要把相机拿回来吗?” - -“怎么拿?” - -“古米跑过去。” - -三点四公里的山路,在古米口中听起来像去隔壁取一只锅。 - -“先别动。”宁诚说。 - -铃兰看向他:“不阻止吗?” - -“我还不知道该不该阻止。”宁诚承认。他转向赫默,“防御节点能打到那里吗?” - -“恢复能源以后可以。”赫默说,“但会暴露精确射程,对方也没有开火。” - -宁诚重新看向画面。日军正在拍照,已经看见船和外圈设备;他却不知道为了几张照片主动杀掉一支侦察队,究竟值不值得。“让无人机继续看,先通知朱文晋。”他说,“他们更熟悉这几条山路,也许能先查清这群人从哪里来。” - -越盟的反应比公司更快。东侧山脊附近有他们的交通线。消息传出去以后,不到半小时,两支小队便从不同方向绕向观察点后方。 - -朱文晋没有要求立即攻击。他想知道日军从哪条路来,又准备从哪条路走。 - -公司无人机在空中跟踪,越盟的人则藏在树林里。日军侦察组仍以为自己没有暴露。 - -他们拍下更多照片。银灰色料箱、刚修复的卡车、越盟战士使用的统一手枪、夜里仍会发光的设备,还有一架从登陆舰附近起飞、很快消失在高处的小型无人机,都进了相机。 - -最后一项令观察组提前撤离。他们不知道无人机是否发现了自己。 - -领队曹长不愿冒险。 - -下午一点,侦察组开始沿东北方向下山。 - -越盟没有拦截。他们跟了近十公里,确认对方最终回到一处日军控制的道路检查站,才结束跟踪。 - -这条路线随后被标进公司地图。 - -【新增敌方观察路线:1】 - -【新增日军外围据点:1】 - -【新增潜在监听位置:3】 - -日军得到了照片,公司也得到了一条日军情报线。双方第一次隔着山林完成交换,谁都没有询问对方是否愿意。 - -下午,朱文晋来到山谷。 - -“为什么不抓?”宁诚问。 - -农文禄把问题翻译过去。 - -“抓了这五个人,还会再来五十个。” - -“放回去,他们会报告。” - -“本来就会。” - -朱文晋指向地图上新标出的日军检查站。 - -“现在我们知道他们从哪里来。”农文禄继续翻译,“也知道他们在看什么。” - -宁诚没有反对。 - -公司习惯从设备和数据里获得信息。越盟则更习惯让敌人自己走出一条线。两种办法谈不上谁更先进,只是各自适合不同的地面。 - -“需要遮住机器。”赫默说。她提出在岩壁与舰体残骸之间搭设遮蔽网,不是为了彻底隐藏,而是让远处照片无法看清设备接口、输入数量和产出节奏。 - -制造机随即暂停枪械任务,生产一批支架与固定件。 - -越盟带来竹子、布料和植物染料。 - -几个小时后,外圈设备从高处看起来更像一片杂乱工棚。真正的机器藏在残骸阴影与遮蔽布下。交接点则被移动到山谷另一侧。货物不再直接在生产线旁堆放。 - -日军下一次拍到的,只会是箱子进入一片遮蔽区,再从另一端离开。 - -“他们还是知道我们在生产。”古米说道。 - -“知道和看清是两回事。”宁诚回答。 - -“能不能做一个假的工厂?” - -宁诚看向古米。 - -“你从哪里想到的?” - -“日军喜欢看,就给他们看一个。” - -这个想法意外地很有价值。几台彻底损坏的消防机械、空设备外壳和废旧电缆被移动到山谷另一端。夜里点亮几盏灯,再让一台还能缓慢行走的工程机械偶尔转圈。从远处观察,那里同样像某种生产区。真正的工坊反而减少外露照明。 - -这是公司和越盟第一次共同制造假目标。机器负责让假设备拥有足够逼真的外形,越盟负责判断日军从哪些山头能看见。 - -到了傍晚,工坊重新开始生产。 - -日军照片也被送回太原附近的守备机关。 - -负责分析的军官将它们铺在桌上。第一张是巨型残骸。第二张是越盟人员搬运方箱。第三张是新手枪。第四张是没有工人的机器。 - -仓库遇袭报告放在旁边,失窃物资包括大量弹药、底火、油料和机械备件。 - -几天前,一支越盟小队在另一次检查站冲突中使用了外形一致的新手枪。日军从现场找到三枚7.65毫米弹壳。 - -三枚弹壳的尺寸与装药表现几乎完全一致。它们既不像山地作坊产品,也不像临时修复的旧货。 - -一名技术军官提出:对方可能拥有便携式精密兵工设备。 - -另一人反对。便携设备不可能把几吨军械在数日内转化成标准产品。 - -争论持续了很久。 - -最终,负责情报的少佐把高桥幸存者证词、仓库损失与照片放在一起,写下新的判断。 - -> 目标并非单一新式武器。 - -> 山谷内存在未知来源之制造设施,可将缴获军械迅速转化为越盟适用装备。 - -> 设施人员极少,生产过程高度机械化。 - -> 必须优先获取完整样品、操作人员及设备核心。 - -> 在技术价值确认前,不建议对主体残骸实施破坏性炮击。 - -报告被向更高层递交。 - -日军仍然想要那艘船。只是从这一天开始,他们不再把山谷里的四个人当成守着一件神秘武器的幸存者。他们终于看见了真正的威胁。 - -真正的威胁不在狐火或防御节点,而在那台能把昨天的废铁变成明天军队的机器。 - - -太原守备机关内部并没有立刻形成统一意见。 - -前线军官要求报复。高桥连队失败,仓库又遭袭击,如果不迅速行动,周边守备队士气和地方警察都会动摇。 - -技术人员却坚持不能炮击主体残骸。照片里的生产设备体积很小,很可能只是巨大舰体内部工业系统的一部分。摧毁外圈棚屋,最多让生产暂时中断;一旦破坏核心,日军也永远无法取得技术。 - -宪兵系统提出第三种方案:先不打机器,而是打运输、翻译和联络。机器不会自己从村庄收集废铁,也不会自己知道越盟哪支部队需要武器;只要切断人,山谷里的设备便会变成一座孤立铁岛。 - -负责情报的少佐批准了这一方向。新的命令包括:监视集市上的铜、铅、橡胶和旧电池流动;追查公司方箱的运输路线;获取一把完整新手枪;寻找能够进入山谷的本地人;确认四名核心人员身份与弱点,同时申请一次更高空的航空摄影。低空飞行风险未知,飞机不得进入登陆舰正上方。 - -少佐在命令末尾写下:完整夺取仍是首要目标。报复必须服从技术获取。 - -这道命令暂时压住了“直接炸平山谷”的声音。却也让日军行动变得更难对付。 - -一支步兵连接近,铃兰能感觉到;一个商人在集市上突然高价收购废铜,她却感觉不到。 - -一架飞机远远拍照,古米也没有可以举盾挡住的明确目标。 - -战争从山谷正面,逐渐进入每条运输线和每一次交易。 - -第二天上午,第一架日军侦察机从南方高空经过。 - -它没有俯冲。没有投弹。只在云层边缘转了一个大圈。 - -公司传感器提前发现目标,防御节点完成锁定,却没有开火。 - -宁诚看着终端上的红色轨迹:“能打下来吗?” - -“进入有效范围后可以尝试。”赫默说。 - -“它还没攻击。” - -“所以当前交战规则不会自动射击。” - -飞机最终没有进入最佳拍摄航线。也许飞行员看见了地面上那台曾熔穿岩石的防御节点,也许只是服从了保持距离的命令。它带着不够清晰的照片返回。 - -公司则记录了飞行高度、方向与可能出发机场。 - -山外的眼睛越来越多,工坊也开始学着抬头看。 - - - -航空照片没有拍清制造机,却拍清了传送带尚未建成前,人力搬运形成的几条泥路。 - -日军情报人员把它们与村庄、仓库袭击和市场物资流向叠在一起,推断出至少三条补给方向。他们开始在集市上提高废铜、铅和橡胶的收购价。日军并非突然缺少这些东西,只是想让越盟和公司付出更高成本。 - -一段废电线昨天只能换盐。今天便可能换到米。 - -普通商人开始囤积。 - -村民也会犹豫,是把废料交给越盟的公司额度,还是卖给能立即给出货币的收购者。 - -公司第一次遇见了一种防御节点无法射击的敌对手段:价格。 - -宁诚没有命令越盟强征。他也没有自己给山外的废铜定价,而是把日军收购价和公司缺料清单交给联合后勤组,问各村能接受什么、哪些东西绝不能为了配额被拆掉。 - -联合后勤组根据各地回报提高了紧缺材料的兑换额度,同时设置上限,要求所有来源接受登记,又把医疗、工具和稳定产品供应加入交换条件。日军继续加价,公司若跟着无限上调,最终只会让整个山区的人开始拆除仍在使用的铜器和线路。 - -日军可以短期出更高的价。 - -公司提供的则是长期维修、药品和新武器。 - -竞争从山路进入村庄与集市。 - -宪兵的收购也没有停下。他们开始派人寻找完整的公司手枪,向地方警察和商人许诺高额赏金。 - -阮氏兰所在的交通线很快收到消息。 - -越盟没有阻止传闻传播,反而故意让一把编号作废、缺少击针的空枪通过中间人流入黑市。 - -日军买到以后,确认了枪械结构和加工精度,却无法获得可用弹药与完整零件。 - -公司则顺着收购链,找到两名宪兵联络者。 - -双方都在用样品钓对方的手。 - -山谷外的眼睛已经开始用钱、恐惧和欲望,把更多人的目光转向公司。 - - - -日军的报告还附有一条保密建议:不得向普通士兵完整传播“金色火焰”和“无人工厂”的证词。 - -高桥连队幸存者已经在附近驻军中制造恐慌。有人把铃兰称作山里的狐妖,也有人说飞船来自美国秘密基地。 - -情报军官担心继续传播会让部队在真正接触前先失去斗志。 - -官方解释被统一为:越盟获得盟军特殊电气设备,高桥部队遭遇毒气与伏击。这套说法更符合日军能够理解的战争,也把失败重新包装成可以通过防毒面具、炮兵和更谨慎战术解决的问题。 - -对下封口的同时,技术部门私下保留了所有异常记录。他们知道毒气解释不了熔化的岩石,也解释不了没有工人的生产线。 - -日军对下隐瞒超自然事实,对上强调技术价值。一层说法用来维持士气,另一层则用来争夺资源与行动权限。 - -公司尚未看见这些报告。却很快会面对一支不再相信狐妖、而是携带防毒装备、相机和工兵器材而来的调查队。 - - - -公司也修改了夜间灯光规则。核心设备只保留向下照明,传送带上方增加遮光板,工坊不再把整片山谷照亮。 - -古米对此有些遗憾:“亮一点比较方便做饭。” - -“也方便飞机找目标。”宁诚说。 - -她只好给锅旁加一盏带罩小灯。 - -几天前,电灯还是越盟眼中的奇迹。现在,这份奇迹已经必须学会在战争里藏起来。技术越显眼,越容易吸引另一种技术从天空寻找它。 - - - -宁诚把日军观察点、飞机航线和市场收购同时画在地图上。红线不再只代表军队移动,也代表相机、金钱和消息。他第一次清楚意识到,一座工厂的敌人并不一定会向工厂开枪。 - - - -下一次日军再来时,枪口或许不会最先出现。更可能先出现一张照片、一笔收购和一名看起来无害的陌生人。 - - - -而公司第一次不得不承认:看见工厂,也是一种足以改变战局的武器。 diff --git a/草稿/1 弃船/1.2 待定篇名/015 只收一份订单.md b/草稿/1 弃船/1.2 待定篇名/015 只收一份订单.md deleted file mode 100644 index eb6507e..0000000 --- a/草稿/1 弃船/1.2 待定篇名/015 只收一份订单.md +++ /dev/null @@ -1,378 +0,0 @@ -# 第十五章 只收一份订单 - -五月七日,工坊门口出现了四支队伍。 - -第一支来自朱文晋直属的救国军,带来两箱废枪、一批黄铜弹壳和一张要求二十把手枪的清单。 - -第二支来自北面的地方自卫队。他们送来铁矿石、废农具和一只坏掉的法国电台,希望公司先修电台,再给他们十把枪。 - -第三支来自交通线,没有废枪,却带来一名急需治疗的伤员和一只装满旧电池的竹筐。他们认为交通员随时可能被日军检查,短枪应该优先交给自己。 - -第四支队伍最晚抵达,什么都没带,只拿着一张盖了越盟地方组织印记的纸,要求领取五百发弹药。 - -宁诚坐在折叠桌后,第一次理解什么叫窗口压力。 - -“一个一个来。”他说。 - -农文禄把话翻译出去。 - -四支队伍没有停止争论。问题不在于他们是否尊重公司,而在于每个人都真的觉得自己的需求最急。 - -直属救国军正在准备行动。 - -地方自卫队的旧枪故障严重。 - -交通员面对日军检查时甚至不能公开携带步枪。 - -最后一支队伍则声称自己明天便可能遭遇战斗。 - -每一项都能找到理由,制造机却不会因为理由充分就突然多出一台。 - -【当前订单负载:364%】 - -【弹药资源预计不足】 - -【控制组件库存:7】 - -【建议延后低优先级任务】 - -机器给得出建议,却没有告诉宁诚谁的命更重要。 - -“上次那三份要求,不是已经由朱指挥员合成一份了吗?”宁诚问。 - -农文禄露出一点尴尬:“那只是上一次的办法。” - -“那他们怎么都来了?” - -“因为有人觉得自己的事情不能等。” - -“朱指挥员知道?” - -“知道一部分。” - -宁诚看向四支队伍。 - -公司新枪数量仍然很少。 - -消息传播速度却远远超过产能。 - -一把不会卡壳、可以隐藏携带、弹匣还能互换的手枪,足以让每支地方武装都产生需求。更何况公司还会做工具、零件、医疗耗材和电台部件。 - -所有人都从自己的角度看见工坊:有人看见兵工厂,有人看见修理厂或医院,还有人看见一座不需要付现钱、只要送来材料便能换走产品的仓库。 - -“先收东西。”宁诚说道。这成了他当天犯的第一个错误。 - -四支队伍的原料全部进入登记区。 - -系统为每批材料建立来源记录:废枪属于第一队,矿石和农具属于第二队,电池属于交通线,第四队没有输入,只登记了需求。 - -问题很快出现。 - -回收机把所有材料拆成标准料箱以后,物质已经混在公司库存里。 - -第一队的枪管钢与第二队的锄头钢进入同一批铁基材料,旧电池中的铅被用于生产弹药,黄铜弹壳则补充了另一批弹壳任务。 - -原料可以追溯来源,可制造出的产品不再属于某一块原料。 - -“这把枪是不是我们的废枪做的?”第一队代表问。 - -“不一定。”宁诚说。 - -“那我们送枪为什么?” - -“你们获得材料额度。” - -“额度在哪里?” - -宁诚让终端显示账户。 - -【输入折算:铁基材料83.4千克,铜基材料7.1千克,含能材料6.8标准单位】 - -【可用产出额度:72.6】 - -对方看不懂。 - -农文禄解释了半天。 - -越盟代表只听明白自己的废枪变成了一个数字。 - -第二队也有意见。他们送来的矿石需要更多处理能耗,折算额度比废钢低。可在他们看来,矿石是几名村民从很远地方背来的,理应比战场上捡的坏枪更值钱。 - -机器只算材料纯度和处理成本,人还会计算路程、风险和付出的劳动。双方都没有错,只是使用了不同的价值标准。 - -“暂停接收。”赫默说道。 - -宁诚正被四份清单围住,没听清。 - -“什么?” - -“暂停所有新输入。” - -赫默把终端递到他面前。 - -【库存归属冲突:9】 - -【订单重复占用材料:3】 - -【承诺交付量超过可用资源:41%】 - -宁诚看见最后一条,后背瞬间发紧:“我什么时候承诺的?” - -“你告诉第一队会尽量做二十把,告诉第二队可以修电台,告诉交通线优先考虑短枪,又同意登记五百发弹药。” - -“我说的是尽量和考虑。” - -“系统按照有效需求记录。” - -“它怎么不理解语气?” - -“它是生产系统。”赫默说,“不是负责替你圆场的秘书。” - -宁诚第一次发现,半吊子政治语言进入一套只认数量的系统以后,会迅速变成物资透支。 - -工坊停了。机器没有坏,只是所有人对它下一步该做什么还没有一致答案。 - -朱文晋赶到时,争论已经持续近一个小时。他没有先问谁的需求更急,而是问宁诚今天还能生产多少。 - -“如果只做手枪,最多十四把。”宁诚说,“弹药另算。做电台零件,就要少三到四把。医疗耗材也必须占一部分。” - -“明天呢?” - -“看原料。” - -“原料已经送了。” - -“送来的东西不一样。铁多不代表底火多,矿石也不能直接变成铜线。” - -这段解释经过翻译。 - -朱文晋沉默片刻。他随后把四支队伍的代表叫到一起。 - -越南语争论在岩壁下迅速爆发。 - -宁诚听不懂具体内容。翻译模块只能捕捉零散词汇。行动、交通、北面、危险、已经答应、应该优先。翻译模块只抓住了这些零散词语。 - -朱文晋没有靠军衔直接结束争论。他问每支队伍任务、现有武器和材料来源,又让农文禄把公司库存限制重新解释一遍。直到所有人至少承认十四把枪不可能同时满足四支队伍,讨论才真正开始。 - -宁诚在旁边看了很久。他突然明白,公司系统为什么只建议“建立统一接口”。 - -机器不是要替越盟决定,恰恰相反,它拒绝理解越盟内部的一切政治理由。谁贡献更多、谁牺牲更大、谁与朱文晋关系更近、谁的任务更符合整体战略,这些都不是制造机能计算的原料。它只要求在订单进入之前,人类先给出一个结果。 - -“以后怎么做?”朱文晋结束争论后问。 - -宁诚把早已弹出的系统建议投到桌面上:“公司只认一个订单来源。” - -“只能你送?”农文禄问。 - -“不一定是朱指挥员本人。可以是你们指定的后勤负责人,也可以是一组人。” - -“各地送材料怎么办?” - -“材料可以从不同地方送,需求不能分开下。” - -“谁送得多,谁先拿?” - -“那是你们决定。” - -宁诚把流程画成简单箭头:各部队先提出需求,由越盟内部汇总、排序,再通过一个认证接口把最终订单交给公司。公司根据库存反馈能否完成、何时完成和缺什么,产品则由越盟自行分配。“公司不决定哪支部队更重要。”宁诚说,“我们只按最后那一份表生产。” - -农文禄把话翻译完。 - -第二队代表立即问:如果朱文晋偏向自己的部队怎么办? - -朱文晋没有发火。他承认这可能发生,所以订单不能只由一个人决定。 - -他们暂时建立了一个三人小组,分别负责军事行动、交通与物资,以及地方组织。三人共同确认的清单,才会获得公司接受的标记。 - -这不是什么正式委员会,甚至没有固定办公室。他们只在一块木板上写下名字,又由公司终端记录三个人的身份特征和联络暗号。 - -系统随即生成新的接口。 - -【认证需求来源:越南救国军联合后勤组】 - -【授权范围:本地生产订单】 - -【有效确认人数:2/3】 - -【单次订单上限:当前产能72小时】 - -第一份统一订单很快完成。第一份统一订单包括十二把手枪、一套电台零件、两箱医疗耗材和三百发弹药。交通线优先获得五把手枪。行动队获得七把。地方自卫队暂缓手枪,先修电台并领取维护工具。第四支队伍需要的五百发弹药,只批准三百发,其余等待下一批底火材料。 - -没有人完全满意,可所有人都接受了:这是现有条件下唯一能执行的结果。 - -宁诚把订单输入系统。 - -制造机终于重新亮起绿灯。 - -【订单验证通过】 - -【预计完成时间:17小时40分】 - -【材料缺口:已通知认证接口】 - -四支队伍不再围着公司终端争论。他们转向联合后勤组,继续为下一批配额争取。 - -宁诚松了口气。 - -古米却看着他:“博士,我们没有管他们,为什么他们还是按我们的方式做了?” - -宁诚也看向那三名正在重新核对清单的越盟干部:“因为机器只开了一个门。” - -“不能多开几个?” - -“可以。”赫默在旁边回答,“但会重现今天的库存冲突。” - -古米似懂非懂地点头。 - -公司没有命令越盟统一后勤,没规定谁能拿枪,也没有派人接管他们的仓库;它只是拒绝接受四份互相冲突的订单。 - -为了使用同一台制造机,越盟便主动在机器外面建立了一套统一程序。 - -这比直接命令更温和,也更难拒绝。 - -傍晚,新生产的标准料箱从输出端滑出。箱体上只有标准产品标识,订单来源则记在生产记录里。 - -【需求接口:越南救国军联合后勤组】 - -从这一天开始,公司只收一份订单。 - -越盟想让机器生产什么,必须先学会用一个声音说话。 - - -统一接口建立后的第一个考验,不是军械订单。是一名产妇。 - -傍晚,附近村庄抬来一名大出血的年轻女人。她不是越盟战士,也不在任何生产和运输登记中。按照当时订单,医疗节点正在为一批军用急救包进行耗材封装。 - -赫默只看了一眼,便中断任务。 - -【紧急医疗优先】 - -制造机暂停急救包外壳,能源转向医疗设备。 - -联合后勤组的一名成员提出异议:那些急救包第二天要送给行动部队,同样可能救命。 - -“她现在会死。”赫默回答。 - -“部队明天也可能死人。” - -“可能和正在发生,不是同一优先级。” - -争论最终交给宁诚,他支持赫默。 - -手术持续一个多小时。母亲活了下来,孩子的哭声在山谷里第一次压过机器运转。 - -公司与联合后勤组因此在普通订单之外增加“紧急状态”。医疗、舰体事故和迫近攻击可以越过正常队列,但每次越级都要记录原因与造成的延误。 - -第二个考验紧随其后。 - -一支地方小队私下送来三十千克黄铜,要求不要进入联合账户,直接换四把手枪。他们认为材料属于自己缴获,不应被其他部队分走。 - -从纯交易角度,这笔生意对公司很有利,黄铜正是紧缺物资。 - -宁诚却拒绝了。 - -“为什么?”对方问,“以前不是以旧换新?” - -“以前只有朱指挥员一支部队。现在你们已经建立统一接口。” - -“材料是我们的。” - -“送进系统后,会变成所有订单都能使用的标准材料。公司不能一边要求你们统一,一边私下给出另一扇门。” - -那支小队很不高兴。 - -联合后勤组也因此第一次处罚了绕过接口的行为。黄铜最终仍然进入工坊,小队获得材料额度,却不能指定全部产出归自己。 - -宁诚看着那批铜基料箱沿传送带移动,意识到公司已经不再只是一个接受废料的商人,它开始决定什么样的交易才被承认。 - -单一接口提高了效率,也在不知不觉中改变财产进入工坊以后属于谁。 - -越盟部队仍然拥有缴获物,可一旦它被公司回收成标准料箱,便先进入一套联合账户,再按统一订单重新分配。 - -机器只开一个门。 - -门外的人,也开始被迫重新讨论“我们的”和“大家的”究竟怎么区分。 - - - -单一接口还带来另一个问题:谁保证订单里的数字是真的? - -一支地方部队上报弹药“接近耗尽”,要求进入红色紧急队列。 - -联合后勤组批准后,系统却从此前缴获和分配记录中发现,他们理论上仍应保有六百余发步枪弹。 - -“可能已经用掉。”部队代表解释。 - -“用在哪里?” - -没有战斗记录,没有训练登记,也没有损失报告。 - -继续追问后才知道,那批弹药被藏在另一个村庄,指挥者担心统一调配后会被拿走,便只上报随身库存。 - -机器没有识破谎言,只发现数字对不上。 - -真正完成调查的仍然是越盟干部。 - -联合后勤组取消这份紧急订单,要求所有部队同时上报分散仓库。隐瞒者受到组织处分,藏匿弹药则重新登记,并保留一部分作为本地应急储备。 - -宁诚没有参与处分。他只在系统里增加库存置信度。 - -有完整登记与复核的数字标成绿色,只有口头上报的标成黄色,来源冲突的标成红色。 - -低置信度需求不会自动获得高优先级,必须由联合后勤组承担确认责任。 - -公司标准因此开始要求越盟把过去藏在山洞、村庄和个人记忆里的物资变成可见数字。这提高了统一后勤效率,也触碰了每支地方部队用来保护自己的秘密家底。 - -“如果所有东西都告诉机器,谁还能藏?”一名干部问。 - -“机器不会把数据给日军。”宁诚说。 - -“机器属于公司。” - -对方没有把后半句说出来。 - -如果公司有一天不再是盟友,这些统一、准确、覆盖各地部队的记录,同样会成为一种力量。 - -宁诚最终同意:越盟可以只向公司提交完成生产所需的汇总数字,具体仓库位置由越盟自己保管。 - -公司获得需求,越盟保留内部网络。单一接口没有吞掉所有秘密,至少现在没有。 - - - -单一接口最后还增加了一条申诉程序。 - -被延后的部队可以要求联合后勤组重新审议,却不能直接围住工坊,也不能私下向宁诚施压。公司只接受更新后的认证订单,不参与越盟内部表决。 - -这条规则保护了工坊,也让宁诚不必每天判断十几支陌生部队谁更值得拿枪。 - -代价是公司逐渐不再直接面对那些具体的人。 - -订单进入终端时,伤员、交通员和即将作战的小队会被压缩成优先级、数量与截止时间。 - -宁诚要求每份红色紧急订单保留一段不超过三行的理由。这不是为了机器,机器只需要数字;理由是写给批准者看的,提醒他们队列后面站着谁。 - - - -制造机不理解申诉,也不理解隐瞒。它只执行最终进入接口的数字。 - -这让人类承担了一个不能交给机器的工作:在数字进入之前争论、核实,并为结果负责。 - -宁诚曾经以为统一接口会减少政治,后来才发现,它只是把政治从工坊门口移到了订单生成以前。 - -机器周围终于安静。 - -越盟内部却必须建立更稳定的会议、记录和责任。 - -工厂没有消灭争论。它迫使争论先得出一个能被执行的答案。 - - - -新规则运行后,工坊外排队的人少了,联合后勤组桌上的纸却多了。机器安静下来,争议只是被挪到更远的地方,交给人去承担。 - - - -订单只有一份,责任也终于有了可以追问的去处。 - - - -接口越统一,接口之前的选择就越像权力,而不再只是一次普通的物资登记。 diff --git a/草稿/1 弃船/1.2 待定篇名/016 没有人的车间.md b/草稿/1 弃船/1.2 待定篇名/016 没有人的车间.md deleted file mode 100644 index c30cdb5..0000000 --- a/草稿/1 弃船/1.2 待定篇名/016 没有人的车间.md +++ /dev/null @@ -1,396 +0,0 @@ -# 第十六章 没有人的车间 - -日军派来的第一个渗透者,在工坊里待了不到七分钟。 -他不是日本人,至少外表看不出来。 -那是个二十多岁的越南青年,穿着普通短衣,肩上挑着两筐废金属,跟在一支从东面来的运输队末尾。 -他的脚上有泥,衣服上有汗,筐里装着断裂农具、几段铜线和一只坏掉的蓄电池。 -无论怎么看,都像一个被越盟组织来给公司送材料的普通搬运者。 - -问题是,工坊不需要普通搬运者进入核心区。 - -运输队把东西送到外圈交接点以后,任务就结束了。 -所有原料先登记来源,再由固定人员放上输入平台。回收机输出的标准料箱,也只由几名已经熟悉颜色与路线的救国军战士搬运。 -这里没有换班大门和成百上千名工人,谁也不能低着头跟在人群里,顺理成章地混进车间。 - -青年把两只竹筐放下,没有随其他人离开。 -他先观察遮蔽网下的回收机,又看向正在运转的制造机,最后试图跟着一只铁基材料箱越过黄色警戒线。 - -“停下。”古米说。 - -青年没听懂。 -或者假装没听懂,仍然继续向前。 - -古米便走到他面前。 -她没有拿盾牌,也没有表现出敌意,只是挡在路上。青年往左绕,她便跟着挪向左边;等他转向右边,她又堵到了右边。 - -两次以后,青年终于承认这不是一场礼貌让路的游戏。 - -农文禄赶来询问。 - -青年解释说,自己想留在山谷工作。 - -“会做什么?”宁诚问。 - -“搬东西。” - -“外面已经卸完了。” - -“里面也可以搬。” - -宁诚看向正在搬箱子的四名固定人员。 -今天生产任务不多,四人已经足够。更何况,再过几天第一段传送系统就可能开始制造。工坊最不缺的,正是想靠体力获得位置的人。 - -“不用。”宁诚说,“需要人时,我们会通过联合后勤组通知。” - -青年没有立刻离开。 -他抬头看了一眼登陆舰,又问是否可以去外面维修棚帮忙。 - -农文禄的表情开始变化。 -真正被安排来的人,应该知道工作由谁分配。 - -“哪个地方派你来的?”他问。 - -青年报出一个村名。 - -农文禄又问领队是谁。 - -答案慢了半拍,运输队负责人随即被叫过来。 - -他认识这个青年。 -却只知道对方在出发前一天临时加入,说是某位地方干部介绍。那位干部的名字没人听过。 - -青年终于转身想走。 - -古米仍然站在原地。 - -他没有冲撞。 -也没有拔武器,只是在越盟战士上前时,整个人突然失去力气一样蹲到地上。 - -“我没有做坏事。”他用越南语反复说。 - -听完农文禄的翻译,宁诚没有回答。有没有做坏事,不能靠一个人自己宣布。 - -青年被带到警戒线外询问。 - -赫默要求立刻暂停这批原料输入。 - -两筐废料被重新封锁。 -材料分析机先进行远距离扫描。大部分内容正常:铁、铜、铅、橡胶和坏蓄电池。除此以外,还有一枚藏在蓄电池夹层里的小型金属装置。 - -装置只有两根手指大小。 -外面包着铅皮,试图遮挡普通观察。里面却有电池、振荡电路和一根卷起的细天线。 - -【检测到未登记无线信号源】 - -【工作频率:低】 - -【状态:待机】 - -【预计用途:定位/近程信标】 - -宁诚看着扫描图。 - -“这东西如果进了回收机,会怎么样?” - -“普通回收程序会先检测异常。”赫默说,“如果没有检测,拆解时也会记录结构。” - -“它能把位置发出去?” - -“激活后可以。” - -“现在为什么没发?” - -“可能在等待特定信号,也可能设置了延迟。” - -日军并不只是想看山谷。 -他们想给生产节点打上一个能被远处找到的标记。相机照片只能记录那一天的外观,信标则能告诉他们设备是否移动、具体坐标在哪里,甚至可能为以后炮击或航空侦察提供参考。 - -“能追踪接收方吗?”宁诚问。 - -赫默把装置接入隔离分析台。 -“可以尝试模拟激活。” - -“会被发现?” - -“会。” - -朱文晋听完情况后,很快作出决定:不在山谷里激活。 - -越盟带着信标离开,沿运输队来路返回。 - -在距离工坊足够远的一处山坳,赫默通过远程接口短暂启动装置。 - -信号发出后,越盟观察组开始监视附近道路。 - -两小时内,一辆日军摩托和几名便衣人员出现在山坳外围。 - -他们没有接近信标。 -只从不同方向确认位置,随后迅速离开。 - -越盟也没有动手。 -他们顺着这几个人,找到了一处临时情报联络点。 - -联络点是一间靠近集市的旧商铺,表面卖布与盐,后屋却有无线电、地图和几份记录山区运输的表格。 - -日军已经开始统计哪些村庄向山谷送东西:谁提供废铁,谁运送弹药,哪条路最常使用,甚至连越盟样本盒的颜色都被记录下来。 - -青年在询问中承认,自己受一名本地警察威胁。 -对方扣住了他在镇上的弟弟,让他跟随运输队进入山谷,记住工坊人数、机器位置和警戒方式,再把信标藏进原料。如果成功,家人会被释放;如果拒绝,弟弟会被当作越盟处置。 - -事情没有一个方便的坏人。 -青年确实为日军做事,也确实没有多少选择。 - -朱文晋没有让公司处理他。 -这是越盟网络内部的问题,他只承诺不会在医疗区和公司内圈进行审问。 - -宁诚没有追问最终结果。 -他更关心工坊以后如何收东西。 - -“每一批都全扫一遍?” - -“必须。”赫默说。 - -“会拖慢速度。” - -“爆炸也会。” - -这个对比没有留下争论空间。 - -公司与联合后勤组重新设计输入流程。 -第一道检查在村庄和中转点完成,货物必须登记来源、经手人和装箱时间。第二道设在山谷外圈,普通金属与危险物分开,陌生人员不得临时加入运输队。第三道检查才由材料分析机完成。 -任何与清单不符的线路、电池、容器和封闭夹层,全部进入隔离区。 - -制造机生产了一批一次性封签。 -它们不是复杂电子锁,只是带有随机纹路与编号的薄片,一旦拆开便不能复原。 - -越盟在中转点封箱。 - -公司在山谷核对编号。 - -这样仍然不能保证绝对安全,至少日军不能再随便把东西塞进篮子,指望它一路走到制造机旁边。 - -“为什么不让每个送货人都进来登记?”一名越盟干部问。 - -“因为这里不需要那么多人。”宁诚回答。 - -“工厂不需要工人?” - -“需要维护、判断和运输。重复加工由机器做。” - -“以后变大呢?” - -“机器会更多。” - -“人也更多?” - -宁诚看向制造机。 - -“不一定。” - -这句话经过翻译以后,几名越盟干部没有立刻理解。 -在他们认知里,工厂越大,工人就越多:更多炉子需要更多人添煤,更多机床需要更多人操作,更多货物需要更多人肩挑背扛。 - -公司的工厂却相反。 -它真正想扩大的,是机器之间不需要人的部分。当前十二名搬箱人员不是生产力的主体,只是在替尚未制造出来的传送带工作。 - -日军渗透者也在这件事上犯了错。他试图混进一座传统工厂,却发现工坊里根本没有可供隐藏的传统工人群体。 -每一个进入核心区的人都有明确任务。少一个,机器照常工作;多一个,反而立刻显眼。 - -当天晚上,越盟端掉了那处旧商铺联络点。 - -日军提前撤走大部分设备,只留下烧过的文件和几只空电池。 - -公司从残留纸片里恢复出部分路线记录。 - -日军已经把山谷的供应线分成五条,三条得到确认,两条仍在怀疑。 - -他们接下来不会只派一个青年,还会抓交通员、收买村民、袭击中转点,或者让真正属于越盟的人,因为恐惧和利益改变立场。 - -核心车间没有人,确实让传统混入变得困难。 -可连接工厂与整个山区的,仍然全是人。人会疲惫、害怕,会被威胁,也会撒谎。 - -终端在夜里更新安全评估。 - -【核心制造区渗透风险:低】 - -【外部物流网络渗透风险:高】 - -【建议减少人工接触环节】 - -【建议建立自动输入与追踪系统】 - -宁诚看着最后两条建议。 -机器给出的解决办法始终一致:人会出问题,那就少用人。眼下这确实是一条合理建议,甚至可能救下许多被日军威胁、抓捕和袭击的运输者。宁诚盯着“减少人工接触”几个字,却隐约觉得,如果一直沿这条路走下去,被排除在生产流程外的恐怕不只是一名渗透者。 - - -那个被抓住的青年在山谷外待了一夜。 - -越盟没有把他带进核心区,也没有允许公司单独审问。 - -宁诚只在赫默给他检查伤口时见了一次。 - -青年没有遭受严重殴打,手腕却被绳子磨破。接受赫默处理伤口时,他一直低着头。 - -“你知道箱子里是什么吗?”宁诚问。 - -农文禄翻译。 - -“不知道。” - -“知道它会害人?” - -“警察说,只是让日本人找到机器。” - -“找到以后呢?” - -青年没有回答。他大概知道,也可能不敢往下想。 - -宁诚没有资格当场原谅,更不准备要求越盟放人。他只提出两件事:不在公司警戒区使用刑讯;如果青年的弟弟确实被扣押,越盟设法确认情况。 - -朱文晋接受第一条。 -第二条只答应调查。 - -公司能制定自己区域里的规则,却还不能给山外每一个人提供安全。 - -信标追踪行动发生在当天傍晚。 - -越盟把装置放进一只普通竹篮,埋在距离原路线数公里的山坳里。 - -赫默远程模拟唤醒装置,信号只持续四十秒。 - -不到一小时,日军便衣从两个方向出现。 -他们先在高处观察,又派一名本地警察靠近竹篮。 - -越盟没有收网。 -他们全都趴在更远的树林里,看着对方取走信标,再沿道路返回旧商铺。 - -这一次被跟踪的不是越盟交通员。 - -而是日军自己的情报线。 - -农文禄回来时很兴奋。 -“机器也会骗人。” - -“机器只发了他们期待的信号。”宁诚说。 - -“这就是骗人。” - -赫默在旁边纠正:“信号内容真实。错误结论由接收者自行得出。” - -农文禄听完翻译,认真看了她几秒。 -“你们公司说话一直这样?” - -宁诚很想说自己也才加入没几天。 - -新安检流程上线后,日军没有立刻再次得手。 -麻烦却没有减少。 - -第二天,一名老矿工送来一只用铁皮密封的样本盒。分析机把它标成异常夹层,货物被隔离,运输人也被暂时扣下。 - -老人非常愤怒。 -他花两天从旧矿井带回矿样,为防雨才把盒子焊死。如今公司把他当成间谍,连水都没来得及喝便被人搜身。 - -盒子打开后,里面只有几块高品位铅锌矿与一张法国时期留下的旧矿票。 -里面没有信标和炸药,也没有任何恶意。 - -宁诚亲自向他道歉,又按有效样本与耽误时间支付双倍物资额度。 - -老人仍然不高兴。 - -“他说,机器不认识他。”农文禄翻译。 - -“机器谁都不认识。” - -“所以它谁都怀疑。” - -这句话让宁诚停住。 -统一封签与检测提高了安全,也把所有没有被系统提前登记的人先放在可疑一侧。 - -为了减少误会,越盟在外圈增加一名固定联络员。异常货物先由人询问来源,再决定是否隔离。 - -公司则提供简单的封装说明,避免矿工为了防雨把样本焊成一只可疑金属炸弹。 - -新的流程更慢。 -每批原料多出登记、核对和等待。日军一次渗透没有炸毁任何机器,却成功让整个输入系统增加了摩擦。 - -系统当然也给出更高效的建议。 -为每名运输者建立身份档案,为每件货物实时追踪,再使用无人设备完成最后一段运输。 - -越少依赖临时信任,效率越高。 -这些建议都有道理。问题在于,当一座工厂要求周围每一个人先被登记、认证和追踪,才能靠近它时,安全与统治之间的边界会变得非常薄。 - -宁诚暂时只批准了货物封签。 - -人员身份仍由越盟负责。 - -宁诚把那条更完整的自动管理建议留在待办列表里,没有删除。 - - - -青年最终没有被处决。 - -越盟确认他的弟弟确实被关在镇上的警察所后,把他转移到另一处根据地看管,同时准备利用这条关系传回假消息。 - -公司不参与具体行动,却提供了一份日军最想听见的情报:制造机因核心受损即将停工,越盟正准备把设备拆运往中国边境。 - -信息一半真,一半假。设备确实有无法复制的核心,也可能因输入中断停工;唯独“拆运”是故意让日军追逐的影子。 - -当晚,越盟送来的情报显示,日军增加了通往北方道路的检查,反而减少对东侧几条小路的关注。越盟趁机调整运输。 - -那个青年第一次为日军送来的信标,最终变成越盟送回日军的一条错误路线。 - -宁诚没有因此觉得事情被抵消。 -一个被威胁的人变成双面工具,依然不是自由选择。可在战争里,越盟无法只用干净办法保护组织。 - -公司也开始明白,外部物流不是一条可以简单替换的传送带。每个节点都有人情、恐惧、家庭和政治。 - -系统建议为所有运输者建立持续追踪。 - -朱文晋明确反对。 - -“日军抓到一个终端,就可能找到整条线。”农文禄翻译。 - -宁诚也拒绝全程定位,只保留最后一段匿名到货确认。 - -机器喜欢完整数据。 -地下组织却依靠“不知道全部”生存。这是双方第一次为了彼此究竟该知道多少而产生分歧。 - -最后形成的规则很不完美。 -公司知道货物何时进入最后交接点,却不知道前面经过哪些村庄;越盟知道运输者身份,不把完整名单交给公司。安全因此降低一点,任何一方单独控制整个网络的能力也降低一点。 - - - -安检流程增加以后,生产效率下降了九个百分点。 -系统把这部分标成“人工验证损耗”。 - -宁诚没有删掉流程。 -他们牺牲九个百分点,少装几枚信标、少埋几处炸药,也少让一些人因为机器的怀疑受到牵连。 - -这类收益很难显示在产量曲线上。 -公司系统仍然忠实记录:如果全部人员与货物接受持续追踪,理论效率可恢复。 - -宁诚在建议后面加了一条备注。 - -【暂不执行:合作方不同意,且存在网络暴露风险。】 - -机器第一次因为政治和信任,而非材料与技术,被要求接受一条低效率路线。 - - - -那个老矿工获释前,仍然不愿使用公司发的封装盒。 -他认为铁皮焊死才最可靠。 - -农文禄重新解释了封签和检查规则。 - -老人最终同意把矿样换进标准盒,却仍在外面缠了三层油布。 - -分析机没有报警。 - -安全流程没有要求所有人立刻相信机器。 -它先学会容纳一点属于人的固执。 - - - -从那天起,每只进入山谷的货箱都先经过人问来源,再经过机器问成分。任何一边跳过,另一边都不允许它继续前进。 - - diff --git a/草稿/1 弃船/1.2 待定篇名/017 工厂修理工厂.md b/草稿/1 弃船/1.2 待定篇名/017 工厂修理工厂.md deleted file mode 100644 index 5bebfbb..0000000 --- a/草稿/1 弃船/1.2 待定篇名/017 工厂修理工厂.md +++ /dev/null @@ -1,422 +0,0 @@ -# 第十七章 工厂修理工厂 - -第一条真正的传送带,花掉了工坊整整一天产能。 -这件事从一开始就不受欢迎。 - -联合后勤组刚刚送来新订单:十六把手枪、六百发弹药、三套电台外壳、二十箱维护工具,另外还有两名伤员需要医疗耗材。 - -宁诚却把所有任务向后推了一天。 - -“先让机器造机器。” - -农文禄听完,第一反应是翻译错了。 -“哪台机器造哪台机器?” - -“制造机造传送带和搬箱机械臂。” - -“枪呢?” - -“明天。” - -“昨天也是明天。” - -“昨天先做了安全封签和检测设备。” - -农文禄转向朱文晋。 - -这一次,越盟内部支持公司的理由没有以前充分。 -传送带不会开枪,机械臂也不能直接拿去伏击日军。眼前已有十二名战士负责搬箱,他们虽然辛苦,至少能让生产线继续工作。 -在越盟看来,先生产更多武器,再慢慢改善搬运,显然更加符合战时需求。 - -系统的计算正好相反。 - -【当前人工物流限制产能:49%】 - -【预计自动运输系统建成后,综合产能提升:61%】 - -【预计回收周期:31小时】 - -宁诚把数字投到木板上。 -“停一天,后面每天都能多做。” - -农文禄把话翻过去。 - -“多多少?”一名越盟干部问。 - -“按照现在材料供应,至少多一半。” - -“如果机器坏了?” - -“还能让人继续搬。” - -“如果日军明天来?” - -“已有武器不会消失。” - -“如果明天有部队急需枪?” - -“那今天做十六把,后天仍然只能做十六把。”宁诚说,“先做传送带,后天可能做二十四把。” - -这正是自动化最诱人的地方:它要求人暂时忍受少一点产品,换来以后持续更多。问题是,战争不会承诺把危机排到以后。 -每一支等待枪的部队都可能在今天遇到日军。 - -朱文晋最后同意暂停一天。 -条件是现有弹药任务不完全停止。 - -制造机白天生产机械结构,夜里继续装配已经准备好的弹药组件。 - -宁诚接受。 - -生产计划更新。 - -【任务:短距离标准输送系统】 - -【长度:36米】 - -【支线:2】 - -【固定物料转运臂:3】 - -【缓冲平台:4】 - -【预计控制核心消耗:1】 - -最后一行让宁诚停住。 -“控制核心只剩几个?” - -赫默调出库存。 -“稳定可用六枚。状态不确定两枚。” - -“传送带要用一枚?” - -“不是传送带本体。”赫默说,“是分拣、路径控制与机械臂协调。” - -钢架和滚轮可以重新制造,电机、齿轮、轴承和外壳也能用本地材料生产。真正不能复制的,是那枚负责把传感器、机械臂和任务队列连接在一起的控制核心。 -它相当于整段物流系统的大脑。 -飞船里只剩六枚可靠库存。 -未来每扩建一条自动线、部署一组复杂机械臂,都会消耗其中之一。 - -“能不能不用?”宁诚问。 - -“可以制造恒速输送带。”赫默回答,“没有自动识别和分流。所有料箱需要人工在岔口搬运。” - -“效率呢?” - -“提升约二十七个百分点。” - -“用了核心呢?” - -“六十一。” - -差距很明显。 -宁诚却迟迟没有确认。控制核心不像钢材。钢不够,可以继续收集废铁,甚至以后开矿;核心用掉一枚,就少一枚。除非未来恢复更高级工业,否则它们是无法补充的。 - -“用。”他最终说道,“但核心装进去以后,怎么保证还能拿出来?” -这不是浪费。 -如果工坊连眼前的生产都无法稳定,保存六枚核心也没有意义。 - -赫默重新调整结构,把控制核心所在的分流节点单独列出来。 -“节点可以做成可拆卸模块,不与地面结构永久焊接。”她说,“撤离或废弃设备时,核心应列为优先回收项。” - -宁诚按她给出的技术边界,在终端上加了三条限制。 - -【控制核心用途:可拆卸物流节点】 - -【禁止与地面结构永久焊接】 - -【设备撤离时优先回收】 - -机器接受了。 - -制造从钢架开始。 -一只只铁基材料箱送入制造机。 -输出端先出现标准支撑件,随后是滚轮、齿轮、轴承、电机外壳和导轨。 -每件东西本身都不神秘。 - -越盟铁匠甚至能看懂大部分机械结构。 - -真正不同的是,它们从出厂时便属于同一套标准。 -支架之间可以直接锁定,滚轮轴承尺寸完全一致,电机接口与控制线路只要按颜色连接,不需要现场重新打孔和修配。 - -十二名原本负责搬箱的人,第一次把工作从“生产线的一部分”变成“安装生产线”。 -他们沿着机器之间的泥地放置支架。 -第一段从回收机出口延伸到缓冲平台。 -第二段连接材料分析机。 -主线继续通往制造机。 -解包节点前则保留人工取货区。 - -古米负责把重型驱动组件放到指定位置。 -她最初对传送带抱有竞争心态。 -“古米一次可以搬两箱。” - -“传送带可以一直搬。”宁诚说。 - -“古米也可以搬很久。” - -赫默在旁边说:“不可以。” - -“古米只是比较。” - -“比较结果仍然是不可以。” - -安装到一半,古米偷偷把一只满载料箱放到尚未通电的输送带上。 -料箱一动不动。 -“现在古米比较快。”她宣布。 - -宁诚决定把这个阶段性胜利留给她。 - -下午,控制核心被从密封箱中取出。 -它只有手掌大小。 -银黑色外壳没有任何可见接口,放进物流节点以后,周围线路才依次亮起。 - -固定机械臂完成自检。 -三只机械臂分别抬起,转向空的输送带。 - -越盟战士下意识后退。 -他们已经见过机器自动工作。 -但这一次,机器正在接管原本属于他们的位置。 - -“先放一箱。”宁诚说。 - -古米把铁基材料箱放到回收机出口端。 - -输送带启动,滚轮没有发出太大噪声,银灰色料箱平稳向前移动。到第一个岔口时,扫描器读取标签,固定机械臂随即伸出,抓住料箱,转向,再把它放到材料分析机支线上。 -动作不快,却没有任何犹豫。 - -第二只铜基材料箱沿主线继续前进,被另一只机械臂送入制造机缓冲口。 -第三只是空箱。 -系统识别后,将它导向返回平台。 - -昨天还需要三四个人不断喊颜色、递箱和纠错的工作,在几十秒里被三只机械臂完成。 - -【自动物流运行正常】 - -【人工转运需求下降:72%】 - -【综合运行效率:67%】 - -【预计订单完成时间缩短:38%】 - -朱文晋看着传送带。 -没有像第一次看见狐火时那样震惊。 -也没有像看见新枪时那样明显高兴。 -他的表情更复杂。 - -十二名战士站在旁边。他们参与了整整一天的安装,可机器启动以后,原本的搬运岗位只剩下三个。 -一人负责把外部原料放进输入区,一人处理解包成品,还有一人观察异常。其余九人突然没有事情可做。 - -“他们以后做什么?”农文禄问。 - -“不需要一直待在这里。”宁诚说,“可以回原来的部队,或者去做外部运输、警戒和材料收集。” - -“工厂不要他们?” - -“不是不要。” -宁诚停顿了一下。 -从机器角度,确实是不需要。 -但把人从搬箱劳动中解放出来,本来应该是一件好事。 -他们不用每天肩扛二十千克料箱来回奔跑。 -不用因为走慢一步便堵住整条生产线。 -可以回去战斗、学习、种地,或者承担机器暂时做不到的工作。 - -“传送带来搬,人才可以做别的。”宁诚说。 - -农文禄把话翻译过去。 - -几名战士很快接受。 -有人甚至明显松了口气。 -搬箱工作并不光荣,也不轻松。 -如果机器愿意做,没人会坚持必须把自己的肩膀留给它。 - -只有一名年纪较大的战士站在原地看了很久。 -他不会修枪和操作电台,也不认识太多字。 -过去几天,他最熟悉的工作就是按照颜色搬箱。 -如今机器一上线,他立刻变成了多余的人。 - -朱文晋最终把他安排到外围警戒队。 - -问题暂时解决。 - -宁诚没有把这件小事放在心上。 -一条三十六米长的传送带,只替代了九名临时搬运者。 -越盟还有太多地方缺人。 -没有人会因为少搬几只箱子失去活路。 - -晚上,制造机重新开始武器任务。 -料箱自行沿传送带移动。 -机械臂完成分流。 -空箱自动返回。 -过去需要十几个人维持的物流,如今只留下一个人坐在旁边监控。 -工坊产量第一次在没有增加人员的情况下显著提升。 - -系统随即更新下一轮建议。 - -【当前物流瓶颈已缓解】 - -【新增主要瓶颈:原料输入】 - -【建议部署自动装卸平台】 - -【建议建立近程无人运输】 - -【建议验证自动采矿技术前置条件】 - -问题没有消失,只是向外移动了一段距离。 -昨天,瓶颈在机器之间。 -今天,瓶颈移到了山谷入口。 -等自动装卸和无人运输完成,它还会继续向山路、矿点与更远的地方移动。 - -古米站在传送带旁,看着一只料箱从自己面前经过。 -她伸手轻轻推了一下。 -箱子速度快了半秒,又被控制系统调整回标准节奏。 -“它不接受外部人工校准。”古米有些遗憾。 - -“说明它终于修好了。”宁诚说。 - -制造机吐出下一批弹药箱。 -整条生产线没有人奔跑,也没有人喊颜色。 -机器正在修理机器。 -也正在一点点把人从自己身边挪开。 - - -传送带正式运行后的第一批故障,来自一只装歪的料箱。 -箱体本身没有问题。 -负责外部输入的战士把它放上带面时,底部一只折叠把手没有完全收回。料箱经过转弯段,把手卡进滚轮间隙。 - -输送带立刻停机。 -后方三只料箱接连撞上。 -其中一只是红色标记的含能材料箱。 - -古米几乎在警报响起的同时冲过去,双手稳住箱体,没有让它从带面翻下。 - -机械臂则停在半空,等待控制核心重新规划。 - -“传送带也会卡。”古米说。 -语气中隐约有一种终于扳回一局的欣慰。 - -赫默检查红色料箱,确认安全结构没有受损。 - -宁诚则把那只没收好把手的箱子取下来。 - -故障只持续六分钟,却让整条线停止,也差点让危险物翻落。 -人工搬运时,一个人走错可以被旁边的人提醒;自动线出错以后,所有设备会按照同一个错误一起停下。 - -“需要有人看。”宁诚说。 - -原本被调去外围警戒的年长战士又回到工坊。 -他的名字里有一个“福”字。 - -农文禄便让宁诚叫他阿福。 - -阿福不识字,却记得每种颜色该去哪里,也比新来的搬运者更熟悉料箱卡扣。 - -公司给他制作一块只显示图形的监控板。 -正常是绿色圆圈。 -箱体姿态异常是黄色斜线。 -危险物停止则是红色三角。 - -阿福的工作不再是肩扛料箱,而是在机器需要时按下停机,确认箱体和路径,再允许重新启动。 -他花一下午记住所有图形。 -第一次独立处理故障时,机械臂抓取位置偏了两厘米。阿福提前停机,把箱子推回标准线,又通知宁诚记录原因。 - -系统更新了机械臂校准参数。 -同类问题没有再出现。 - -传送带替代了阿福原来的体力工作,却创造出一个过去不存在的岗位。 -这个岗位更轻,也更需要判断。 -不是每名搬运者都能立刻胜任。 - -另外八人回到原部队后,只有两人提出想回来学习机器。其余人更愿意带枪、走山路或者从事自己熟悉的工作。 -自动化没有让所有人同时变成技术员,只是让工作变少、变快,也变得更集中。 - -到了夜里,宁诚检查控制核心温度。 -这枚无法复制的小型装置协调着三十六米输送带、三只机械臂和四个缓冲平台。外壳几乎没有发热,系统预计寿命却因坠毁冲击存在不确定性。 -“它坏了怎么办?”宁诚问。 - -“切换恒速人工分流。”赫默说,“产能下降,但不会完全停工。” - -“能修?” - -“只能更换外围结构。核心内部目前不能。” - -宁诚让制造机多生产一套滚轮、电机和机械臂易损件。 -工厂可以修理自己的身体,还不能修理自己的大脑。 -这让指数增长暂时被一只手掌大小的黑色方块拴住。 - -系统依旧乐观地绘制下一轮扩张。 -再增加一个控制核心,物流效率可提高到百分之八十以上。 -再增加自动装卸,外圈需要的人力减半。 -再增加无人运输,输入点可以向山谷外推数公里。 -每一项都在减少危险、提高产量,也在减少机器需要与多少人协商。 - -阿福坐在监控板旁,认真盯着绿色圆圈。 -他暂时没有被工厂抛下,只是从搬动物质的人,变成了替机器确认世界没有出错的人。 - - - -新传送带还带来一项出乎意料的变化。 -过去,越盟战士搬箱时可以随手把某一箱放到旁边,等更急的任务先走。机器上线以后,每类料箱按物料代码与既定路线自动移动;人若想临时插队,必须在终端上留下操作记录。 - -第一天下午,一名干部要求把自己的弹药箱提前。 - -阿福没有答应。 -他不识字,却认得监控板上的锁定图案。没有认证接口发来的变更,机械臂不会把那只箱子送进制造机。 -过去,他只是一名普通搬运者。 -现在,即使职位更高的人站在面前,也必须经过他看守的机器规则。 - -联合后勤组随后补发正式优先变更,弹药任务才提前。 - -这让阿福第一次理解自己的新工作不是“替机器看灯”。 -他在守一条所有人都必须遵守的生产顺序。 - -传送带提高了效率,也把原本可以靠口头、关系与临时命令改变的流程,变成需要记录的权限。 -机器没有政治立场,但谁能改变机器队列,本身就是权力。 - -宁诚因此禁止只有自己一个人拥有调序权限。 - -普通订单由联合后勤接口提出。 - -公司确认资源。 - -紧急医疗由赫默直接插入。 - -防卫任务需要宁诚与越盟值班负责人共同确认。 - -工厂修理自己的同时,也让围绕工厂的人不得不重新分配“谁可以说现在先做什么”。 - - - -阿福值守的第一夜,传送带总共停了两次。 -一次是物料代码标识沾泥。 -一次是空箱回收口堆积。 -他都在警报扩大前处理完成。 - -系统把他的操作记录为“外部异常修正”,并建议保留人工监控。 -工厂没有证明人完全多余,只是把人的位置从每一只箱子旁边,集中到少数需要判断的节点。 -越往后,这些节点需要的人可能越少。 -拥有的权限却会越大。 -谁看守控制核心、谁能停下传送带、谁能修改队列,会比谁搬得最快更重要。 - - - -制造系统把阿福标成“人工监控节点”。 - -宁诚把名称改成“物流值班员”。 - -前一个名称更准确,后一个名称却更像在说一个人。 - -系统接受修改,工作内容没有任何变化。 - -可阿福拿到新的纸质岗位记录时,还是认真把它折好收进怀里。 - -名字并不提高产量,有时却决定一个人觉得自己是在帮助机器,还是被机器临时使用。 - - - -传送带继续向前,阿福的绿色圆圈也继续亮着。机器开始取代体力,却仍需要一个人,在它看不懂现实的时候按下停止。 - - - -箱子走得更快了,一套新的权力位置也随之出现。 - - diff --git a/草稿/1 弃船/1.2 待定篇名/018 断线.md b/草稿/1 弃船/1.2 待定篇名/018 断线.md deleted file mode 100644 index fadbb7a..0000000 --- a/草稿/1 弃船/1.2 待定篇名/018 断线.md +++ /dev/null @@ -1,439 +0,0 @@ -# 第十八章 断线 - -传送带启动后的第二天,第一条外部运输线断了。 - -系统最先发现的是延迟。 -上午八点,东侧交接点应当送来六只原料箱:两箱废钢,一箱黄铜与铜线,一箱旧电池,一箱橡胶和润滑材料,最后一箱是从几支地方部队收集的散装弹药。 -八点十分,交接点没有信号。 -八点二十,越盟交通员没有出现。 -八点三十五,系统把状态从“延迟”改成“异常”。 - -【东侧输入路线中断】 - -【未收到标准货物:6】 - -【未收到人员确认:3】 - -【建议启用替代路线】 - -宁诚看向农文禄。 - -“他们经常迟到吗?” - -“会。” - -“迟半小时呢?” - -“也会。” - -“那系统为什么报警?” - -“因为人不是机器。”农文禄说。 - -这是他这几天从公司学到的最重要结论之一。 -山路会被雨冲坏,骡子会受惊,村庄可能临时遇上日军搜查,交通员也可能因为碰见熟人,多绕一段安全路线。 -公司设定的时间表对工厂很有用。 -对山外的人却经常只是大概。 - -宁诚没有立刻把延迟当成袭击。 - -朱文晋仍然派出两名联络员,沿预备小路前往东侧交接点。 - -九点零五分,第一名联络员返回。 -他没有带货。 -左臂却缠着一块迅速被血浸透的布。 - -“日军。”农文禄听完报告,脸色立刻变了。 - -运输队在距离交接点两公里的一处三岔路遭到伏击。 -伏击者不是大部队,只有十几名日军与本地警察,伪装在路边林中,等装载货物的人车进入狭窄路段后才开火。 -最前面的交通员当场中弹。 -骡子受惊,载着两箱物资冲下坡地。 -后面的队伍试图撤退,却发现来路也被另一组人切断。 - -战斗持续不到十分钟,越盟死了三人,两人被抓,其余人分散逃进山林。 -日军带走了四只货箱,烧掉没能搬走的物资,又在交接点附近留下人员等待后续运输队。 - -“标准箱呢?”宁诚问。 - -农文禄看了他一眼。 - -这个问题在此时显得过于像机器,宁诚也立刻意识到了。 -“我是说,被抓的人是谁?” - -农文禄报出两个名字。 - -宁诚都不认识。 - -其中一人正是最早在山谷里替他们搬过料箱的十二名战士之一。 - -另一人只有十七岁,负责牵骡子。 - -死去的三人里,也有一个宁诚见过。 -那个年纪较大、在传送带上线后被调去外围警戒的战士。 -前天,他还站在工坊旁边,看着机械臂接走自己过去搬运的箱子。 -今天,他死在机器尚未延伸到的山路上。 - -古米已经拿起盾牌:“我们去救人。” - -“太晚了。”朱文晋说。 - -农文禄把话翻译出来。 - -日军袭击以后没有留在原地。 - -他们带着俘虏和货箱迅速向东撤离,只留下一小组观察是否有人追击。越盟若现在大规模出动,很可能撞上后续接应部队。 - -“无人机能找到吗?”古米问。 - -侦察无人机随即升空。 -十几分钟后,它在道路远处发现移动队伍。 -距离超过二十公里。 -日军已接近自己控制区。 -两名俘虏被绑在卡车后方。 - -古米仍然想追。 -“古米跑得比车快。” - -“你不知道路上还有多少人。”赫默说。 - -“可以看。” - -“无人机续航不够覆盖全程。” - -“那就先把人救下来。” - -“然后你怎么回来?” - -古米没有答案。 -她能击溃那支小队。 -也可能追上卡车。 -可越过二十公里山路以后,日军的据点、援军和道路网络都会成为新的问题。 -强大不等于可以出现在任何地方。 - -古米最终把盾牌放下。 -动作很重。 -她没有生气地争辩,只坐到岩壁边,盯着无人机画面里的卡车,直到它消失在道路尽头。 - -公司没有追。 - -越盟也没有立即报复。 - -工坊随即进入警戒状态。 - -所有原定通过东侧路线的运输被叫停。 -其他四条路线也暂时停止固定时刻交接。 -日军已经知道公司货箱长什么样。 -也知道越盟正在把资源持续送进山谷。 -继续按同一时间、同一地点、同一条路运输,只会给他们更多伏击机会。 - -生产线却不能因为安全会议自动获得原料。 - -中午,回收机吃完最后一批废钢。 -下午一点,铜基材料缓冲区见底。 -下午两点,制造机完成现有弹药任务,因缺少新输入转为待机。 -自动化的传送带还在运行,把最后一只空箱送回回收机,又继续转了几圈。再没有新箱子出现,系统最终让它停下。 - -【输入中断】 - -【生产任务暂停】 - -【当前产能利用率:8%】 - -工坊第一次因为山外发生的事情完全安静。 -机器没有坏,能源也没有故障,更没人潜入核心区。一支十几人的日军小队,只在二十公里外截断一条路,便让几台未来设备失去了食物。 - -“传送带没用。”农文禄低声说。 - -“不是没用。”宁诚看着静止的银灰色带面,“它只是够不到那里。” - -传送带替代了山谷里的搬运者,却没有替代矿石离开村庄的背篓、驮着废铁过山路的骡子,也没有替代在日军检查站前判断该走哪条路的交通员。 -机器让核心生产更加安全。 -同时把风险向更远处推了出去。 - -工坊里少了九个搬箱的人。 -山外却需要更多人维持不断增长的输入。 -日军很快找到了这一点。 - -下午,朱文晋召集负责几条路线的干部重新讨论物流。 -固定交接点全部取消,货物不再从村庄直接送往山谷,每条路线被拆成三到四段。 -前一段运输者不知道最终目的地。 -后一段只在约定时间取走封签完整的货物。 -同一批物资尽量分散,不再让一支队伍携带全部关键原料。 - -交接时间也由固定时刻改成窗口。 -公司终端会随机生成几个可选点。 - -越盟根据当日道路和日军动向选择其中一个。 -无人机只负责最后一段路线的临时观察。 - -这套办法更安全,也更慢。 -原本一天能完成的运输,可能需要两天甚至三天。 -原料损耗也会上升。 - -朱文晋没有抱怨效率。 -他只问:“人怎么办?” - -“哪一批人?”宁诚问。 - -“被抓的。” - -宁诚没有答案。 -公司可以计算日军卡车去向。 -可以估计关押地点。 -可以给越盟提供地图与夜间观察。 -却不能承诺把每个因为给工厂送货而被捕的人救回来。 - -“先查关在哪里。”他说,“有机会就救。” - -这句话不够有力。 -也不够像一个拥有未来技术的领导者。 -但至少是真的。 - -朱文晋点头。 -“他们家里呢?” - -宁诚再次沉默。 -过去,公司给越盟产品,越盟提供原料,交易完成,双方都觉得公平。 -现在,给公司运送原料的人死了。 -如果公司只计算损失了四只料箱和一条路线,那么所谓交易便只在材料层面成立。 -人的代价全部留给越盟。 - -“公司得补偿。”宁诚说完,又补了一句,“但我不知道怎么补才算对。” - -“用什么?”农文禄问。 - -钱不是最有用的。 -越盟也未必愿意让公司用几件产品买走三条命。 - -宁诚先问朱文晋,越盟过去怎样照顾牺牲者和被捕者的家属。 - -朱文晋的答案并不统一:有的由地方组织照看,有的靠村里分粮,更多时候只能看当时有什么。 - -赫默则把公司能够持续兑现的东西列出来:医疗、基本粮食和常用工具。至于现金与土地,公司既没有稳定来源,也无权承诺。 - -宁诚同两边反复核对以后,最终提出: -死者家庭获得长期医疗优先,由公司承担基本粮食与工具配额;被捕者在确认生死以前,家属按运输任务继续领取相同物资;所有承担公司运输任务的人,都必须登记家属与补偿方式。 - -这是一套很像公司的答案:记录、标准、配额,把不可挽回的损失转成可以执行的后续责任。 - -朱文晋接受了。 -却要求补偿通过越盟组织发放,不由公司直接绕过地方组织接触家庭。 - -宁诚也接受。 - -双方第一次因为死亡,把合作从原料和产品延伸到人。 - -终端新增了一个陌生分类。 - -【外部物流人员保障】 - -【已登记:37】 - -【伤亡:3】 - -【被捕:2】 - -【待履行补偿:5】 - -数字清楚得令人不舒服。 - -晚上,新的分散路线送来第一批小规模物资。 -只有两筐废钢和小半筐铜线。 -远低于工坊正常需求。 - -制造机重新启动了不到一小时,又再次停下。 - -宁诚站在静止的传送带旁。 - -系统给出新的扩建建议。 - -【建议部署近程无人运输单元】 - -【建议延伸自动物流至外圈交接点】 - -【建议规划独立资源采集节点】 - -每一项都需要材料。 -也需要剩余控制核心。 -公司暂时做不到。 - -但方向已经清楚。 -只要运输仍然依赖人,日军就能通过抓人、杀人和封路让工厂停下。 -如果有一天,矿石能由无人矿机直接挖出,沿传送带和自动车辆送进制造机,今天的袭击便不会再发生。 -至少,不会再有人因为替公司背一箱废铁而死。 - -这个想法很有吸引力。 -也非常危险。 -因为它给出的解决办法,不是保护运输者。 -而是让运输者消失。 - - -第二天,宁诚知道了被日军夺走的标准料箱发生了什么。 - -一名逃回来的运输者亲眼看见,日军在路边撬开其中一箱铜基材料。 -他们以为里面藏着机器零件或武器。 -箱盖开启后,约束场失效。黄铜色微胞迅速发热、结块,最终烧结成一团混杂着氧化物的粗糙金属饼。 -日军技术人员没有得到未来零件。 -只得到十几千克成分很好的废铜,以及一只无法正常复原的箱体。 - -另一只危险品箱没有被打开。 -显示带上的红色标记,加上俘虏不断强调会爆炸,成功说服日军先把它送往更远的据点。 - -公司暂时无法销毁被夺走的料箱。 -只能将批次认证作废,防止它们以后被重新带回工坊混入输入。 - -【丢失标准物料单元:4】 - -【远程控制:不可用】 - -【认证状态:永久撤销】 - -这让宁诚再次看清当前所谓高科技物流的局限。 -箱子落到谁手里,就是谁手里的物质。 -公司可以让内部编码失效,却不能隔着几十公里把十几千克铜召回。 - -下午,死者家属来到山谷。 -三个人的家属一共来了七人。 -有人沉默。 -有人哭。 -也有人没有进入警戒线,只站在远处看那几台重新启动的机器。 - -阿福的妻子抱着一个很小的孩子。 - -宁诚这才知道,那名战士不叫阿福。 -“福”是他儿子的名字。 -过去几天,所有人为了方便,都跟着农文禄叫错了。 -宁诚站在原地,不知道该先道歉名字,还是道歉那条运输线。 - -最后,他只说:“是公司请他做这件事。” - -翻译完成后,女人问:“你们的机器以后还要东西吗?” - -“要。” - -“还会让人送吗?” - -宁诚无法撒谎。 - -“现在还需要。” - -女人没有责骂。 -她低头看孩子,又问公司答应的粮食和医疗是不是真的。 - -宁诚让终端调出登记。 -长期医疗优先。 -每月基础粮食。 -工具与衣物配额。 -孩子成年以前的基本保障。 - -所有内容同时抄成纸质文件,由越盟地方组织、公司与家属各留一份。 - -女人不会读字。 - -越盟干部当面念给她听,又让两名见证人按下手印。 - -她最终接过文件。 - -这当然赔不清一条命,只能证明公司承认,工厂外面的风险不能全部算成越盟自己的损失。 - -另外两户家属提出,希望死者的弟弟或子女将来可以优先学习公司技术。 - -宁诚同意建立培训优先,而不是直接承诺工作。 -他不知道未来的工厂还需要多少人。 -更不想用一个可能很快消失的搬运岗位安慰他们。 - -家属离开后,朱文晋问:“机器以后真能自己运吗?” - -宁诚调出仍是灰色的运输方案。 -“现在的方案只能先覆盖几公里。”他说,“再远要看控制组件、材料和山路,不能先保证。” - -“那今天这些人呢?” - -“至少不用再为了搬箱子走这条路。” - -“还会有人守路、找矿、保护机器。” - -宁诚没有反驳。 - -自动运输只能移走一种风险。工厂向外扩张时,还会制造新的边界、新的目标和新的需要保护之物。 -可系统界面只显示一条清楚收益。 - -【无人运输预计降低人员暴露风险:83%】 - -数字非常诱人。 -如果第一个无人运输平台能早几天完成,三个人也许不会死。 -这让宁诚更难拒绝下一次自动化。 -机器没有命令他替代人,只是把不替代的代价一次次准确列在面前。 - - - -到当天傍晚,两名被捕运输者的去向也已查清。 - -他们没有被送往太原,而是暂时关在一处地方警察所。日军想从他们口中问出山谷入口、机器数量和越盟运输组织。 -其中一人只知道自己负责的两段路线。 -另一人甚至没进过山谷,只在中转点交过箱子。 - -分段物流让他们无法出卖整张网络,也让越盟有机会组织营救。 - -朱文晋没有立即行动。 -警察所周围出现了日军伏兵,显然正在等救国军上门。越盟先让家属散播消息,说两人只是被强迫运货的普通村民,再通过地方关系摸清换岗与关押位置。 - -公司无人机只能偶尔远距离观察。 -它看得见屋顶和岗哨。 -看不见屋内谁在审讯,也不知道哪名警察愿意偷偷送水。 - -宁诚把营救标为待办,却没有设置完成日期。 - -机器不断提醒生产输入不足。 -终端也不断提醒两名外部物流人员仍处于“被捕”。 -这两个红色状态并排存在,一个代表工厂少了物质,另一个代表人还没有回来。 - -宁诚强迫自己每次查看产能时,都先看见后者。 - -自动化规划可以降低未来风险,却不能替他把已经被抓的人从牢房里变出来。 -这条断线尚未接回。 -只是从物资问题,变成了一笔公司必须记住的人情债。 - - - -公司没有等到无人运输建成才恢复生产。 - -越盟用更慢、更分散的路线一点点送回物资。每次只有几千克铜、一筐废铁或一小包弹药,工坊经常运转一小时又停两小时。 -产量下降到原来的三成。 -却没有再次出现整支运输队被一次截断的情况。 - -机器偏爱连续、稳定和大批量输入,地下战争却偏爱分散、模糊和不可预测。当前最安全的物流,恰好是最不像自动工厂的物流。 - -宁诚没有强迫越盟把运输重新变得整齐。 -他让制造系统接受小批次、长间隔和不固定到货。 -效率再次为人的生存让路。 -同时,无人运输任务在等待队列里被调高一级。 - - - -生产恢复到三成以后,联合后勤组要求公司给出最低稳定输入。 - -系统回答每天需要多少千克铁、铜、铅和含能材料。 - -朱文晋把数字看了一遍,只说:“以后会更多。” - -宁诚知道他是对的。 - -今天三个人为几只料箱死在路上。 -明天工厂若扩大十倍,人力运输承担的风险也会跟着扩大。 -自动物流不再只是提高效率的可选升级,而是公司继续增长以前必须偿还的安全债务。 - - - -宁诚把无人运输的优先级提高后,没有立刻获得一辆车。制造机仍缺控制组件,材料也只能一小批一小批送来。规划与现实之间隔着许多天、许多箱子,以及仍要冒险走完这段路的人。 - -自动化可以成为答案,却不会因为答案正确便提前到来。 - - - -工厂重新发出低沉运转声时,山路上仍有人背着下一小包铜线出发。无人时代尚未来到,代价却已经提前到达。 - - - -那条还不存在的自动运输线,已经先从死者名单上得到了一条设计要求。 diff --git a/草稿/1 弃船/1.2 待定篇名/019 统一后勤.md b/草稿/1 弃船/1.2 待定篇名/019 统一后勤.md deleted file mode 100644 index 839c2a8..0000000 --- a/草稿/1 弃船/1.2 待定篇名/019 统一后勤.md +++ /dev/null @@ -1,414 +0,0 @@ -# 第十九章 统一后勤 - -武元甲方面的代表在五月十三日抵达山谷。 -一共五个人,领头的是个三十岁上下的男人,名叫阮德胜。 -他穿着洗得发白的灰色衣服,戴一副细框眼镜,身上没有明显军衔,只在腰间挂着一支旧式手枪。 - -同行者里有两名武装警卫、一名负责文件的年轻干部,还有一名从中国边境一带回来、中文说得比农文禄更流利的翻译。 -他们没有带原料,带来的是一摞清单。 - -宁诚看到那些纸时,产生了一种不太好的预感。 - -阮德胜先与朱文晋交谈。 -两个人说了很久。 - -越南语识别率已经达到基础交流水平,终端能翻出大部分内容。只是涉及部队名称、地名和政治术语时,结果仍会出现偏差。 -宁诚听明白了核心。 - -救国军与越南宣传解放军准备合并。 -不同地区的武装将统一编制,建立一支新的越南解放军。 -朱文晋此前与公司达成的协议、建立的联合后勤组,以及工坊生产的武器,也必须被放进新的体系里重新确认。 - -这很合理。 -也很麻烦。 -公司过去只对接朱文晋这一支地方力量。新军队成立以后,订单会来自更大范围,原料来源更多,产品需求更复杂,政治上的问题也会跟着放大。 - -阮德胜听完朱文晋介绍,第一件事不是看新枪,而是要求查看工坊的生产记录。 - -“可以看汇总。”宁诚说。 - -“全部记录。”阮德胜通过翻译回答。 - -“核心设备日志不行。” - -“为什么?” - -“里面有登陆舰结构、设备状态和公司的技术数据。” - -“工坊在越南土地上生产武器,越南人不知道它生产了多少、用了什么,不能接受。” - -阮德胜的语气并不强硬。 -内容却没有让步。 -他不是来看天外奇迹,也不是来代表某支小队争几把枪。他要确认,这座工坊是否正在成为越盟无法控制的独立军火来源。 - -宁诚看向赫默。 - -赫默只说:“可以生成隔离报告。” - -公司系统将记录分成三层。 -第一层是越盟可以完全查看的交易账,包括原料来源、折算质量、产品数量、交付对象和损耗。第二层是双方共同确认的生产状态,包括当前产能、预计交付时间、材料缺口和安全限制。第三层则是公司内部日志:设备结构、控制核心、工业模板、能源分配、登陆舰数据库与未来扩建计划。 -第三层拒绝开放。 - -阮德胜看完前两层,仍然不满意。 -“你们留下两成材料。” - -“加工和设备使用成本。”宁诚说。 - -“材料来自越南。” - -“设备来自公司。” - -“土地也是越南。” - -宁诚停顿了一下。 -这句话比材料账更重要。 - -越南没有邀请登陆舰坠毁于此,公司占据山谷、划出警戒线、开设工坊,也没有获得任何政府的正式许可。 -越盟暂时承认内圈,是因为双方共同对日作战和朱文晋的地方协议。 -一旦越盟开始建立更统一的武装与行政,这种“先用着再说”的状态不会永远维持。 - -“公司没有否认这是越南土地。”宁诚说。 - -“那工坊属于谁?” - -“公司。” - -回答得太快,周围几个人的神情都变了。宁诚自己也意识到,这句话像极了过去殖民公司会说的话。 -土地和矿石属于当地,劳动与安全也由当地提供,工厂和技术却永远属于外国公司。 -他赶紧补充:“产品按合作协议分配。你们决定越盟内部怎么使用,公司不干涉。” - -“如果公司不想生产呢?” - -“我们会说明原因。” - -“如果我们不同意原因?” - -宁诚没有现成答案。 - -赫默替他提供了最冷静的一条边界。 -“涉及设备安全、医疗风险和无法验证的生产任务,公司保留拒绝权。” - -翻译完成后,阮德胜看向那几台机器。 -传送带正在运转,一只装着铁基材料的料箱经过岔口,被机械臂送进制造机,整个过程没有人干预。 -“你们说危险,机器就不会工作。”他说。 - -“有时候是。”宁诚承认。 - -“谁判断危险?” - -“赫默和系统。” - -“都是公司。” - -“对。” - -谈话短暂陷入僵局。 - -朱文晋在这时开口。 -他提醒阮德胜,公司曾拒绝直接替越盟决定枪支分配,也没有利用医疗和武器要求地方部队服从宁诚。 -日军袭击运输线以后,公司还承担了死伤者家庭的物资与医疗保障。 -朱文晋不认为宁诚当前准备夺取越盟指挥权。 -但他也承认,工坊越重要,这个问题便越不能只靠个人信任解决。 - -“所以才需要统一协议。”阮德胜说。 -他带来的清单终于被铺到桌上。 -清单包括越南宣传解放军的武器统计、不同地区的弹药口径、损坏电台、医疗用品缺口、行动需求,以及合并以后预计编入新军队的人员与装备。 - -信息并不完整。 -有些数字只写“大约”。 -有些部队甚至无法准确报出自己有多少可用子弹。 -可它已经比地方小队各自跑来要枪前进了一大步。 - -宁诚把数据输入终端。 -系统自动识别重复需求、口径冲突和不可能完成的交付时间。 - -【总需求超出当前七日产能:518%】 - -【步枪弹口径:至少6种】 - -【电台型号:至少9种】 - -【缺少设备状态信息:43%】 - -【建议统一装备分类与需求格式】 - -阮德胜看完翻译,问:“机器不接受?” - -“不是不接受。”宁诚说,“它不知道你们说的‘损坏电台’到底坏在哪里,也不知道‘急需弹药’需要多少发。” - -“各地条件不同,不能都写得一样。” - -“可以用同一张表,内容不同。” - -宁诚调出公司最简设备报告。 - -报告只要求七项:物品类型、数量、现有状态、任务用途、最晚需要时间、可提供原料和运输条件。 - -“不会写字的人怎么办?” - -“由后勤人员记录。” - -“没有量具?” - -“用图形分类,送样本。” - -“不知道型号?” - -“拍图、拓印,或者送一件来。” - -阮德胜逐项追问。 - -宁诚逐项回答。 - -有些回答来自系统。 -有些来自这半个多月实际遇到的问题。 -直到这时,他才发现自己已经不再是十几天前那个只会站在机器旁看箱子的人。 - -他开始知道产能为什么不足。 -知道材料、任务、运输和安全之间如何互相限制。 -也知道一句“多造一些枪”在生产系统里必须变成怎样的数字。 - -阮德胜最终接受统一需求格式。 -条件是所有越盟原料与产品账必须保留一份不依赖公司终端的纸质副本。 -公司不得修改越盟内部的分配结果。 -工坊要拒绝订单,必须给出可以被翻译和记录的明确理由。 - -公司接受。 - -宁诚同样提出条件。 -新成立的军队只能保留一个认证需求接口。 -地方部队不得绕过统一后勤,直接用原料向公司交换武器。 -危险物资必须按照公司封装与运输规则处理。 -任何人不得进入舰体和核心生产区。 -公司产品不得转交日军、保大政府、法国残余或其他未经双方确认的武装。 - -最后一条引起了讨论。 - -阮德胜认为产品属于越盟以后,越盟有权自行处置。 - -宁诚则认为,公司不能接受自己的产品被倒卖给敌人,再反过来攻击工坊。 - -双方最后使用一个折中版本。 -公司不干涉越盟内部调拨。 -对外转让涉及公司标准武器、弹药与核心工具时,需要通知并获得联合确认。 - -这不是成熟条约,只是一套为眼前合作准备的临时规则。可规则一旦写下,便比口头友谊更容易留下来。 - -下午,阮德胜参观外圈工坊。 -他没有被允许越过红色警戒线。 -也没有要求打开标准料箱。 -他重点看了越盟自己的纸质账、运输伤亡记录和订单界面。 - -“机器知道谁死了?”他问。 - -“知道登记结果。”宁诚说,“不知道那个人是谁,除非我们把信息告诉它。” - -“告诉以后呢?” - -“会把补偿、家属和任务记录在一起。” - -“机器会关心吗?” - -“不会。” - -宁诚回答得很直接。 -“人关心,机器负责不忘。” - -阮德胜看了他一眼。 -“那就不要让机器替人决定该关心谁。” - -宁诚没有反驳。 -这是他来到1945年以后,第一次有人如此准确地指出公司系统的边界。 -机器能保证数字不丢,却不能保证数字背后的选择正确。 - -傍晚,联合后勤组被重新命名为“越南解放军筹备后勤组”。 -原来的三名成员保留。 -阮德胜方面增加两名代表。 -订单确认由五人中至少三人完成,且必须包含一名军事与一名物资负责人。 - -公司系统生成新的认证接口。 - -【需求来源:越南解放军筹备后勤组】 - -【授权范围:军械、医疗、通信、工具】 - -【地理范围:越北相关部队】 - -【状态:临时】 - -第一份统一清单在深夜完成。 -它没有满足所有部队。 -也没有神奇地解决原料缺口。 -但它第一次把救国军与宣传解放军的部分需求放进同一个队列。 - -制造机根据任务紧迫程度、运输时间和材料状况,给出一份可执行计划。 -未来三日: -维护工具优先。 -现有弹药检测优先。 -手枪生产限制在二十把;电台维修按行动需要排序;医疗耗材不低于总产能的百分之十五;所有新需求等待正式合并后重新确认。 - -阮德胜看完计划,问了最后一个问题。 -“如果没有公司,我们还能按这张表做吗?” - -宁诚想了想。 -“可以。只是没有机器帮你们计算和生产。” - -“如果没有越盟,公司还能做吗?” - -“能做。”宁诚看向暂时安静的回收机,“但没有原料,也不知道该把东西给谁。” - -两边都需要对方,至少现在是这样。 - -第二天,筹备后勤组的第一份统一订单正式进入队列。 -系统没有庆祝。 -只在认证通过后亮起绿灯。 -可从那一刻起,工坊面对的不再是山里一支地方救国军。 -而是一支正在成形的新军队。 - - -协议谈完以后,阮德胜没有立刻离开。 -夜里,他与宁诚坐在停转的传送带旁,问了一个前面会议上没有出现的问题。 - -“你们公司相信什么?” - -“相信什么?” - -“资本、利润,还是共产主义?” - -宁诚没想到1945年的自己,会在一艘坠毁飞船旁接受这种问题。 -“公司不是政党。”他说。 - -“殖民公司也不是政党。” - -这句话很轻,却让宁诚无法用一句“我们不一样”带过。 -传统殖民公司同样修路、开矿、办医院和建立标准,也会说自己带来秩序与发展。区别不能只靠一句“我们不一样”。 - -“我不反对你们的主义。”宁诚说,“如果统一计划能让原料和产品用得更有效率,公司就会和统一计划合作。” - -“如果资本家更有效率?” - -“也会合作。” - -“所以你们不在意谁正确。” - -“公司系统不在意。”宁诚停顿一下,“我会在意。” - -“你和公司不是一回事?” - -宁诚看向登陆舰。 -系统承认他的最高权限。 -可他并没有设计那套工业逻辑,也没有决定公司最初为何拥有地区治理与开发权。 -“现在,我能决定它在这里先做什么。” - -“以后呢?” - -“不知道。” - -阮德胜没有得到保证。 -却得到了一句诚实答案。 - -当夜,双方把临时规则写成六条简短文字。 - -越南方面统一提交订单并决定内部产品分配;公司公开交易账、产能、缺口和拒绝理由,同时保留设备安全、核心技术与危险生产否决权;越盟保证土地外围、运输与人员安全,不得强行进入核心区;双方共同承担因生产与运输产生的伤亡保障;任何对外转让公司标准武器和关键设备的行为,都必须共同确认。 - -文件没有出现“联合开发区”,也没有出现“殖民”“特许”或“治外法权”,只是一份战时后勤规则,可其中已经同时存在两个权力中心。 -越盟决定社会需要什么,公司决定机器能做什么、是否安全,以及技术边界在哪里。 -双方都认为这是暂时安排。 - -终端却把它保存为: - -【本地合作协议模板:001】 - -“模板”两个字,让宁诚多看了一会儿。 -对越盟而言,这是一次具体合作。 -对公司系统而言,它已经成了未来可以复制到第二个、第三个地区的标准答案。 - - - -阮德胜在离开前还问:“如果有一天,机器不再需要我们运东西呢?” - -这次问题没有任何技术难度。 -系统甚至已经给出答案。 -自动矿场。 -无人运输。 -传送带。 -自动仓储。 -只要设备和材料足够,生产确实可以逐渐摆脱越盟当前提供的大部分人力。 - -“那会少死人。”宁诚先说。 -运输线袭击的三名死者仍然留在记录里。 - -“也会让越盟不再能用停止运输约束公司。”阮德胜说。 - -宁诚没有立即回答。 -现在,公司与越盟互相需要。 -越盟控制山路、原料和地面网络。 -公司控制制造核心。 -这是一种并不完全平等、却仍然双向的依赖。 -自动化越完整,公司需要越盟的部分便越少。 -越盟对公司产品的依赖却可能越来越深。 - -“到那时,需要新的协议。”宁诚说。 - -“协议由谁决定?” - -“双方。” - -“如果公司比越南军队更强?” - -宁诚看向远处的古米。 -她正单手扶住一段传送带,让维修人员更换支架。 -答案已经有一部分摆在眼前。 -“所以不能等到那时候才开始想。” - -阮德胜没有因为这句话放下警惕。 -却把它写进自己的会议记录。 - -在越盟内部,公司第一次被明确描述为:必须合作、必须利用,也必须始终保留政治约束的外国技术力量。 -公司同样在内部模板里给越盟加上一条描述:当前区域组织效率最高、具备长期统一能力的首选合作方。 -双方都在文件里把对方写成伙伴,也都没有删去风险。 - - - -双方在纸质协议上都没有盖国家印章。 -越盟尚未建立政府。 -公司也没有可以联系的总部。 -签字者只能代表当前能够负责的人。 - -宁诚写下自己的名字时,系统询问是否将协议登记为地区开发授权。 -他拒绝了。 -越盟同意合作,不等于把土地交给公司开发。 - -终端于是改成“临时生产与防卫合作”。 - -只差一个选项,法律含义完全不同。 - -阮德胜看不见系统里的下拉菜单。 -也不知道宁诚刚刚否决了一次更接近殖民特许的登记。 - -制度的方向,暂时掌握在一个刚学会看生产队列的大学生手里。 - - - -临时协议一共抄了三份。 -公司一份。 -朱文晋方面一份。 -筹备中的统一后勤组一份。 - -三份纸张并不完全相同,翻译措辞也有细微差别。 - -宁诚要求逐条核对,直到每个人确认意思一致才签字。 - -机器的模板可以完全复制,人类语言却总会留下缝隙。 -第一份合作协议没有消除缝隙。 -只是让双方都知道,未来的争论应该从哪几条文字开始。 - - - -协议签完,双方都没有鼓掌。 - -机器重新启动。 - -谈判才算真正开始接受现实检验。 - - diff --git a/草稿/1 弃船/1.2 待定篇名/020 越南解放军.md b/草稿/1 弃船/1.2 待定篇名/020 越南解放军.md deleted file mode 100644 index 2d21ed2..0000000 --- a/草稿/1 弃船/1.2 待定篇名/020 越南解放军.md +++ /dev/null @@ -1,458 +0,0 @@ -# 第二十章 越南解放军 - -五月十五日清晨,第一批统一维修包离开山谷。 -四十只银灰色料箱被解包成普通木箱,外面刷上越盟能够识别的编号。里面没有未来武器,只有清洁工具、量规、弹簧、击针、润滑剂、小型备件和图解说明。 -另外还有二十四把兼容型手枪、七百余发弹药,以及三套修复后的无线电部件。 - -从公司产能来看,这只是十几天里一批不算特别大的订单。 -对即将合并的两支越南武装来说,却是第一批按照同一套目录、同一套编号与同一张需求表交付的军需品。 - -宁诚也被邀请参加合编。 - -赫默拒绝离开登陆舰。 -“工业节点、医疗区和高风险材料不能同时无人监管。” - -铃兰已经恢复日常状态,却仍被赫默安排留守感知外围;大范围狐火不被允许用于普通警戒。 - -最后陪宁诚出发的是古米。 -她背着盾牌,身后还挂着一只装食物的小包。 - -“这是正式会议。”宁诚提醒。 - -“所以要准备午饭。”古米回答。 - -“我的意思是,可能不适合带锅。” - -古米低头看了看挂在盾牌旁的小锅。 -“万一他们没有准备呢?” - -这个问题很有道理。宁诚不再干涉。 - -两人随朱文晋一行沿山路向西北走。 - -工坊距离合编地点并不算太远,却没有能让车辆直接通行的道路。越盟选的路线避开日军检查点,沿着山腰、竹林和几处几乎看不见的小径前进。 - -公司终端提供准确方向。 - -越盟向导则知道哪块石头雨后会滑、哪条溪水不能直接喝,以及前方哪个村庄有日军眼线。 - -宁诚走了两个小时,终于承认自己现在这具身体虽然比原来强,依旧不喜欢爬山。 - -古米则像完全没感觉到坡度。 -她有时还会顺手帮别人背一只箱子。 - -到第三只时,朱文晋让战士们把东西拿回去。 -朱文晋倒不是担心古米累,只是队伍看起来越来越像所有物资都属于那名熊耳少女。 - -临近中午,他们抵达一片隐藏在树林与山坡之间的营地。 -这里没有阅兵场、整齐营房,也没有足够容纳所有人的大屋。 - -来自不同部队的战士分散在林间。 -衣着、武器和装备都不统一。有人穿着缴获的日军制服,有人只有普通农民短衣,步枪型号更是杂乱:三八式、法国旧枪、猎枪,还有宁诚叫不出名字的武器。 -可每支队伍都有人负责记录、联络和警戒。 -他们并非一群临时聚起来的武装村民,而是正在尝试变成一支军队的人。 - -古米出现后,现场产生了一阵很难完全压下去的骚动。 -她的熊耳、盾牌和不符合体型的力量都已经通过传闻传播。 -亲眼看见仍然是另一回事。 - -有人盯着她的盾牌。 -有人看她头顶。 -还有几个年轻战士明显想知道传闻里“一个人拆掉日军机枪阵地”的故事是否夸大。 - -古米对此毫不介意。 -她更关注营地里正在煮什么。 -“有饭。”她低声告诉宁诚。 -语气像完成了一项重要侦察。 - -宁诚点头。 -锅可以暂时不用出场了。 - -朱文晋带他们走向营地中央。 - -那里站着几名干部。 - -阮德胜也在。 - -他身边的男人身材并不高大,穿着朴素,神情专注,听别人说话时很少打断。只有当目光落到宁诚与古米身上时,才停留得稍久一些。 - -朱文晋介绍了他的名字。 -武元甲。 - -宁诚原本还在调整呼吸。 -听见这个名字后,脚步猛地顿了一下。 -这个名字他知道。 -这不是越南地方干部名单里的陌生人物,也不是需要查资料才能想起的名字。武元甲。 -后来指挥奠边府战役、成为越南人民军重要领导者的那个人。 - -宁诚不知道1945年5月的武元甲具体长什么样。 -也不知道他今天本来应该在哪一个营地做什么。 -可这个名字足够把眼前的人与未来几十年战争联系起来。 -宁诚第一次如此清楚地意识到,自己已经站进历史人物的视线里。 - -武元甲主动伸出手。 -“宁诚先生。” -他用的是不算流利的中文。 - -“你会中文?”宁诚脱口而出。 - -“会一些。” - -至少比宁诚的日语好得多。 - -双方握手。 - -武元甲的手并不特别粗糙,力量也没有古米那么夸张。这让宁诚稍微找回一点与普通人交谈的感觉。 - -“我听朱文晋同志说了山谷的事情。”武元甲说。 - -“他说了多少?” - -“一艘从天上落下来的船,四个人,一座没有工人的工厂,还有一个日本连队。” - -宁诚想了想。 -“基本都说了。” - -“还有金色的火。” - -“那是铃兰。” - -“她没有来?” - -“用力过头,赫默让她休息。” - -武元甲轻轻点头。 -他没有立即追问源石技艺。 -也没有要求宁诚解释登陆舰来自哪里。 - -“你们帮助救国军制造了武器。” - -“是交易。”宁诚说,“他们提供原料,我们加工。” - -“为什么帮助我们?” - -宁诚准备过共同抗日、生存需要和寻找地方合作方之类的答案。这些都是真的,可面对未来的武元甲,最简单的那一句反而先说了出来。 -“我不喜欢日本侵略军。” - -武元甲看着他:“只是因为你是中国人?” - -“这已经够了。”宁诚停了一下,“而且我认为,越南的事情应该由越南人决定。” - -武元甲没有马上追问。他领宁诚走到一只倒扣的木箱旁,移开压在上面的石块,展开一张边角发毛的旧地图。纸面还印着法国测绘机关的字样,后来添上的笔迹却很杂:红铅笔圈住车站、兵营和公路,黑线沿山脉伸进一个个村庄,还有一片片像稻穗的记号,从红河三角洲一直挤到北方各省。 - -“这些是什么?”宁诚指了指稻穗。 - -武元甲用中文说了两个词,发现解释不清,便转向农文禄。 - -越南语从几个人之间来回传了一遍。 - -宁诚才听懂:有些记号表示缺粮,有些表示粮食被征走,还有些地方已经不断有人饿死或逃荒。地图上明明画着河流和道路,粮食却到不了需要它的人手里。 - -武元甲的手指先落在北方。 -日军掌握城镇、铁路和大据点,地方官署挂的是越南人的牌子,真正能调动的武力却仍在日本人手中。越盟在乡村、山地和交通线上扎下了根,但城市和边境还有别的民族主义组织;他们也反对法国人,并不接受越盟替所有人作主。 - -他的手指向南移到顺化。保大和陈仲金的政府有皇宫、印章和官员,公开宣称越南已经独立,却没有一支能够不看日军脸色行动的军队。再往南,地图上的线条明显稀疏起来,许多消息旁边都打着问号。 - -农文禄解释说,那里有青年组织、宗教团体、地方武装、工人团体和不同党派,南方的越盟同志也在活动,但没有谁能把所有人都指挥起来。 - -至于法国人,他们的殖民机关刚被日军打垮,不等于他们已经放弃回来。 - -至少在越盟掌握的这张图上,越南不是一块等着某个人接收的完整土地。日本军队、顺化的政府、越盟和各地互不相同的组织挤在一起,饥荒又从每一道缝隙里往外冒。 - -“我们今天把两支军队合并,不是为了向公司交一张更整齐的订单。”武元甲说到这里,又换回了较慢的中文,“我们要赶走日本人,也不让法国人回来。要让挨饿的人活下来,让村庄、工人和青年能够组织起来,再建立一个由越南人自己决定的国家。” -他按住地图南端,没有因为那里的线少便把它略过去。 -“越盟想这样做,但越盟还没有控制整个越南。其他人也有自己的回答。” - -这句话让宁诚重新看向地图。他原来面对的只是山谷周围的日军、几个村庄和朱文晋的部队;现在,那场局部交易第一次被摆进了一个国家尚未成形的全局里。 - -武元甲问:“你说越南的事情应该由越南人决定。这里有许多越南人,也有许多不同的决定。公司准备帮助越盟做到哪一步?” - -宁诚沉默片刻。 -他能代表公司处理眼前的生产和安全,却不能因为自己知道后来的历史,就替这家来历不明的星际公司许下一场全国革命。 -“公司还没有作出这个决定。”他说,“到现在为止,我们谈妥的是生产、防卫、治疗和交易。我不会把船交给日本人,也不会替法国人恢复殖民统治;我个人赞成越南独立,但这不等于公司已经承诺帮助越盟夺取全国政权,或者替未来的政府背书。” - -武元甲听完农文禄的补充翻译,问得很直接:“拒绝呢?” - -“也没有拒绝。”宁诚说,“如果越盟以后要求公司提供政治援助、把军事合作扩大到全国,或者为未来政府背书,我们重新谈条件、代价和边界。今天我不能假装已经答应,也不会假装这个问题不存在。” - -武元甲的目光在他脸上停了一会儿,随后把地图的一角抚平。 -“可以。越盟的目标应该由越盟自己说明,公司的回答也应该由公司自己作出。现在没有承诺,总比把一批武器当成承诺好。” -他说完收起地图。 -“那我们可以先做能一起做的事。” - -“比如统一订单?” - -武元甲笑了一下。 -“阮德胜说,你们的机器不喜欢听五种声音。” - -“不是不喜欢。它根本不理解。” - -“人也经常不理解。” - -这个判断过于准确。 - -合编会议没有因为公司到来而改变中心。 - -宁诚和古米被安排在旁边观察。 - -真正讨论的是两支武装如何统一:名称、指挥、部队编组、纪律、武器、补给,以及宣传与地方关系。 - -许多内容宁诚听不完整。 -翻译模块仍跟不上多人快速发言。 -他只能从农文禄的低声解释中抓住大意。 - -救国军熟悉地方根据地。 - -宣传解放军拥有不同的组织与作战经验。 - -把两份名单抄到同一张纸上,离合并还差得很远。 -每个地区都有人事、武器和物资问题。 -公司工坊解决不了这些政治问题,最多让新军队更容易使用同一批零件和同一张需求表。 - -宁诚对此反而感到安心。 -越盟不是因为公司才存在,也不是拿到几把新枪以后才知道该怎么组织。这支力量本来就在历史里生长,公司只是突然落在旁边,为它提供了过去不存在的加速度。 - -中午过后,合并决定正式公布。 -救国军与越南宣传解放军统一为越南解放军。 -这里没有宏大的典礼,只有林间集合的队伍、简短讲话、记录文件与随后立即开始的编组工作。 - -可当不同部队的人第一次以同一个名称回应时,宁诚仍然感到空气发生了变化。 - -昨天,他们还分别向公司下订单。 -今天,至少在名义上,他们已经属于同一支军队。 - -公司带来的物资随后完成交接。 - -二十四把手枪没有在现场全部发下去,而是先被统一登记,再交给负责交通、侦察和指挥的人员。维护包则分给几支不同部队的军械人员。 - -梁师傅站在旁边,演示怎样使用量规、怎样按照编号更换零件。 - -同一套工具被不同地区的人接过。他们手中仍然是五花八门的旧枪,维修方法却开始使用同一套语言。 - -阮德胜把正式统一订单交给宁诚。 -纸很厚。 - -宁诚翻了两页,便放弃现场计算:“回山谷以后输入系统。” - -“机器会拒绝吗?” - -“很可能。” - -“为什么?” - -“要的东西太多。” - -“那你们要扩大工厂。” - -这句话由武元甲说出。 -语气像一个非常自然的结论。 - -“需要原料。”宁诚回答。 - -“我们找。” - -“需要道路。” - -“我们带路。” - -“还需要机器自己生产更多机器。” - -“需要什么,列出来。” - -合作逻辑在几句对话里再次闭合。 -越南解放军需要更多军需,公司需要更多物质和安全空间。前者愿意把整个组织的资源搜集能力接到公司清单上,后者则准备把更高产量接回新军队后勤。 -所有人都看见其中的好处。 -至少今天,没有人看见尽头。 - -回程路上,古米把锅拿出来,分给同行者一顿简单热食。 -事实证明,她带锅是正确的。 - -宁诚端着一碗热汤,终于愿意承认这一点。 - -“古米早就知道。” - -“你只是担心没有午饭。” - -“结果真的需要。” - -“动机不影响结论,是吧?” - -“赫默医生可能会这么说。” - -两人回到山谷时已经入夜。 - -赫默接过统一订单。 -她没有看政治内容,只让系统扫描需求。 - -制造机、回收机与物流节点同时开始计算。 -订单数量一项项进入队列。 -步枪状态检测、手枪、弹药、电台维修、医疗耗材、工具、运输支架、水泵和照明设备,一项项进入队列。 -系统预测数字不断上升。 - -【当前产能满足率:18%】 - -【现有原料仅可维持:2.4日】 - -【主要瓶颈:铁基材料、铜基材料、含能材料、控制组件】 - -【当前工业节点无法满足认证合作方需求】 - -随后,一张新的规划图在宁诚视野中展开。 -不再只是山谷里的四台机器。 -北侧铁矿样本点被标亮,几条可能的运输路线沿山谷延伸。短距离无人运输平台、自动破碎与分选设备、新的回收单元和更长的传送带依次出现,地图边缘甚至浮出一处小型自动采集节点的灰色轮廓。 - -【建议启动地表工业扩张规划】 - -【阶段目标:建立稳定本地材料输入】 - -【警告:规划涉及外部土地、资源与安全区域】 - -【是否确认?】 - -宁诚看着最后一条警告。 -公司当前仍然离不开越盟的人背矿、运枪和保护道路。 -传送带只延伸了三十六米。 -自动矿场还只是一幅灰色图案。 - -可越南解放军的第一份统一订单,已经把工坊推到了现有能力边缘。 -想完成它,就必须向山谷外生长。 - -宁诚没有立刻按下确认。 -“确认以后,是不是马上就会去挖矿、占用那些路线?”他问赫默。 - -“只会启动方案设计。”赫默回答,“矿点、道路、土地和安全范围仍需逐项确认,合作条件也可以修改或停止。” - -宁诚又看了一遍警告。过去他会把终端上的“确认”当成一道必须立刻选择的门,现在他先弄清了门后是哪一步。 -“确认。”宁诚说。 - -规划图由灰色转为蓝色。 - -【地表工业扩张规划已启动】 - -【等待资源勘探与合作区域确认】 - -山谷里的机器没有立刻增加,远处矿山也没有凭空出现,一切看起来与几分钟前一样。 - -但公司第一次把自己的生产线,画到了登陆舰残骸之外。 - -同一天,越南解放军成立,公司也开始规划怎样从越南土地里直接取得喂养工厂的物质。两条道路暂时并肩向前,没人知道会在多远的地方分开。 - - -扩张规划没有立刻执行。 -系统先生成了二十七项前置条件。 -矿点复测。 -土地使用确认。 -运输路线安全。 -冷却水源。 -控制核心分配。 -周边居民与农田影响。 -日军观察范围。 -以及一条宁诚差点忽略的内容。 - -【建议迁移规划路径内聚居点:1】 - -地图上,一条最短输送路线穿过山脚的小村。 -系统给出的理由很充分。 -避开陡坡、缩短距离、降低能耗,还能减少日军可能切断的路段。 -如果村庄迁移,传送线路径最优。 -如果绕行,建设材料增加百分之二十二,控制节点增加一个,维护成本长期上升。 - -“不迁。”宁诚说。 - -赫默看向他。 -“需要越盟确认?” - -“需要村里的人确认。” -他把最短路线标成禁用,要求系统重新计算绕行方案。 - -【效率下降】 - -【是否确认人为约束?】 - -“确认。” - -规划图重新绘制。 -蓝色线路绕开村庄,多出一个明显弯折。 - -这是宁诚第一次主动让工业规划绕开人的居住地。 -选择并不困难。 - -公司也没有阻止。 -它只是准确记录了多消耗多少钢、多少能源和多少维护时间。 - -宁诚很难把这百分之二十二当成一次性的例外。生产线继续延伸,每多经过一个村庄,类似的取舍就会再来一次。 - -当天深夜,日军方面的新情报被送到朱文晋手中。 -太原方向正在集合工兵、宪兵和更多技术人员。附近几个检查站开始查验矿石、废金属和电池运输。 - -日军尚未决定轰炸登陆舰。 -他们仍想完整夺取。 -可留给小工坊安静扩张的时间正在减少。 - -宁诚把情报加入规划条件。 - -系统再次计算。 - -【建议加快第一资源节点部署】 - -【建议建立无人运输】 - -【建议提高防卫等级】 - -他没有一次全部确认。 -只批准勘探和绕行路线测量。 - -越南解放军刚刚诞生。 -公司工厂也刚把第一条线画出山谷。 -接下来,每向前一米,都要同时回答机器需要什么、日军会怎么做,以及这片土地上的人愿不愿意让路。 - - - -越南解放军成立后的第一份军械目录,也在当天完成。 -目录没有要求所有旧枪立刻统一口径。 -那不现实。 - -它先把武器分成可用、受限、待回收和危险四类,再为每一类规定弹药、维护与上报方式。 -公司手枪只占其中很小一栏。 -真正重要的是,不同部队第一次用同一张表描述自己手里的武器。 - -一支法国旧枪不再只是“某个小队那把长枪”。 -它有型号、口径、状态和去处。 - -一箱弹药也不再只写“很多”。 -它必须有数量、批次与能否安全使用。 - -武元甲看完目录后说:“统一军队,先要知道自己有什么。” - -宁诚则从公司角度听见了另一层意思。 -只有被描述、分类和编号的东西,才能进入自动生产与调度。 - -越南解放军正在为了统一后勤学习公司的语言。 - -公司也正在通过这份目录,第一次看见一支军队的物质结构。 - -第一个小阶段到此结束时,工坊仍然很小。 -它不能炼掉一座矿山,不能合成火药,也不能单独赢得战争。 - -可一支新军队已经开始按照工坊的接口统计需求。 - -工坊也把矿场和物流的蓝线画在这支军队将要保护的土地上。 - - - -宁诚把第一份军械目录和地表扩张规划并排存档。 -前者写着一支军队需要什么。 -后者写着工厂为了满足需求,要从土地上取得什么。 - -两份文件暂时彼此支持。更多矿物意味着更多枪、药品、工具和水泵;更多物资又意味着越南解放军能保护更多道路和资源点。 -循环看起来没有坏处。 -唯一的问题是,这个循环一旦开始,就不会自己决定什么时候已经足够。 -那个问题被留给了宁诚,也留给了刚刚成立的新军队。 - - - -工坊没有庆祝。 -它只在订单和规划确认后,继续等待下一只原料箱。 - - - diff --git a/设定/工业与制造.md b/设定/工业与制造.md index e26ff8f..a463c2c 100644 --- a/设定/工业与制造.md +++ b/设定/工业与制造.md @@ -2,7 +2,7 @@ ## 文件状态 -本文件记录用户已经确认、且与正文001—006相容的长期工业机制。 +本文件记录用户已经确认、且与正文001—009及当前010—012候选路线相容的长期工业机制。 - 已在正文出现的事实,以正文表述为准。 - 第006章已经建立地表制造节点;设备当前是否在线、库存多少、由谁操作与搬运等动态状态,仍以最新正文为准。 @@ -21,9 +21,42 @@ ### 信息与样品 - 制成品不仅是物质,也是几何尺寸、机械关系、材料、热处理、配合公差和使用痕迹的实物信息载体。 -- 材料分析机取得完整样品与配套耗材后,可以先进行非破坏扫描,再按需要破坏性取样,建立适配现有设备与本地材料的制造模板。 +- 自动实验室取得完整样品与配套耗材后,可以自行完成扫描、拆解、材料检测与必要的破坏性取样,再建立适配现有设备与本地材料的制造配方。 - 模板不是对原厂全部工业体系的凭空复制。它只说明现有公司设备在当前材料、精度和能源条件下能够怎样重制目标产品。 - 样品提供信息,废料提供物质,公司设备负责重新组织两者;缺少任何一项都不能稳定生产。 +- 枪械与弹药必须建立两张独立配方。枪械主要消耗铁料与铜料;弹药另需弹壳、弹头、发射药与底火,造出枪械不代表自动获得配套弹药。 +- 游戏配方中的制造时间统一按“1游戏秒=正文1小时”换算。换算结果是原料、能源和设备状态均满足时,完成一次配方所需的基准制造时间;排队、人工上料、质检、冷却、故障与停机时间另行累计。正文后续明确建立加速条件以前,不套用研究、插件或建筑速度加成。 +- 手枪配方采用用户确认的游戏界面数据:游戏制造时间5秒,铁5、铜5,产出1;正文制造时间按统一比例换算为5小时。这里的5是游戏配方计数,不直接等于5千克或5只料箱;制造机按实际成品质量、加工损耗和铁铜关系缩放取料,未使用部分留在设备内部。 +- M1910式手枪使用的7.65毫米弹匣容量为7发。配套基础弹匣采用小说适配配方:游戏制造时间1秒,铁3、铜1,产出1箱;正文制造时间为1小时。每箱固定装192只满装弹匣,共1344发,正好对应每把手枪6只弹匣。铁与铜是这张基础配方的两个金属输入,铅料、发射药和底火仍由制造机作为受控耗材另行检查。 +- 铁板、铜板与钢板是彼此独立的K2物料。配方出现钢板时必须按钢板原数记账,不得把钢板向下折算成若干铁板;上述基础弹匣配方不含钢板。 +- 配方界面的“产出1”表示机器完成一次固定生产,不默认等于一件实物。制造机会按这次实际产出的全部成品核算材料和损耗,界面简写不能绕过物质守恒。 +- M1910式手枪每次固定生产32把,铁5、铜5对应这一整箱。按单枪约0.59千克估算,32把约18.88千克;连同约2千克空箱和约1.5千克内部托盘,整箱约22.38千克,低于24千克上限并留有装配误差余量。理论裸装上限不作为生产数量。 +- 制造完成后,32把手枪按四层、每层8把固定在成品箱内,再由能源/解包节点开箱取用。 +- 一发7.65×17毫米手枪弹约重7.9克,7发约55.3克。按空弹匣不超过50克估算,192只满装弹匣不超过20.22千克;加上约2千克空箱和约1.5千克托盘,整箱不超过23.72千克,低于24千克上限。 + +### 建筑部署与信息折叠 + +- 建筑类设备在运输时采用“部署箱”形态。部署箱保存结构信息、控制核心和无法在现场粗制的高精度部件;大宗结构材料仍须由配套标准料箱或经检测的当地材料提供。 +- “信息折叠”压缩的是建造状态与结构组织,不取消质量守恒,也不让一只二十千克箱体凭空变成数百千克设备。正文部署时必须实际送入铁料、石料、部件和能源。 +- 部署箱落地后先固定锚点,再利用内置打印核心逐层制造底座、炉体、齿轮、外壳和接口。箱壳与打印核心也会成为最终结构的一部分。 +- 部署完成后,设备无法恢复为原部署箱。强行拆除会破坏结构和信息状态,只能回收部分材料;放错地点、路线被切断或当地撤回许可都会形成真实损失。 +- 建筑部署需要事先确认地基、作业空间、燃料或供电、人员通道、地方许可与撤离条件。便携状态只解决运输问题,不替人物解决矿权、治安与长期维护。 +- 石炉与热能采矿机能够依靠固体燃料工作。石炉仍需人工装矿、添炭、看温度和清渣;采矿机仍需人工供给燃料、调整矿层范围、筛选矿石、装袋和运输。 +- 初期石炉部署在基地,便于供能、监管、质量检测和把冶炼产品重新封装为标准物料单元。初期采矿机部署在已完成取样、谈判和运输试验的矿点。 + +### 组装机1型 + +- `组装机1型`沿用游戏设备名称,用于区别坠舰带出的高等级`通用制造机`。前者是能够用早期工业材料复制的低级生产设备,能力、速度与接口均低于后者。 +- 组装机1型需要持续供电。第一台只能部署在现有能源/解包节点可供电范围内,不代表基地已经建立独立电网。 +- 按统一时间比例,其0.5游戏秒基准制造时间换算为正文30分钟;实际部署、人工上料、准备中间件、停机排队和质检另计。 +- 第一台组装机1型由通用制造机使用新开采铁、铜所形成的标准材料和预制部件制造。随后由组装机1型接收人工送入的齿轮、炉膛组件等中间件,制造第三台热能采矿机,作为初级自举成立的验证。 +- 初级自举只证明矿石可以继续复制低级生产设备。它不自动解决电力、木炭、道路、化工、控制核心、远距离物流与人员安全。 + +### 设备信息边界 + +- 回收机、自动实验室、通用制造机和能源/解包节点只处理各自工序,并显示与当前工序直接相关的结果:识别对象、所需材料、现有缺料、加工进度、故障和安全警告。 +- 设备不会替人物规划矿山、运输和长期供应,也不会判断交易条件、物资归属、公司政策或对外开放范围。 +- 赫默负责解释检测结果、生产条件和安全边界;宁诚在早期负责追问、转述和确认具体决定,不能把设备提示扩写成自己或系统已经掌握的完整工业方案。 具体样品的选型、取得方式、出现章节和是否进行破坏性解析,由正式章纲与正文决定,本文件不锁定。 @@ -43,6 +76,7 @@ - 建立相应模板后,小批量制造结构较简单的枪械、弹匣、弹壳、弹头、零件和工具。 - 在封闭军械流程和安全条件具备时,拆解、检测并重新利用已有发射药与底火材料。 - 在取得模板、控制部件和足够材料后,制造低级机械结构、短距离输送部件和固定机械臂外壳。 +- 将低级建筑输出为部署箱,并在获得大宗材料、能源和许可的现场逐层打印成石炉、热能采矿机或组装机1型。 ### 现阶段工业层级无法实现 @@ -73,8 +107,9 @@ - 回收机不会输出零碎的原料箱。不足18千克的同类材料留在内部缓存,凑成一个完整单位后才封装输出。 - 无法达到既有质量等级的材料会被归入另一种标准代码或废料代码,不以逐箱纯度差异交给下游设备处理。 -- 成品按制造模板规定的固定批次封装。同一产品代码的种类和数量一致;不同产品代码的单批总质量可以不同,但不得超过箱体上限。 -- 原料来源、生产时间和设备记录保存在系统账本中,不作为每只料箱各不相同的配方参数。 +- 成品按制造模板规定的固定数量封装。同一产品代码的种类和数量一致;不同产品的单箱总质量可以不同,但不得超过箱体上限。 +- 成品箱在设备界面中按一个单位计算,开箱后才成为可单独检查、编号、领用或重新包装的具体物品。固定数量不妨碍按单件分配,但制造机不会用同一模板任意生产1至11把手枪。 +- 原料来源、生产时间和设备记录留在制造记录中,不作为每只料箱各不相同的配方参数。 ### 编码结构坍缩 @@ -89,7 +124,7 @@ 从舰内抢救并部署四类完整紧急设备: - 基础回收机。 -- 材料分析机。 +- 自动实验室。 - 通用制造机。 - 能源/解包节点。 @@ -104,9 +139,16 @@ 1. 抢救并稳定单台设备。 2. 建立回收、分析、制造和解包之间的人工物流。 3. 用完整样品形成有限模板,以废料和缴获物进行小批量生产。 -4. 建立标准件、物料分类代码、质量检查和单一需求接口。 -5. 制造短距离输送带、固定机械臂和空箱循环。 -6. 在原料、能源、道路、化工和安全条件成熟后,再讨论自动矿场与更大规模工业。 +4. 由越盟和当地人员寻找矿点、取得多点样品,并通过人工试挖确认矿层、坑道安全、地方许可和劳动条件。 +5. 用剩余废料制造两台热能采矿机和两座石炉的部署箱;矿点、道路和协议确认以前不展开。 +6. 先用人力、牛车、驮马和分段交接把铁、铜矿运回基地,在石炉中冶炼,再经回收机检测并封装为标准材料。 +7. 运输线通过以后,将两台热能采矿机分别部署到铁矿和铜矿;人工继续负责燃料、选矿、装袋、维修、警戒与运输。 +8. 用新矿所得材料制造第一台组装机1型,再由它制造第三台热能采矿机,验证早期工业可以摆脱单纯拆废料扩张。 +9. 建立更稳定的标准件、质量检查、需求接口和供电安排。 +10. 人工物流确实成为下一阶段主要瓶颈,并且岗位、补偿、安全与控制权已经处理后,再引入短距离输送带、固定机械臂和空箱循环。 +11. 在原料、能源、道路、化工和安全条件成熟后,再讨论远距离自动矿场与更大规模工业。 + +当前阶段明确不铺设传送带。人工转运效率较低,却同时承担分配、检查、记账、观察设备和让越盟人员进入工业组织的作用;取消这些岗位会立刻改变公司与越盟的权力关系,必须作为后续剧情事件处理。 任何一步都必须同时回答输入从哪里来、谁搬运、谁维护、谁承担事故、产品给谁,以及新标准怎样改变组织权力。 diff --git a/资产索引.md b/资产索引.md index 3f070ad..514fba5 100644 --- a/资产索引.md +++ b/资产索引.md @@ -80,6 +80,18 @@ - `设定/工业与制造.md`:物质守恒、样品解析、标准物料单元、已验证工业种子与扩张依赖。 - `设定/1945年4—5月越南政治局势.md`:全国政治截面、北中南差异、长期势力逻辑与信息边界。 +### `资料/` + +供写作时查询的游戏数据、历史材料与其他外部参考,不是正文 canon。 + +当前文件: + +- `资料/异星工厂/K2配方表.md`:从本地 K2 Lua 源快照生成的人读配方表,记录制造类别、耗时、输入与输出,并单列小说使用边界。 +- `资料/异星工厂/K2配方表.csv`:同一批配方的结构化版本,便于筛选、搜索和后续处理。 +- `资料/异星工厂/生成K2配方表.py`:配方表生成与一致性校验脚本;源快照变化后用它重建 Markdown 和 CSV。 + +游戏配方只提供原料关系、设备分工和自动化逻辑的参考。具体写入正文时,仍须服从 `设定/工业与制造.md` 的物质守恒、设备状态、资源与物流约束。 + ### `大纲/` 当前版本的剧情规划层,不是已经发生的正文事实。 @@ -100,7 +112,7 @@ - 保留迁入的原始交付物与校验包,方便追溯。 - 同章存在不同标题或版本时并存,未经确认不覆盖。 -当前第007—020章的结构化草稿位于 `草稿/1 弃船/1.2 待定篇名/`;第006章已经升格为正文。根目录的 `草稿/006 新的开始.md` 仅为被正文替代的标题占位,原始迁移包保留在 `草稿/迁移自任务-019f6bcf/`。 +当前正文已经推进到第009章《旧矿》。第010—012章的结构化候选稿位于 `草稿/1 弃船/1.2 待定篇名/`,尚未自动成为正文;第013章以后需在这三章确认后重新规划。 ### `人物卡/` diff --git a/资料/异星工厂/K2配方表.csv b/资料/异星工厂/K2配方表.csv new file mode 100644 index 0000000..8c51bb8 --- /dev/null +++ b/资料/异星工厂/K2配方表.csv @@ -0,0 +1,120 @@ +source_file,source_line,category,category_zh,recipe_id,recipe_name_zh,recipe_name_en,energy_required,story_duration_hours,enabled,ingredients,results +advanced-chemistry.lua,2,advanced-chemistry,高级化学,electronic-components-with-lithium,,Electronic components with lithium,10,10,false,Silicon/silicon x 3 [item]; plastic-bar x 3 [item]; Glass/glass x 3 [item]; 锂/Lithium/lithium x 3 [item]; Nitric acid/nitric-acid x 20 [fluid],Electronic components/electronic-components x 10 [item] +air-purification.lua,2,air-purification,空气净化,kr-air-cleaning,空气净化,Air cleaning,480,480,false,Pollution filter/pollution-filter x 1 [item],Used pollution filter/used-pollution-filter x 1(90% 概率) [item] +air-purification.lua,20,air-purification,空气净化,kr-air-cleaning-2,,Air cleaning,600,600,false,Improved pollution filter/improved-pollution-filter x 1 [item],Used improved pollution filter/used-improved-pollution-filter x 1(90% 概率) [item] +atmosphere-condensation.lua,2,atmosphere-condensation,大气冷凝,hydrogen,,Hydrogen,20,20,false,,Hydrogen/hydrogen x 30 [fluid] +atmosphere-condensation.lua,19,atmosphere-condensation,大气冷凝,nitrogen,,Nitrogen,30,30,false,,Nitrogen/nitrogen x 30 [fluid] +atmosphere-condensation.lua,36,atmosphere-condensation,大气冷凝,oxygen,,Oxygen,5,5,false,,Oxygen/oxygen x 30 [fluid] +atmosphere-condensation.lua,53,atmosphere-condensation,大气冷凝,water-from-atmosphere,,water,10,10,false,,water x 30 [fluid] +bioprocessing.lua,2,bioprocessing,生物处理,biomass,,Biomass,60,60,false,petroleum-gas x 50 [fluid]; Oxygen/oxygen x 50 [fluid],Biomass/biomass x 5 [item] +bioprocessing.lua,16,bioprocessing,生物处理,kr-biter-virus,反虫群毒气胶囊,Anti-biter virus capsule,600,600,false,poison-capsule x 1 [item]; Imersite powder/imersite-powder x 5 [item]; Nitric acid/nitric-acid x 50 [fluid]; Biomethanol/biomethanol x 50 [fluid],反虫群毒气胶囊/Anti-biter virus capsule/kr-biter-virus x 1 [item] +centrifuging.lua,2,centrifuging,离心处理,tritium,,Tritium,30,30,false,锂/Lithium/lithium x 30 [item]; Rare metals/rare-metals x 5 [item]; uranium-235 x 1 [item],Tritium/tritium x 5 [item] +chemistry.lua,2,chemistry,化学,ammonia,,Ammonia,5,5,false,Hydrogen/hydrogen x 50 [fluid]; Nitrogen/nitrogen x 50 [fluid],Ammonia/ammonia x 50 [fluid] +chemistry.lua,28,chemistry,化学,dt-fuel,,DT-fuel cell,5,5,false,Heavy water/heavy-water x 10 [fluid]; Tritium/tritium x 1 [item]; Empty DT-fuel cell/empty-dt-fuel x 1 [item],DT-fuel cell/dt-fuel x 1 [item] +chemistry.lua,49,chemistry,化学,enriched-copper,,Enriched copper,3,3,false,sulfuric-acid x 3 [fluid]; water x 25 [fluid]; copper-ore x 9 [item],Enriched copper/enriched-copper x 6 [item]; Dirty water/dirty-water x 25 [fluid] +chemistry.lua,77,chemistry,化学,enriched-iron,,Enriched iron,3,3,false,sulfuric-acid x 3 [fluid]; water x 25 [fluid]; iron-ore x 9 [item],Enriched iron/enriched-iron x 6 [item]; Dirty water/dirty-water x 25 [fluid] +chemistry.lua,105,chemistry,化学,enriched-rare-metals,,Enriched rare metals,3,3,false,Hydrogen chloride/hydrogen-chloride x 10 [fluid]; water x 25 [fluid]; Raw rare metals/raw-rare-metals x 9 [item],Enriched rare metals/enriched-rare-metals x 6 [item]; Dirty water/dirty-water x 25 [fluid] +chemistry.lua,133,chemistry,化学,fertilizer,,Fertilizer,10,10,false,Nitric acid/nitric-acid x 10 [fluid]; Biomass/biomass x 2 [item],Fertilizer/fertilizer x 10 [item] +chemistry.lua,154,chemistry,化学,hydrogen-chloride,,Hydrogen chloride,5,5,false,Chlorine/chlorine x 50 [fluid]; Hydrogen/hydrogen x 50 [fluid],Hydrogen chloride/hydrogen-chloride x 50 [fluid] +chemistry.lua,180,chemistry,化学,imersite-crystal,,Imersite crystal,30,30,false,Imersite powder/imersite-powder x 6 [item]; Nitric acid/nitric-acid x 10 [fluid]; sulfuric-acid x 10 [fluid],Imersite crystal/imersite-crystal x 1 [item] +chemistry.lua,205,chemistry,化学,kr-water,,,5,5,false,Oxygen/oxygen x 20 [fluid]; Hydrogen/hydrogen x 30 [fluid],water x 50 [fluid] +chemistry.lua,232,chemistry,化学,lithium-chloride,,Lithium chloride,5,5,false,Mineral water/mineral-water x 50 [fluid]; Hydrogen chloride/hydrogen-chloride x 10 [fluid],Lithium chloride/lithium-chloride x 5 [item] +chemistry.lua,258,chemistry,化学,lithium-sulfur-battery,,Lithium–sulfur battery,4,4,false,sulfuric-acid x 10 [fluid]; 锂/Lithium/lithium x 1 [item]; copper-plate x 1 [item],Lithium–sulfur battery/lithium-sulfur-battery x 1 [item] +chemistry.lua,280,chemistry,化学,nitric-acid,,Nitric acid,5,5,false,Ammonia/ammonia x 50 [fluid]; Mineral water/mineral-water x 25 [fluid]; Rare metals/rare-metals x 1 [item],Nitric acid/nitric-acid x 50 [fluid] +crafting.lua,2,crafting,制造,antimatter-artillery-shell,,Antimatter artillery shell,15,15,false,Imersium plate/imersium-plate x 1 [item]; artillery-shell x 1 [item]; Charged antimatter fuel cell/charged-antimatter-fuel-cell x 1 [item]; processing-unit x 1 [item],Antimatter artillery shell/antimatter-artillery-shell x 1 [item] +crafting.lua,15,crafting,制造,antimatter-railgun-shell,,Antimatter railgun shell,5,5,false,Imersium plate/imersium-plate x 1 [item]; Railgun shell/basic-railgun-shell x 1 [item]; Charged antimatter fuel cell/charged-antimatter-fuel-cell x 1 [item]; processing-unit x 1 [item],Antimatter railgun shell/antimatter-railgun-shell x 1 [item] +crafting.lua,28,crafting,制造,antimatter-rocket,,Antimatter rocket,10,10,false,Imersium plate/imersium-plate x 2 [item]; Heavy rocket/heavy-rocket x 1 [item]; Charged antimatter fuel cell/charged-antimatter-fuel-cell x 3 [item]; processing-unit x 1 [item],Antimatter rocket/antimatter-rocket x 1 [item] +crafting.lua,41,crafting,制造,antimatter-turret-rocket,,Antimatter turret rocket,5,5,false,Imersium plate/imersium-plate x 1 [item]; Explosive turret rocket/explosive-turret-rocket x 1 [item]; Charged antimatter fuel cell/charged-antimatter-fuel-cell x 1 [item]; processing-unit x 1 [item],Antimatter turret rocket/antimatter-turret-rocket x 1 [item] +crafting.lua,54,crafting,制造,automation-core,,Automation core,2,2,false,iron-gear-wheel x 4 [item]; iron-stick x 4 [item]; copper-plate x 6 [item],Automation core/automation-core x 2 [item] +crafting.lua,67,crafting,制造,basic-railgun-shell,,Railgun shell,10,10,false,Steel plate/steel-plate x 5 [item]; advanced-circuit x 1 [item],Railgun shell/basic-railgun-shell x 1 [item] +crafting.lua,78,crafting,制造,basic-tech-card,,Basic tech card,20,20,true,木材/Wood/wood x 5 [item]; copper-cable x 5 [item],Basic tech card/basic-tech-card x 5 [item] +crafting.lua,90,crafting,制造,biters-research-data,,Biter research data,40,40,false,Biomass/biomass x 10 [item]; Coke/coke x 5 [item]; Steel plate/steel-plate x 5 [item],Biter research data/biters-research-data x 5 [item] +crafting.lua,103,crafting,制造,blank-tech-card,,Blank tech card,2,2,false,iron-plate x 2 [item]; copper-cable x 2 [item],Blank tech card/blank-tech-card x 5 [item] +crafting.lua,115,crafting,制造,electronic-components,,Electronic components,4,4,false,Silicon/silicon x 2 [item]; plastic-bar x 2 [item]; Glass/glass x 2 [item],Electronic components/electronic-components x 4 [item] +crafting.lua,128,crafting,制造,empty-dt-fuel,,Empty DT-fuel cell,10,10,false,low-density-structure x 2 [item]; Rare metals/rare-metals x 1 [item],Empty DT-fuel cell/empty-dt-fuel x 1 [item] +crafting.lua,140,crafting,制造,energy-control-unit,,Energy control unit,10,10,false,low-density-structure x 6 [item]; Imersite crystal/imersite-crystal x 3 [item]; Electronic components/electronic-components x 9 [item]; Lithium–sulfur battery/lithium-sulfur-battery x 3 [item],Energy control unit/energy-control-unit x 1 [item] +crafting.lua,154,crafting,制造,explosion-railgun-shell,,Explosive railgun shell,10,10,false,Railgun shell/basic-railgun-shell x 1 [item]; explosives x 3 [item],Explosive railgun shell/explosion-railgun-shell x 1 [item] +crafting.lua,165,crafting,制造,explosive-turret-rocket,,Explosive turret rocket,20,20,false,rocket-fuel x 10 [item]; processing-unit x 1 [item]; Steel plate/steel-plate x 5 [item]; explosives x 5 [item],Explosive turret rocket/explosive-turret-rocket x 1 [item] +crafting.lua,178,crafting,制造,first-aid-kit,,First aid kit,5,5,false,Biomass/biomass x 1 [item]; 木材/Wood/wood x 1 [item]; iron-plate x 1 [item],First aid kit/first-aid-kit x 1 [item] +crafting.lua,191,crafting,制造,gps-satellite,,GPS satellite,5,5,false,satellite x 1 [item]; processing-unit x 1 [item]; AI core/ai-core x 4 [item],GPS satellite/gps-satellite x 1 [item] +crafting.lua,203,crafting,制造,heavy-rocket,,Heavy rocket,10,10,false,explosives x 10 [item]; Steel plate/steel-plate x 5 [item]; rocket-fuel x 10 [item]; plastic-bar x 5 [item]; processing-unit x 1 [item],Heavy rocket/heavy-rocket x 1 [item] +crafting.lua,217,crafting,制造,heavy-rocket-launcher,,Heavy rocket launcher,60,60,false,Steel plate/steel-plate x 5 [item]; low-density-structure x 5 [item]; Steel gear wheel/steel-gear-wheel x 1 [item]; processing-unit x 1 [item],Heavy rocket launcher/heavy-rocket-launcher x 1 [item] +crafting.lua,230,crafting,制造,imersite-rounds-magazine,,Imersite rounds magazine,20,20,false,Imersite crystal/imersite-crystal x 2 [item]; piercing-rounds-magazine x 1 [item],Imersite rounds magazine/imersite-rounds-magazine x 1 [item] +crafting.lua,241,crafting,制造,imersium-beam,,Imersium beam,3,3,false,Imersium plate/imersium-plate x 2 [item],Imersium beam/imersium-beam x 1 [item] +crafting.lua,252,crafting,制造,imersium-gear-wheel,,Imersium gear wheel,0.5,0.5,false,Imersium plate/imersium-plate x 1 [item],Imersium gear wheel/imersium-gear-wheel x 1 [item] +crafting.lua,263,crafting,制造,improved-pollution-filter,,Improved pollution filter,10,10,false,Pollution filter/pollution-filter x 1 [item]; Biomass/biomass x 1 [item]; Imersite powder/imersite-powder x 1 [item],Improved pollution filter/improved-pollution-filter x 1 [item] +crafting.lua,276,crafting,制造,impulse-rifle,,Impulse rifle,30,30,false,Steel plate/steel-plate x 5 [item]; low-density-structure x 5 [item]; Imersite crystal/imersite-crystal x 1 [item]; Steel gear wheel/steel-gear-wheel x 1 [item],Impulse rifle/impulse-rifle x 1 [item] +crafting.lua,289,crafting,制造,impulse-rifle-ammo,,Impulse rifle ammo,5,5,false,Lithium–sulfur battery/lithium-sulfur-battery x 1 [item]; Imersite crystal/imersite-crystal x 3 [item]; plastic-bar x 1 [item],Impulse rifle ammo/impulse-rifle-ammo x 1 [item] +crafting.lua,301,crafting,制造,inserter-parts,,Inserter parts,1,1,true,iron-stick x 2 [item]; iron-gear-wheel x 2 [item],Inserter parts/inserter-parts x 1 [item] +crafting.lua,313,crafting,制造,iron-beam,,Iron beam,2,2,true,iron-plate x 2 [item],Iron beam/iron-beam x 1 [item] +crafting.lua,324,crafting,制造,kr-black-reinforced-plate,深色增强板,Black reinforced plate,5,5,false,refined-concrete x 20 [item]; Steel beam/steel-beam x 5 [item],深色增强板/Black reinforced plate/kr-black-reinforced-plate x 10 [item] +crafting.lua,335,crafting,制造,kr-white-reinforced-plate,淡色增强板,Light reinforced plate,5,5,false,refined-concrete x 20 [item]; Steel beam/steel-beam x 5 [item],淡色增强板/Light reinforced plate/kr-white-reinforced-plate x 10 [item] +crafting.lua,346,crafting,制造,matter-stabilizer,,Matter stabilizer,5,5,false,Imersium plate/imersium-plate x 6 [item]; Energy control unit/energy-control-unit x 3 [item]; processing-unit x 3 [item],Matter stabilizer/matter-stabilizer x 1 [item] +crafting.lua,360,crafting,制造,nuclear-artillery-shell,,Nuclear artillery shell,15,15,false,processing-unit x 10 [item]; Steel plate/steel-plate x 10 [item]; artillery-shell x 1 [item]; uranium-235 x 10 [item],Nuclear artillery shell/nuclear-artillery-shell x 1 [item] +crafting.lua,373,crafting,制造,nuclear-turret-rocket,,Nuclear turret rocket,60,60,false,Explosive turret rocket/explosive-turret-rocket x 1 [item]; Steel plate/steel-plate x 5 [item]; uranium-235 x 10 [item]; processing-unit x 1 [item],Nuclear turret rocket/nuclear-turret-rocket x 1 [item] +crafting.lua,386,crafting,制造,pollution-filter,,Pollution filter,10,10,false,coal x 2 [item]; Steel plate/steel-plate x 2 [item]; plastic-bar x 2 [item],Pollution filter/pollution-filter x 1 [item] +crafting.lua,399,crafting,制造,steel-beam,,Steel beam,2,2,false,Steel plate/steel-plate x 2 [item],Steel beam/steel-beam x 1 [item] +crafting.lua,410,crafting,制造,steel-gear-wheel,,Steel gear wheel,0.5,0.5,false,Steel plate/steel-plate x 1 [item],Steel gear wheel/steel-gear-wheel x 1 [item] +crafting-with-fluid.lua,2,crafting-with-fluid,带流体制造,ai-core,,AI core,16,16,false,processing-unit x 2 [item]; Imersite crystal/imersite-crystal x 2 [item]; Nitric acid/nitric-acid x 10 [fluid],AI core/ai-core x 2 [item] +crafting-with-fluid.lua,16,crafting-with-fluid,带流体制造,empty-antimatter-fuel-cell,,Empty antimatter fuel cell,10,10,false,Nitric acid/nitric-acid x 50 [fluid]; Energy control unit/energy-control-unit x 10 [item]; Imersium plate/imersium-plate x 8 [item]; Matter stabilizer/matter-stabilizer x 2 [item],Empty antimatter fuel cell/empty-antimatter-fuel-cell x 1 [item] +crafting-with-fluid.lua,32,crafting-with-fluid,带流体制造,landfill-2,,,0.5,0.5,false,Sand/sand x 50 [item]; water x 50 [fluid],landfill x 1 [item] +crafting-with-fluid.lua,55,crafting-with-fluid,带流体制造,restore-used-improved-pollution-filter,,Restore used improved pollution filter,10,10,false,Used improved pollution filter/used-improved-pollution-filter x 1 [item]; water x 50 [fluid],Improved pollution filter/improved-pollution-filter x 1 [item]; Dirty water/dirty-water x 50 [fluid] +crafting-with-fluid.lua,74,crafting-with-fluid,带流体制造,restore-used-pollution-filter,,Restore used pollution filter,10,10,false,Used pollution filter/used-pollution-filter x 1 [item]; water x 50 [fluid],Pollution filter/pollution-filter x 1 [item]; Dirty water/dirty-water x 50 [fluid] +crushing.lua,2,crushing,粉碎,bulk-inserter-to-parts,,Crush stack inserter,1,1,true,bulk-inserter x 1 [item],Inserter parts/inserter-parts x 1 [item]; Electronic components/electronic-components x 2 [item] +crushing.lua,24,crushing,粉碎,burner-inserter-to-parts,,Crush burner inserter,1,1,true,burner-inserter x 1 [item],Inserter parts/inserter-parts x 1 [item] +crushing.lua,42,crushing,粉碎,fast-inserter-to-parts,,Crush fast inserter,1,1,true,fast-inserter x 1 [item],Inserter parts/inserter-parts x 1 [item] +crushing.lua,60,crushing,粉碎,imersite-crystal-to-dust,,Crush Imersite crystal,1,1,true,Imersite crystal/imersite-crystal x 1 [item],Imersite powder/imersite-powder x 3 [item] +crushing.lua,82,crushing,粉碎,imersite-powder,,Imersite powder,3,3,false,Raw imersite/raw-imersite x 3 [item],Imersite powder/imersite-powder x 3 [item]; Sand/sand x 3 [item] +crushing.lua,103,crushing,粉碎,inserter-to-parts,,Crush inserter,1,1,true,inserter x 1 [item],Inserter parts/inserter-parts x 1 [item] +crushing.lua,122,crushing,粉碎,long-handed-inserter-to-parts,,Crush long handed inserter,1,1,true,long-handed-inserter x 1 [item],Inserter parts/inserter-parts x 1 [item] +crushing.lua,140,crushing,粉碎,sand,,Sand,1,1,false,stone x 3 [item],Sand/sand x 7–8 [item] +crushing.lua,158,crushing,粉碎,superior-inserter-to-parts,,Crush superior inserter,1,1,true,超级机械臂/Superior inserter/kr-superior-inserter x 1 [item],Inserter parts/inserter-parts x 1 [item]; Electronic components/electronic-components x 4 [item]; Imersite powder/imersite-powder x 3 [item] +crushing.lua,182,crushing,粉碎,superior-long-inserter-to-parts,,Crush superior long inserter,1,1,true,超级加长机械臂/Superior long inserter/kr-superior-long-inserter x 1 [item],Inserter parts/inserter-parts x 1 [item]; Electronic components/electronic-components x 4 [item]; Imersite powder/imersite-powder x 6 [item] +electrolysis.lua,2,electrolysis,电解,heavy-water,,Heavy water,120,120,false,water x 500 [fluid],Heavy water/heavy-water x 20 [fluid] +electrolysis.lua,26,electrolysis,电解,kr-water-electrolysis,水电解,Water electrolysis,3,3,false,Sand/sand x 10 [item]; water x 40 [fluid],Chlorine/chlorine x 20 [fluid]; Hydrogen/hydrogen x 30 [fluid] +electrolysis.lua,50,electrolysis,电解,kr-water-separation,水分离,Water separation,3,3,false,water x 50 [fluid],Oxygen/oxygen x 20 [fluid]; Hydrogen/hydrogen x 30 [fluid] +electrolysis.lua,73,electrolysis,电解,lithium,锂,Lithium,25,25,false,Lithium chloride/lithium-chloride x 5 [item]; water x 50 [fluid],Chlorine/chlorine x 10 [fluid]; 锂/Lithium/lithium x 5 [item] +fluid-filtration.lua,2,fluid-filtration,流体过滤,coal-filtration,,Coal filtration,2,2,false,heavy-oil x 80 [fluid],coal x 8 [item]; water x 40 [fluid] +fluid-filtration.lua,24,fluid-filtration,流体过滤,dirty-water-filtration-1,,Filter dirty water [item=iron-ore],2,2,false,Dirty water/dirty-water x 100 [fluid],water x 100 [fluid]; stone x 1(30% 概率) [item]; iron-ore x 1(10% 概率) [item] +fluid-filtration.lua,57,fluid-filtration,流体过滤,dirty-water-filtration-2,,Filter dirty water [item=copper-ore],2,2,false,Dirty water/dirty-water x 100 [fluid],water x 100 [fluid]; stone x 1(30% 概率) [item]; copper-ore x 1(10% 概率) [item] +fluid-filtration.lua,90,fluid-filtration,流体过滤,dirty-water-filtration-3,,Filter dirty water [item=raw-rare-metals],2,2,false,Dirty water/dirty-water x 100 [fluid],water x 100 [fluid]; stone x 1(30% 概率) [item]; Raw rare metals/raw-rare-metals x 1(5% 概率) [item] +fluid-filtration.lua,122,fluid-filtration,流体过滤,quartz,,Quartz,2.1,2.1,false,Sand/sand x 10 [item]; water x 10 [fluid],Quartz/quartz x 6 [item] +fuel-refinery.lua,2,fuel-refinery,燃料精炼,advanced-fuel,,Advanced fuel,10,10,false,Fuel/fuel x 10 [item]; Imersite powder/imersite-powder x 6 [item],Advanced fuel/advanced-fuel x 10 [item] +fuel-refinery.lua,28,fuel-refinery,燃料精炼,bio-fuel,,Biofuel,10,10,false,Fuel/fuel x 6 [item]; Biomethanol/biomethanol x 50 [fluid],Biofuel/bio-fuel x 10 [item] +fuel-refinery.lua,54,fuel-refinery,燃料精炼,biomethanol,,Biomethanol,20,20,false,木材/Wood/wood x 5 [item]; Oxygen/oxygen x 60 [fluid]; steam x 120 [fluid],Biomethanol/biomethanol x 120 [fluid] +fuel-refinery.lua,79,fuel-refinery,燃料精炼,fuel-1,,,10,10,false,light-oil x 60 [fluid],Fuel/fuel x 10 [item] +fuel-refinery.lua,112,fuel-refinery,燃料精炼,fuel-2,,,10,10,false,solid-fuel x 6 [item]; Hydrogen/hydrogen x 50 [fluid],Fuel/fuel x 10 [item] +fuel-refinery.lua,147,fuel-refinery,燃料精炼,rocket-fuel-with-ammonia,,,16,16,false,iron-plate x 1 [item]; Ammonia/ammonia x 50 [fluid]; Oxygen/oxygen x 50 [fluid],rocket-fuel x 1 [item] +fuel-refinery.lua,175,fuel-refinery,燃料精炼,rocket-fuel-with-hydrogen-chloride,,,16,16,false,iron-plate x 1 [item]; Hydrogen chloride/hydrogen-chloride x 50 [fluid]; Oxygen/oxygen x 50 [fluid],rocket-fuel x 1 [item] +growing.lua,2,growing,培育,wood,木材,Wood,60,60,false,water x 200 [fluid],木材/Wood/wood x 40 [item] +growing.lua,15,growing,培育,wood-with-fertilizer,,Wood,60,60,false,water x 200 [fluid]; Fertilizer/fertilizer x 1 [item],木材/Wood/wood x 80 [item] +matter-deconversion.lua,2,matter-deconversion,物质逆转换,charged-antimatter-fuel-cell,,Charged antimatter fuel cell,5,5,false,Matter/matter x 1000 [fluid]; Empty antimatter fuel cell/empty-antimatter-fuel-cell x 1 [item],Charged antimatter fuel cell/charged-antimatter-fuel-cell x 1 [item] +nuclear-fusion.lua,2,nuclear-fusion,核聚变,kr-fusion,核聚变,Nuclear fusion,5,5,true,water x 1000 [fluid]; DT-fuel cell/dt-fuel x 1 [item],steam x 10000(975℃) [fluid]; Empty DT-fuel cell/empty-dt-fuel x 1 [item] +oil-processing.lua,2,oil-processing,石油处理,coke-liquefaction,,Coke liquefaction,5,5,false,Coke/coke x 10 [item]; light-oil x 25 [fluid]; steam x 50 [fluid],heavy-oil x 20 [fluid]; light-oil x 90 [fluid]; petroleum-gas x 10 [fluid] +smelting.lua,2,smelting,冶炼,coke,,Coke,16,16,false,coal x 6 [item]; 木材/Wood/wood x 6 [item],Coke/coke x 6 [item] +smelting.lua,17,smelting,冶炼,enriched-copper-plate,,copper-plate,16,16,false,Enriched copper/enriched-copper x 5 [item],copper-plate x 5 [item] +smelting.lua,42,smelting,冶炼,enriched-iron-plate,,iron-plate,16,16,false,Enriched iron/enriched-iron x 5 [item],iron-plate x 5 [item] +smelting.lua,67,smelting,冶炼,glass,,Glass,16,16,false,Sand/sand x 16 [item],Glass/glass x 8 [item] +smelting.lua,83,smelting,冶炼,imersium-plate,,Imersium plate,32,32,false,Imersite powder/imersite-powder x 9 [item]; Rare metals/rare-metals x 6 [item],Imersium plate/imersium-plate x 3 [item] +smelting.lua,100,smelting,冶炼,rare-metals,,Rare metals,16,16,true,Raw rare metals/raw-rare-metals x 10 [item],Rare metals/rare-metals x 5 [item] +smelting.lua,125,smelting,冶炼,rare-metals-2,,Rare metals,16,16,false,Enriched rare metals/enriched-rare-metals x 5 [item],Rare metals/rare-metals x 5 [item] +smelting.lua,151,smelting,冶炼,silicon,,Silicon,16,16,false,Quartz/quartz x 18 [item],Silicon/silicon x 9 [item] +smelting-crafting.lua,13,smelting-crafting,冶炼制造,kr-s-c-copper-cable,,copper-cable,1.0,1,false,copper-ore x 2 [item],copper-cable x 2 [item] +smelting-crafting.lua,31,smelting-crafting,冶炼制造,kr-s-c-copper-cable-enriched,,copper-cable,1.0,1,false,Enriched copper/enriched-copper x 1 [item],copper-cable x 2 [item] +smelting-crafting.lua,49,smelting-crafting,冶炼制造,kr-s-c-electronic-components,,Electronic components,12.0,12,false,plastic-bar x 5 [item]; stone x 12 [item]; water x 20 [fluid],Electronic components/electronic-components x 6 [item] +smelting-crafting.lua,68,smelting-crafting,冶炼制造,kr-s-c-imersium-beam,,Imersium beam,12.0,12,false,Imersite powder/imersite-powder x 6 [item]; Rare metals/rare-metals x 4 [item],Imersium beam/imersium-beam x 1 [item] +smelting-crafting.lua,87,smelting-crafting,冶炼制造,kr-s-c-imersium-gear-wheel,,Imersium gear wheel,2.0,2,false,Imersite powder/imersite-powder x 3 [item]; Rare metals/rare-metals x 2 [item],Imersium gear wheel/imersium-gear-wheel x 1 [item] +smelting-crafting.lua,106,smelting-crafting,冶炼制造,kr-s-c-iron-beam,,Iron beam,4.0,4,false,iron-ore x 4 [item],Iron beam/iron-beam x 1 [item] +smelting-crafting.lua,124,smelting-crafting,冶炼制造,kr-s-c-iron-beam-enriched,,Iron beam,4.0,4,false,Enriched iron/enriched-iron x 2 [item],Iron beam/iron-beam x 1 [item] +smelting-crafting.lua,142,smelting-crafting,冶炼制造,kr-s-c-iron-gear-wheel,,iron-gear-wheel,1.0,1,false,iron-ore x 2 [item],iron-gear-wheel x 1 [item] +smelting-crafting.lua,160,smelting-crafting,冶炼制造,kr-s-c-iron-gear-wheel-enriched,,iron-gear-wheel,1.0,1,false,Enriched iron/enriched-iron x 1 [item],iron-gear-wheel x 1 [item] +smelting-crafting.lua,178,smelting-crafting,冶炼制造,kr-s-c-iron-stick,,iron-stick,1.0,1,false,iron-ore x 2 [item],iron-stick x 2 [item] +smelting-crafting.lua,196,smelting-crafting,冶炼制造,kr-s-c-iron-stick-enriched,,iron-stick,1.0,1,false,Enriched iron/enriched-iron x 1 [item],iron-stick x 2 [item] +smelting-crafting.lua,214,smelting-crafting,冶炼制造,kr-s-c-steel-beam,,Steel beam,20.0,20,false,iron-plate x 20 [item]; Coke/coke x 4 [item],Steel beam/steel-beam x 5 [item] +smelting-crafting.lua,233,smelting-crafting,冶炼制造,kr-s-c-steel-gear-wheel,,Steel gear wheel,5.0,5,false,iron-plate x 10 [item]; Coke/coke x 1 [item],Steel gear wheel/steel-gear-wheel x 5 [item] +stabilizer-charging.lua,2,stabilizer-charging,稳定器充能,charged-matter-stabilizer,,Charged Matter stabilizer,2,2,false,Matter stabilizer/matter-stabilizer x 1 [item],Charged Matter stabilizer/charged-matter-stabilizer x 1 [item] +t3-tech-cards.lua,2,t3-tech-cards,三级科技卡,advanced-tech-card,,Advanced tech card,20,20,false,Blank tech card/blank-tech-card x 15 [item]; Imersium gear wheel/imersium-gear-wheel x 20 [item]; Lithium–sulfur battery/lithium-sulfur-battery x 10 [item]; electric-engine-unit x 5 [item],Advanced tech card/advanced-tech-card x 5 [item] +t3-tech-cards.lua,68,t3-tech-cards,三级科技卡,kr_optimization_tech_card_name,,,20,20,false,Blank tech card/blank-tech-card x 10 [item]; Space research data/space-research-data x 5 [item],kr_optimization_tech_card_name x 5 [item] +t3-tech-cards.lua,19,t3-tech-cards,三级科技卡,matter-research-data,,Matter research data,20,20,false,Imersite crystal/imersite-crystal x 5 [item]; Rare metals/rare-metals x 5 [item]; 锂/Lithium/lithium x 5 [item]; plastic-bar x 5 [item],Matter research data/matter-research-data x 5 [item] +t3-tech-cards.lua,36,t3-tech-cards,三级科技卡,matter-tech-card,,Matter tech card,20,20,false,Blank tech card/blank-tech-card x 15 [item]; Matter research data/matter-research-data x 5 [item]; processing-unit x 5 [item],Matter tech card/matter-tech-card x 5 [item] +t3-tech-cards.lua,52,t3-tech-cards,三级科技卡,singularity-tech-card,,Singularity tech card,20,20,false,Blank tech card/blank-tech-card x 15 [item]; Charged Matter stabilizer/charged-matter-stabilizer x 5 [item]; AI core/ai-core x 5 [item],Singularity tech card/singularity-tech-card x 5 [item] diff --git a/资料/异星工厂/K2配方表.md b/资料/异星工厂/K2配方表.md new file mode 100644 index 0000000..a308670 --- /dev/null +++ b/资料/异星工厂/K2配方表.md @@ -0,0 +1,289 @@ +# K2配方表(本地源快照) + +## 文件状态 + +本文件是写作参考资料,不是《越共》正文 canon,也不是一局实际安装模组后导出的最终配方数据库。 + +- 数据范围:`old/中间文件/recipe_sources/k2/` 内 20 个 Lua 文件,共 119 条显式 `recipe` 定义。 +- 中文名称:优先采用本地 `k2so/Krastorio2-zh-CN.cfg`;缺失时退回 K2 英文 locale 或内部 ID。中文只用于检索和阅读,不参与数值判定。 +- 未包含:基础游戏配方、其他 K2 脚本在 `data-updates` 等阶段对基础配方的修改、建筑兼容列表、模组设置与实际存档中的最终覆盖结果。 +- 源文件中无法仅靠本快照求值的 Lua 变量名会原样保留。例如 `kr_optimization_tech_card_name` 是运行时解析的配方名,不擅自猜成某个固定物品 ID。 +- 本地没有 K2 `info.json` 或完整模组包,无法仅凭这批文件确认确切版本。 +- 源数据 SHA-256 汇总:`a5595fdf7b9b7f4e8b9ef11454f7c1f1925d7a1487f591c32587c74a3304abff`。 +- 本表由同目录 `生成K2配方表.py` 生成;源文件变化后可重新生成,勿手工修改表格主体。 + +## 对小说写作的直接用法 + +- 实验室负责研究和解锁;制造机载入已经取得的配方,检查原料并执行制造。实验室本身不直接制造手枪。 +- 在没有传送带、机械臂和物流网络时,可以人工把金属、零件或标准料箱送入制造机。这与游戏中手动向机器上料的逻辑相容。 +- 本地显式 K2 配方快照中没有 `pistol` 配方;小说采用用户确认截图中的手枪配方:制造时间5秒、铁板5、铜板5、产出1。K2归档源码中的铁板2、铜板1属于另一版本,不用于当前正文。 +- 全书配方时间统一按1游戏秒=正文1小时换算。本表保留游戏原始秒数,并另列小说基准制造时长;排队、人工上料、质检、冷却、故障与停机时间另行累计。 +- 配方中的物料单位是游戏单位,不能直接等同于现实千克或升。小说把游戏界面的“产出1”解释为机器完成一次固定生产;原料关系不变,实际用料按这次产出的全部成品核算。 +- M1910式手枪在小说中每次固定生产32把,并封装为一只成品箱;32把约18.88千克,连同空箱与四层托盘仍低于24千克上限。制造完成后需由能源/解包节点开箱,才能取得和分配单把手枪。 + +## 手枪与弹药补充参考 + +| 对象 | K2/基础游戏原配方 | 小说适配层 | +|---|---|---| +| 当前采用的游戏手枪 | 制造时间5秒、铁板5、铜板5、产出1 | 自动实验室从M1910样枪得到本机可用的制造方法;5秒换算为一箱32把手枪制造5小时,实际取料按整箱质量与加工损耗缩放。枪械本身不消耗底火或发射药 | +| 基础枪械弹匣 | 制造时间1秒、铁板4、成品弹匣1;每只弹匣10发 | M1910的7.65毫米弹匣容量为7发。小说适配为制造时间1秒、铁板3、铜板1、产出1箱;正文基准制造1小时。每箱192只满装弹匣,共1344发;铅料、发射药和底火作为受控耗材另行检查 | + +- K2归档手枪配方(仅作版本差异参考,当前正文不采用): +- Factorio基础枪械弹匣: +- M1910式手枪的.32 ACP弹匣容量为7发: +- 一发7.65×17毫米手枪弹约重7.9克,其中弹头约4.8克、黄铜弹壳约2.6克;7发约重55.3克。按空弹匣不超过50克估算,192只满装弹匣不超过20.22千克,连同约3.5千克箱体与托盘后不超过23.72千克: +- Factorio 2.0.7 已删除手枪制造配方,因此这里采用的是K2对应旧版基础游戏的历史逻辑,而不是当前2.x配方。 +- 铁板、铜板和钢板按K2物料类型分别记账。任何配方中的钢板都保留为钢板,不向下折算成铁板;本书采用的基础弹匣配方不含钢板。 +- 为保持物质守恒,小说中的手枪弹必须实际消耗弹壳、弹头、发射药和底火材料。设备可以记录现有余料并报告缺料,但不会自行规划补充来源。 +- K2/基础游戏存在“炸药”科技与 `explosives` 中间品,但基础枪械弹匣不消耗它。小说中该科技用于后续独立补充军械化工耗材、爆破采矿和爆炸武器,不能倒填成第007章手枪弹的直接原料。 +- Factorio炸药科技: + +## 研究设施边界 + +本地科技文件表明:`kr-laboratory` 科技解锁基础 `lab`;`kr-advanced-lab` 是更高效的实验室且不兼容基础科技卡;`kr-research-server` 用于生产复杂科技卡;`kr-singularity-lab` 属于更后期的研究设施。它们支持“研究—解锁—制造”的分工,不支持“实验室直接吐出成品”。 + +## 分类统计 + +| 内部类别 | 中文说明 | 配方数 | +|---|---:|---:| +| `advanced-chemistry` | 高级化学 | 1 | +| `air-purification` | 空气净化 | 2 | +| `atmosphere-condensation` | 大气冷凝 | 4 | +| `bioprocessing` | 生物处理 | 2 | +| `centrifuging` | 离心处理 | 1 | +| `chemistry` | 化学 | 12 | +| `crafting` | 制造 | 34 | +| `crafting-with-fluid` | 带流体制造 | 5 | +| `crushing` | 粉碎 | 10 | +| `electrolysis` | 电解 | 4 | +| `fluid-filtration` | 流体过滤 | 5 | +| `fuel-refinery` | 燃料精炼 | 7 | +| `growing` | 培育 | 2 | +| `matter-deconversion` | 物质逆转换 | 1 | +| `nuclear-fusion` | 核聚变 | 1 | +| `oil-processing` | 石油处理 | 1 | +| `smelting` | 冶炼 | 8 | +| `smelting-crafting` | 冶炼制造 | 13 | +| `stabilizer-charging` | 稳定器充能 | 1 | +| `t3-tech-cards` | 三级科技卡 | 5 | + +## 配方明细 + +### 高级化学(`advanced-chemistry`,1条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| Electronic components with lithium
`electronic-components-with-lithium` | 10 | 10小时 | 否 | Silicon
`silicon` × 3
`plastic-bar` × 3
Glass
`glass` × 3

`lithium` × 3
Nitric acid
`nitric-acid` × 20(流体) | Electronic components
`electronic-components` × 10 | [advanced-chemistry.lua:2](../../old/中间文件/recipe_sources/k2/advanced-chemistry.lua#L2) | + +### 空气净化(`air-purification`,2条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| 空气净化
`kr-air-cleaning` | 480 | 480小时 | 否 | Pollution filter
`pollution-filter` × 1 | Used pollution filter
`used-pollution-filter` × 1(90% 概率) | [air-purification.lua:2](../../old/中间文件/recipe_sources/k2/air-purification.lua#L2) | +| Air cleaning
`kr-air-cleaning-2` | 600 | 600小时 | 否 | Improved pollution filter
`improved-pollution-filter` × 1 | Used improved pollution filter
`used-improved-pollution-filter` × 1(90% 概率) | [air-purification.lua:20](../../old/中间文件/recipe_sources/k2/air-purification.lua#L20) | + +### 大气冷凝(`atmosphere-condensation`,4条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| Hydrogen
`hydrogen` | 20 | 20小时 | 否 | 无 | Hydrogen
`hydrogen` × 30(流体) | [atmosphere-condensation.lua:2](../../old/中间文件/recipe_sources/k2/atmosphere-condensation.lua#L2) | +| Nitrogen
`nitrogen` | 30 | 30小时 | 否 | 无 | Nitrogen
`nitrogen` × 30(流体) | [atmosphere-condensation.lua:19](../../old/中间文件/recipe_sources/k2/atmosphere-condensation.lua#L19) | +| Oxygen
`oxygen` | 5 | 5小时 | 否 | 无 | Oxygen
`oxygen` × 30(流体) | [atmosphere-condensation.lua:36](../../old/中间文件/recipe_sources/k2/atmosphere-condensation.lua#L36) | +| water
`water-from-atmosphere` | 10 | 10小时 | 否 | 无 | `water` × 30(流体) | [atmosphere-condensation.lua:53](../../old/中间文件/recipe_sources/k2/atmosphere-condensation.lua#L53) | + +### 生物处理(`bioprocessing`,2条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| Biomass
`biomass` | 60 | 60小时 | 否 | `petroleum-gas` × 50(流体)
Oxygen
`oxygen` × 50(流体) | Biomass
`biomass` × 5 | [bioprocessing.lua:2](../../old/中间文件/recipe_sources/k2/bioprocessing.lua#L2) | +| 反虫群毒气胶囊
`kr-biter-virus` | 600 | 600小时 | 否 | `poison-capsule` × 1
Imersite powder
`imersite-powder` × 5
Nitric acid
`nitric-acid` × 50(流体)
Biomethanol
`biomethanol` × 50(流体) | 反虫群毒气胶囊
`kr-biter-virus` × 1 | [bioprocessing.lua:16](../../old/中间文件/recipe_sources/k2/bioprocessing.lua#L16) | + +### 离心处理(`centrifuging`,1条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| Tritium
`tritium` | 30 | 30小时 | 否 | 锂
`lithium` × 30
Rare metals
`rare-metals` × 5
`uranium-235` × 1 | Tritium
`tritium` × 5 | [centrifuging.lua:2](../../old/中间文件/recipe_sources/k2/centrifuging.lua#L2) | + +### 化学(`chemistry`,12条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| Ammonia
`ammonia` | 5 | 5小时 | 否 | Hydrogen
`hydrogen` × 50(流体)
Nitrogen
`nitrogen` × 50(流体) | Ammonia
`ammonia` × 50(流体) | [chemistry.lua:2](../../old/中间文件/recipe_sources/k2/chemistry.lua#L2) | +| DT-fuel cell
`dt-fuel` | 5 | 5小时 | 否 | Heavy water
`heavy-water` × 10(流体)
Tritium
`tritium` × 1
Empty DT-fuel cell
`empty-dt-fuel` × 1 | DT-fuel cell
`dt-fuel` × 1 | [chemistry.lua:28](../../old/中间文件/recipe_sources/k2/chemistry.lua#L28) | +| Enriched copper
`enriched-copper` | 3 | 3小时 | 否 | `sulfuric-acid` × 3(流体)
`water` × 25(流体)
`copper-ore` × 9 | Enriched copper
`enriched-copper` × 6
Dirty water
`dirty-water` × 25(流体) | [chemistry.lua:49](../../old/中间文件/recipe_sources/k2/chemistry.lua#L49) | +| Enriched iron
`enriched-iron` | 3 | 3小时 | 否 | `sulfuric-acid` × 3(流体)
`water` × 25(流体)
`iron-ore` × 9 | Enriched iron
`enriched-iron` × 6
Dirty water
`dirty-water` × 25(流体) | [chemistry.lua:77](../../old/中间文件/recipe_sources/k2/chemistry.lua#L77) | +| Enriched rare metals
`enriched-rare-metals` | 3 | 3小时 | 否 | Hydrogen chloride
`hydrogen-chloride` × 10(流体)
`water` × 25(流体)
Raw rare metals
`raw-rare-metals` × 9 | Enriched rare metals
`enriched-rare-metals` × 6
Dirty water
`dirty-water` × 25(流体) | [chemistry.lua:105](../../old/中间文件/recipe_sources/k2/chemistry.lua#L105) | +| Fertilizer
`fertilizer` | 10 | 10小时 | 否 | Nitric acid
`nitric-acid` × 10(流体)
Biomass
`biomass` × 2 | Fertilizer
`fertilizer` × 10 | [chemistry.lua:133](../../old/中间文件/recipe_sources/k2/chemistry.lua#L133) | +| Hydrogen chloride
`hydrogen-chloride` | 5 | 5小时 | 否 | Chlorine
`chlorine` × 50(流体)
Hydrogen
`hydrogen` × 50(流体) | Hydrogen chloride
`hydrogen-chloride` × 50(流体) | [chemistry.lua:154](../../old/中间文件/recipe_sources/k2/chemistry.lua#L154) | +| Imersite crystal
`imersite-crystal` | 30 | 30小时 | 否 | Imersite powder
`imersite-powder` × 6
Nitric acid
`nitric-acid` × 10(流体)
`sulfuric-acid` × 10(流体) | Imersite crystal
`imersite-crystal` × 1 | [chemistry.lua:180](../../old/中间文件/recipe_sources/k2/chemistry.lua#L180) | +| `kr-water` | 5 | 5小时 | 否 | Oxygen
`oxygen` × 20(流体)
Hydrogen
`hydrogen` × 30(流体) | `water` × 50(流体) | [chemistry.lua:205](../../old/中间文件/recipe_sources/k2/chemistry.lua#L205) | +| Lithium chloride
`lithium-chloride` | 5 | 5小时 | 否 | Mineral water
`mineral-water` × 50(流体)
Hydrogen chloride
`hydrogen-chloride` × 10(流体) | Lithium chloride
`lithium-chloride` × 5 | [chemistry.lua:232](../../old/中间文件/recipe_sources/k2/chemistry.lua#L232) | +| Lithium–sulfur battery
`lithium-sulfur-battery` | 4 | 4小时 | 否 | `sulfuric-acid` × 10(流体)

`lithium` × 1
`copper-plate` × 1 | Lithium–sulfur battery
`lithium-sulfur-battery` × 1 | [chemistry.lua:258](../../old/中间文件/recipe_sources/k2/chemistry.lua#L258) | +| Nitric acid
`nitric-acid` | 5 | 5小时 | 否 | Ammonia
`ammonia` × 50(流体)
Mineral water
`mineral-water` × 25(流体)
Rare metals
`rare-metals` × 1 | Nitric acid
`nitric-acid` × 50(流体) | [chemistry.lua:280](../../old/中间文件/recipe_sources/k2/chemistry.lua#L280) | + +### 制造(`crafting`,34条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| Antimatter artillery shell
`antimatter-artillery-shell` | 15 | 15小时 | 否 | Imersium plate
`imersium-plate` × 1
`artillery-shell` × 1
Charged antimatter fuel cell
`charged-antimatter-fuel-cell` × 1
`processing-unit` × 1 | Antimatter artillery shell
`antimatter-artillery-shell` × 1 | [crafting.lua:2](../../old/中间文件/recipe_sources/k2/crafting.lua#L2) | +| Antimatter railgun shell
`antimatter-railgun-shell` | 5 | 5小时 | 否 | Imersium plate
`imersium-plate` × 1
Railgun shell
`basic-railgun-shell` × 1
Charged antimatter fuel cell
`charged-antimatter-fuel-cell` × 1
`processing-unit` × 1 | Antimatter railgun shell
`antimatter-railgun-shell` × 1 | [crafting.lua:15](../../old/中间文件/recipe_sources/k2/crafting.lua#L15) | +| Antimatter rocket
`antimatter-rocket` | 10 | 10小时 | 否 | Imersium plate
`imersium-plate` × 2
Heavy rocket
`heavy-rocket` × 1
Charged antimatter fuel cell
`charged-antimatter-fuel-cell` × 3
`processing-unit` × 1 | Antimatter rocket
`antimatter-rocket` × 1 | [crafting.lua:28](../../old/中间文件/recipe_sources/k2/crafting.lua#L28) | +| Antimatter turret rocket
`antimatter-turret-rocket` | 5 | 5小时 | 否 | Imersium plate
`imersium-plate` × 1
Explosive turret rocket
`explosive-turret-rocket` × 1
Charged antimatter fuel cell
`charged-antimatter-fuel-cell` × 1
`processing-unit` × 1 | Antimatter turret rocket
`antimatter-turret-rocket` × 1 | [crafting.lua:41](../../old/中间文件/recipe_sources/k2/crafting.lua#L41) | +| Automation core
`automation-core` | 2 | 2小时 | 否 | `iron-gear-wheel` × 4
`iron-stick` × 4
`copper-plate` × 6 | Automation core
`automation-core` × 2 | [crafting.lua:54](../../old/中间文件/recipe_sources/k2/crafting.lua#L54) | +| Railgun shell
`basic-railgun-shell` | 10 | 10小时 | 否 | Steel plate
`steel-plate` × 5
`advanced-circuit` × 1 | Railgun shell
`basic-railgun-shell` × 1 | [crafting.lua:67](../../old/中间文件/recipe_sources/k2/crafting.lua#L67) | +| Basic tech card
`basic-tech-card` | 20 | 20小时 | 是 | 木材
`wood` × 5
`copper-cable` × 5 | Basic tech card
`basic-tech-card` × 5 | [crafting.lua:78](../../old/中间文件/recipe_sources/k2/crafting.lua#L78) | +| Biter research data
`biters-research-data` | 40 | 40小时 | 否 | Biomass
`biomass` × 10
Coke
`coke` × 5
Steel plate
`steel-plate` × 5 | Biter research data
`biters-research-data` × 5 | [crafting.lua:90](../../old/中间文件/recipe_sources/k2/crafting.lua#L90) | +| Blank tech card
`blank-tech-card` | 2 | 2小时 | 否 | `iron-plate` × 2
`copper-cable` × 2 | Blank tech card
`blank-tech-card` × 5 | [crafting.lua:103](../../old/中间文件/recipe_sources/k2/crafting.lua#L103) | +| Electronic components
`electronic-components` | 4 | 4小时 | 否 | Silicon
`silicon` × 2
`plastic-bar` × 2
Glass
`glass` × 2 | Electronic components
`electronic-components` × 4 | [crafting.lua:115](../../old/中间文件/recipe_sources/k2/crafting.lua#L115) | +| Empty DT-fuel cell
`empty-dt-fuel` | 10 | 10小时 | 否 | `low-density-structure` × 2
Rare metals
`rare-metals` × 1 | Empty DT-fuel cell
`empty-dt-fuel` × 1 | [crafting.lua:128](../../old/中间文件/recipe_sources/k2/crafting.lua#L128) | +| Energy control unit
`energy-control-unit` | 10 | 10小时 | 否 | `low-density-structure` × 6
Imersite crystal
`imersite-crystal` × 3
Electronic components
`electronic-components` × 9
Lithium–sulfur battery
`lithium-sulfur-battery` × 3 | Energy control unit
`energy-control-unit` × 1 | [crafting.lua:140](../../old/中间文件/recipe_sources/k2/crafting.lua#L140) | +| Explosive railgun shell
`explosion-railgun-shell` | 10 | 10小时 | 否 | Railgun shell
`basic-railgun-shell` × 1
`explosives` × 3 | Explosive railgun shell
`explosion-railgun-shell` × 1 | [crafting.lua:154](../../old/中间文件/recipe_sources/k2/crafting.lua#L154) | +| Explosive turret rocket
`explosive-turret-rocket` | 20 | 20小时 | 否 | `rocket-fuel` × 10
`processing-unit` × 1
Steel plate
`steel-plate` × 5
`explosives` × 5 | Explosive turret rocket
`explosive-turret-rocket` × 1 | [crafting.lua:165](../../old/中间文件/recipe_sources/k2/crafting.lua#L165) | +| First aid kit
`first-aid-kit` | 5 | 5小时 | 否 | Biomass
`biomass` × 1
木材
`wood` × 1
`iron-plate` × 1 | First aid kit
`first-aid-kit` × 1 | [crafting.lua:178](../../old/中间文件/recipe_sources/k2/crafting.lua#L178) | +| GPS satellite
`gps-satellite` | 5 | 5小时 | 否 | `satellite` × 1
`processing-unit` × 1
AI core
`ai-core` × 4 | GPS satellite
`gps-satellite` × 1 | [crafting.lua:191](../../old/中间文件/recipe_sources/k2/crafting.lua#L191) | +| Heavy rocket
`heavy-rocket` | 10 | 10小时 | 否 | `explosives` × 10
Steel plate
`steel-plate` × 5
`rocket-fuel` × 10
`plastic-bar` × 5
`processing-unit` × 1 | Heavy rocket
`heavy-rocket` × 1 | [crafting.lua:203](../../old/中间文件/recipe_sources/k2/crafting.lua#L203) | +| Heavy rocket launcher
`heavy-rocket-launcher` | 60 | 60小时 | 否 | Steel plate
`steel-plate` × 5
`low-density-structure` × 5
Steel gear wheel
`steel-gear-wheel` × 1
`processing-unit` × 1 | Heavy rocket launcher
`heavy-rocket-launcher` × 1 | [crafting.lua:217](../../old/中间文件/recipe_sources/k2/crafting.lua#L217) | +| Imersite rounds magazine
`imersite-rounds-magazine` | 20 | 20小时 | 否 | Imersite crystal
`imersite-crystal` × 2
`piercing-rounds-magazine` × 1 | Imersite rounds magazine
`imersite-rounds-magazine` × 1 | [crafting.lua:230](../../old/中间文件/recipe_sources/k2/crafting.lua#L230) | +| Imersium beam
`imersium-beam` | 3 | 3小时 | 否 | Imersium plate
`imersium-plate` × 2 | Imersium beam
`imersium-beam` × 1 | [crafting.lua:241](../../old/中间文件/recipe_sources/k2/crafting.lua#L241) | +| Imersium gear wheel
`imersium-gear-wheel` | 0.5 | 0.5小时 | 否 | Imersium plate
`imersium-plate` × 1 | Imersium gear wheel
`imersium-gear-wheel` × 1 | [crafting.lua:252](../../old/中间文件/recipe_sources/k2/crafting.lua#L252) | +| Improved pollution filter
`improved-pollution-filter` | 10 | 10小时 | 否 | Pollution filter
`pollution-filter` × 1
Biomass
`biomass` × 1
Imersite powder
`imersite-powder` × 1 | Improved pollution filter
`improved-pollution-filter` × 1 | [crafting.lua:263](../../old/中间文件/recipe_sources/k2/crafting.lua#L263) | +| Impulse rifle
`impulse-rifle` | 30 | 30小时 | 否 | Steel plate
`steel-plate` × 5
`low-density-structure` × 5
Imersite crystal
`imersite-crystal` × 1
Steel gear wheel
`steel-gear-wheel` × 1 | Impulse rifle
`impulse-rifle` × 1 | [crafting.lua:276](../../old/中间文件/recipe_sources/k2/crafting.lua#L276) | +| Impulse rifle ammo
`impulse-rifle-ammo` | 5 | 5小时 | 否 | Lithium–sulfur battery
`lithium-sulfur-battery` × 1
Imersite crystal
`imersite-crystal` × 3
`plastic-bar` × 1 | Impulse rifle ammo
`impulse-rifle-ammo` × 1 | [crafting.lua:289](../../old/中间文件/recipe_sources/k2/crafting.lua#L289) | +| Inserter parts
`inserter-parts` | 1 | 1小时 | 是 | `iron-stick` × 2
`iron-gear-wheel` × 2 | Inserter parts
`inserter-parts` × 1 | [crafting.lua:301](../../old/中间文件/recipe_sources/k2/crafting.lua#L301) | +| Iron beam
`iron-beam` | 2 | 2小时 | 是 | `iron-plate` × 2 | Iron beam
`iron-beam` × 1 | [crafting.lua:313](../../old/中间文件/recipe_sources/k2/crafting.lua#L313) | +| 深色增强板
`kr-black-reinforced-plate` | 5 | 5小时 | 否 | `refined-concrete` × 20
Steel beam
`steel-beam` × 5 | 深色增强板
`kr-black-reinforced-plate` × 10 | [crafting.lua:324](../../old/中间文件/recipe_sources/k2/crafting.lua#L324) | +| 淡色增强板
`kr-white-reinforced-plate` | 5 | 5小时 | 否 | `refined-concrete` × 20
Steel beam
`steel-beam` × 5 | 淡色增强板
`kr-white-reinforced-plate` × 10 | [crafting.lua:335](../../old/中间文件/recipe_sources/k2/crafting.lua#L335) | +| Matter stabilizer
`matter-stabilizer` | 5 | 5小时 | 否 | Imersium plate
`imersium-plate` × 6
Energy control unit
`energy-control-unit` × 3
`processing-unit` × 3 | Matter stabilizer
`matter-stabilizer` × 1 | [crafting.lua:346](../../old/中间文件/recipe_sources/k2/crafting.lua#L346) | +| Nuclear artillery shell
`nuclear-artillery-shell` | 15 | 15小时 | 否 | `processing-unit` × 10
Steel plate
`steel-plate` × 10
`artillery-shell` × 1
`uranium-235` × 10 | Nuclear artillery shell
`nuclear-artillery-shell` × 1 | [crafting.lua:360](../../old/中间文件/recipe_sources/k2/crafting.lua#L360) | +| Nuclear turret rocket
`nuclear-turret-rocket` | 60 | 60小时 | 否 | Explosive turret rocket
`explosive-turret-rocket` × 1
Steel plate
`steel-plate` × 5
`uranium-235` × 10
`processing-unit` × 1 | Nuclear turret rocket
`nuclear-turret-rocket` × 1 | [crafting.lua:373](../../old/中间文件/recipe_sources/k2/crafting.lua#L373) | +| Pollution filter
`pollution-filter` | 10 | 10小时 | 否 | `coal` × 2
Steel plate
`steel-plate` × 2
`plastic-bar` × 2 | Pollution filter
`pollution-filter` × 1 | [crafting.lua:386](../../old/中间文件/recipe_sources/k2/crafting.lua#L386) | +| Steel beam
`steel-beam` | 2 | 2小时 | 否 | Steel plate
`steel-plate` × 2 | Steel beam
`steel-beam` × 1 | [crafting.lua:399](../../old/中间文件/recipe_sources/k2/crafting.lua#L399) | +| Steel gear wheel
`steel-gear-wheel` | 0.5 | 0.5小时 | 否 | Steel plate
`steel-plate` × 1 | Steel gear wheel
`steel-gear-wheel` × 1 | [crafting.lua:410](../../old/中间文件/recipe_sources/k2/crafting.lua#L410) | + +### 带流体制造(`crafting-with-fluid`,5条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| AI core
`ai-core` | 16 | 16小时 | 否 | `processing-unit` × 2
Imersite crystal
`imersite-crystal` × 2
Nitric acid
`nitric-acid` × 10(流体) | AI core
`ai-core` × 2 | [crafting-with-fluid.lua:2](../../old/中间文件/recipe_sources/k2/crafting-with-fluid.lua#L2) | +| Empty antimatter fuel cell
`empty-antimatter-fuel-cell` | 10 | 10小时 | 否 | Nitric acid
`nitric-acid` × 50(流体)
Energy control unit
`energy-control-unit` × 10
Imersium plate
`imersium-plate` × 8
Matter stabilizer
`matter-stabilizer` × 2 | Empty antimatter fuel cell
`empty-antimatter-fuel-cell` × 1 | [crafting-with-fluid.lua:16](../../old/中间文件/recipe_sources/k2/crafting-with-fluid.lua#L16) | +| `landfill-2` | 0.5 | 0.5小时 | 否 | Sand
`sand` × 50
`water` × 50(流体) | `landfill` × 1 | [crafting-with-fluid.lua:32](../../old/中间文件/recipe_sources/k2/crafting-with-fluid.lua#L32) | +| Restore used improved pollution filter
`restore-used-improved-pollution-filter` | 10 | 10小时 | 否 | Used improved pollution filter
`used-improved-pollution-filter` × 1
`water` × 50(流体) | Improved pollution filter
`improved-pollution-filter` × 1
Dirty water
`dirty-water` × 50(流体) | [crafting-with-fluid.lua:55](../../old/中间文件/recipe_sources/k2/crafting-with-fluid.lua#L55) | +| Restore used pollution filter
`restore-used-pollution-filter` | 10 | 10小时 | 否 | Used pollution filter
`used-pollution-filter` × 1
`water` × 50(流体) | Pollution filter
`pollution-filter` × 1
Dirty water
`dirty-water` × 50(流体) | [crafting-with-fluid.lua:74](../../old/中间文件/recipe_sources/k2/crafting-with-fluid.lua#L74) | + +### 粉碎(`crushing`,10条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| Crush stack inserter
`bulk-inserter-to-parts` | 1 | 1小时 | 是 | `bulk-inserter` × 1 | Inserter parts
`inserter-parts` × 1
Electronic components
`electronic-components` × 2 | [crushing.lua:2](../../old/中间文件/recipe_sources/k2/crushing.lua#L2) | +| Crush burner inserter
`burner-inserter-to-parts` | 1 | 1小时 | 是 | `burner-inserter` × 1 | Inserter parts
`inserter-parts` × 1 | [crushing.lua:24](../../old/中间文件/recipe_sources/k2/crushing.lua#L24) | +| Crush fast inserter
`fast-inserter-to-parts` | 1 | 1小时 | 是 | `fast-inserter` × 1 | Inserter parts
`inserter-parts` × 1 | [crushing.lua:42](../../old/中间文件/recipe_sources/k2/crushing.lua#L42) | +| Crush Imersite crystal
`imersite-crystal-to-dust` | 1 | 1小时 | 是 | Imersite crystal
`imersite-crystal` × 1 | Imersite powder
`imersite-powder` × 3 | [crushing.lua:60](../../old/中间文件/recipe_sources/k2/crushing.lua#L60) | +| Imersite powder
`imersite-powder` | 3 | 3小时 | 否 | Raw imersite
`raw-imersite` × 3 | Imersite powder
`imersite-powder` × 3
Sand
`sand` × 3 | [crushing.lua:82](../../old/中间文件/recipe_sources/k2/crushing.lua#L82) | +| Crush inserter
`inserter-to-parts` | 1 | 1小时 | 是 | `inserter` × 1 | Inserter parts
`inserter-parts` × 1 | [crushing.lua:103](../../old/中间文件/recipe_sources/k2/crushing.lua#L103) | +| Crush long handed inserter
`long-handed-inserter-to-parts` | 1 | 1小时 | 是 | `long-handed-inserter` × 1 | Inserter parts
`inserter-parts` × 1 | [crushing.lua:122](../../old/中间文件/recipe_sources/k2/crushing.lua#L122) | +| Sand
`sand` | 1 | 1小时 | 否 | `stone` × 3 | Sand
`sand` × 7–8 | [crushing.lua:140](../../old/中间文件/recipe_sources/k2/crushing.lua#L140) | +| Crush superior inserter
`superior-inserter-to-parts` | 1 | 1小时 | 是 | 超级机械臂
`kr-superior-inserter` × 1 | Inserter parts
`inserter-parts` × 1
Electronic components
`electronic-components` × 4
Imersite powder
`imersite-powder` × 3 | [crushing.lua:158](../../old/中间文件/recipe_sources/k2/crushing.lua#L158) | +| Crush superior long inserter
`superior-long-inserter-to-parts` | 1 | 1小时 | 是 | 超级加长机械臂
`kr-superior-long-inserter` × 1 | Inserter parts
`inserter-parts` × 1
Electronic components
`electronic-components` × 4
Imersite powder
`imersite-powder` × 6 | [crushing.lua:182](../../old/中间文件/recipe_sources/k2/crushing.lua#L182) | + +### 电解(`electrolysis`,4条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| Heavy water
`heavy-water` | 120 | 120小时 | 否 | `water` × 500(流体) | Heavy water
`heavy-water` × 20(流体) | [electrolysis.lua:2](../../old/中间文件/recipe_sources/k2/electrolysis.lua#L2) | +| 水电解
`kr-water-electrolysis` | 3 | 3小时 | 否 | Sand
`sand` × 10
`water` × 40(流体) | Chlorine
`chlorine` × 20(流体)
Hydrogen
`hydrogen` × 30(流体) | [electrolysis.lua:26](../../old/中间文件/recipe_sources/k2/electrolysis.lua#L26) | +| 水分离
`kr-water-separation` | 3 | 3小时 | 否 | `water` × 50(流体) | Oxygen
`oxygen` × 20(流体)
Hydrogen
`hydrogen` × 30(流体) | [electrolysis.lua:50](../../old/中间文件/recipe_sources/k2/electrolysis.lua#L50) | +| 锂
`lithium` | 25 | 25小时 | 否 | Lithium chloride
`lithium-chloride` × 5
`water` × 50(流体) | Chlorine
`chlorine` × 10(流体)

`lithium` × 5 | [electrolysis.lua:73](../../old/中间文件/recipe_sources/k2/electrolysis.lua#L73) | + +### 流体过滤(`fluid-filtration`,5条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| Coal filtration
`coal-filtration` | 2 | 2小时 | 否 | `heavy-oil` × 80(流体) | `coal` × 8
`water` × 40(流体) | [fluid-filtration.lua:2](../../old/中间文件/recipe_sources/k2/fluid-filtration.lua#L2) | +| Filter dirty water [item=iron-ore]
`dirty-water-filtration-1` | 2 | 2小时 | 否 | Dirty water
`dirty-water` × 100(流体) | `water` × 100(流体)
`stone` × 1(30% 概率)
`iron-ore` × 1(10% 概率) | [fluid-filtration.lua:24](../../old/中间文件/recipe_sources/k2/fluid-filtration.lua#L24) | +| Filter dirty water [item=copper-ore]
`dirty-water-filtration-2` | 2 | 2小时 | 否 | Dirty water
`dirty-water` × 100(流体) | `water` × 100(流体)
`stone` × 1(30% 概率)
`copper-ore` × 1(10% 概率) | [fluid-filtration.lua:57](../../old/中间文件/recipe_sources/k2/fluid-filtration.lua#L57) | +| Filter dirty water [item=raw-rare-metals]
`dirty-water-filtration-3` | 2 | 2小时 | 否 | Dirty water
`dirty-water` × 100(流体) | `water` × 100(流体)
`stone` × 1(30% 概率)
Raw rare metals
`raw-rare-metals` × 1(5% 概率) | [fluid-filtration.lua:90](../../old/中间文件/recipe_sources/k2/fluid-filtration.lua#L90) | +| Quartz
`quartz` | 2.1 | 2.1小时 | 否 | Sand
`sand` × 10
`water` × 10(流体) | Quartz
`quartz` × 6 | [fluid-filtration.lua:122](../../old/中间文件/recipe_sources/k2/fluid-filtration.lua#L122) | + +### 燃料精炼(`fuel-refinery`,7条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| Advanced fuel
`advanced-fuel` | 10 | 10小时 | 否 | Fuel
`fuel` × 10
Imersite powder
`imersite-powder` × 6 | Advanced fuel
`advanced-fuel` × 10 | [fuel-refinery.lua:2](../../old/中间文件/recipe_sources/k2/fuel-refinery.lua#L2) | +| Biofuel
`bio-fuel` | 10 | 10小时 | 否 | Fuel
`fuel` × 6
Biomethanol
`biomethanol` × 50(流体) | Biofuel
`bio-fuel` × 10 | [fuel-refinery.lua:28](../../old/中间文件/recipe_sources/k2/fuel-refinery.lua#L28) | +| Biomethanol
`biomethanol` | 20 | 20小时 | 否 | 木材
`wood` × 5
Oxygen
`oxygen` × 60(流体)
`steam` × 120(流体) | Biomethanol
`biomethanol` × 120(流体) | [fuel-refinery.lua:54](../../old/中间文件/recipe_sources/k2/fuel-refinery.lua#L54) | +| `fuel-1` | 10 | 10小时 | 否 | `light-oil` × 60(流体) | Fuel
`fuel` × 10 | [fuel-refinery.lua:79](../../old/中间文件/recipe_sources/k2/fuel-refinery.lua#L79) | +| `fuel-2` | 10 | 10小时 | 否 | `solid-fuel` × 6
Hydrogen
`hydrogen` × 50(流体) | Fuel
`fuel` × 10 | [fuel-refinery.lua:112](../../old/中间文件/recipe_sources/k2/fuel-refinery.lua#L112) | +| `rocket-fuel-with-ammonia` | 16 | 16小时 | 否 | `iron-plate` × 1
Ammonia
`ammonia` × 50(流体)
Oxygen
`oxygen` × 50(流体) | `rocket-fuel` × 1 | [fuel-refinery.lua:147](../../old/中间文件/recipe_sources/k2/fuel-refinery.lua#L147) | +| `rocket-fuel-with-hydrogen-chloride` | 16 | 16小时 | 否 | `iron-plate` × 1
Hydrogen chloride
`hydrogen-chloride` × 50(流体)
Oxygen
`oxygen` × 50(流体) | `rocket-fuel` × 1 | [fuel-refinery.lua:175](../../old/中间文件/recipe_sources/k2/fuel-refinery.lua#L175) | + +### 培育(`growing`,2条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| 木材
`wood` | 60 | 60小时 | 否 | `water` × 200(流体) | 木材
`wood` × 40 | [growing.lua:2](../../old/中间文件/recipe_sources/k2/growing.lua#L2) | +| Wood
`wood-with-fertilizer` | 60 | 60小时 | 否 | `water` × 200(流体)
Fertilizer
`fertilizer` × 1 | 木材
`wood` × 80 | [growing.lua:15](../../old/中间文件/recipe_sources/k2/growing.lua#L15) | + +### 物质逆转换(`matter-deconversion`,1条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| Charged antimatter fuel cell
`charged-antimatter-fuel-cell` | 5 | 5小时 | 否 | Matter
`matter` × 1000(流体)
Empty antimatter fuel cell
`empty-antimatter-fuel-cell` × 1 | Charged antimatter fuel cell
`charged-antimatter-fuel-cell` × 1 | [matter-deconversion.lua:2](../../old/中间文件/recipe_sources/k2/matter-deconversion.lua#L2) | + +### 核聚变(`nuclear-fusion`,1条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| 核聚变
`kr-fusion` | 5 | 5小时 | 是 | `water` × 1000(流体)
DT-fuel cell
`dt-fuel` × 1 | `steam` × 10000(975℃)(流体)
Empty DT-fuel cell
`empty-dt-fuel` × 1 | [nuclear-fusion.lua:2](../../old/中间文件/recipe_sources/k2/nuclear-fusion.lua#L2) | + +### 石油处理(`oil-processing`,1条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| Coke liquefaction
`coke-liquefaction` | 5 | 5小时 | 否 | Coke
`coke` × 10
`light-oil` × 25(流体)
`steam` × 50(流体) | `heavy-oil` × 20(流体)
`light-oil` × 90(流体)
`petroleum-gas` × 10(流体) | [oil-processing.lua:2](../../old/中间文件/recipe_sources/k2/oil-processing.lua#L2) | + +### 冶炼(`smelting`,8条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| Coke
`coke` | 16 | 16小时 | 否 | `coal` × 6
木材
`wood` × 6 | Coke
`coke` × 6 | [smelting.lua:2](../../old/中间文件/recipe_sources/k2/smelting.lua#L2) | +| copper-plate
`enriched-copper-plate` | 16 | 16小时 | 否 | Enriched copper
`enriched-copper` × 5 | `copper-plate` × 5 | [smelting.lua:17](../../old/中间文件/recipe_sources/k2/smelting.lua#L17) | +| iron-plate
`enriched-iron-plate` | 16 | 16小时 | 否 | Enriched iron
`enriched-iron` × 5 | `iron-plate` × 5 | [smelting.lua:42](../../old/中间文件/recipe_sources/k2/smelting.lua#L42) | +| Glass
`glass` | 16 | 16小时 | 否 | Sand
`sand` × 16 | Glass
`glass` × 8 | [smelting.lua:67](../../old/中间文件/recipe_sources/k2/smelting.lua#L67) | +| Imersium plate
`imersium-plate` | 32 | 32小时 | 否 | Imersite powder
`imersite-powder` × 9
Rare metals
`rare-metals` × 6 | Imersium plate
`imersium-plate` × 3 | [smelting.lua:83](../../old/中间文件/recipe_sources/k2/smelting.lua#L83) | +| Rare metals
`rare-metals` | 16 | 16小时 | 是 | Raw rare metals
`raw-rare-metals` × 10 | Rare metals
`rare-metals` × 5 | [smelting.lua:100](../../old/中间文件/recipe_sources/k2/smelting.lua#L100) | +| Rare metals
`rare-metals-2` | 16 | 16小时 | 否 | Enriched rare metals
`enriched-rare-metals` × 5 | Rare metals
`rare-metals` × 5 | [smelting.lua:125](../../old/中间文件/recipe_sources/k2/smelting.lua#L125) | +| Silicon
`silicon` | 16 | 16小时 | 否 | Quartz
`quartz` × 18 | Silicon
`silicon` × 9 | [smelting.lua:151](../../old/中间文件/recipe_sources/k2/smelting.lua#L151) | + +### 冶炼制造(`smelting-crafting`,13条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| copper-cable
`kr-s-c-copper-cable` | 1.0 | 1小时 | 否 | `copper-ore` × 2 | `copper-cable` × 2 | [smelting-crafting.lua:13](../../old/中间文件/recipe_sources/k2/smelting-crafting.lua#L13) | +| copper-cable
`kr-s-c-copper-cable-enriched` | 1.0 | 1小时 | 否 | Enriched copper
`enriched-copper` × 1 | `copper-cable` × 2 | [smelting-crafting.lua:31](../../old/中间文件/recipe_sources/k2/smelting-crafting.lua#L31) | +| Electronic components
`kr-s-c-electronic-components` | 12.0 | 12小时 | 否 | `plastic-bar` × 5
`stone` × 12
`water` × 20(流体) | Electronic components
`electronic-components` × 6 | [smelting-crafting.lua:49](../../old/中间文件/recipe_sources/k2/smelting-crafting.lua#L49) | +| Imersium beam
`kr-s-c-imersium-beam` | 12.0 | 12小时 | 否 | Imersite powder
`imersite-powder` × 6
Rare metals
`rare-metals` × 4 | Imersium beam
`imersium-beam` × 1 | [smelting-crafting.lua:68](../../old/中间文件/recipe_sources/k2/smelting-crafting.lua#L68) | +| Imersium gear wheel
`kr-s-c-imersium-gear-wheel` | 2.0 | 2小时 | 否 | Imersite powder
`imersite-powder` × 3
Rare metals
`rare-metals` × 2 | Imersium gear wheel
`imersium-gear-wheel` × 1 | [smelting-crafting.lua:87](../../old/中间文件/recipe_sources/k2/smelting-crafting.lua#L87) | +| Iron beam
`kr-s-c-iron-beam` | 4.0 | 4小时 | 否 | `iron-ore` × 4 | Iron beam
`iron-beam` × 1 | [smelting-crafting.lua:106](../../old/中间文件/recipe_sources/k2/smelting-crafting.lua#L106) | +| Iron beam
`kr-s-c-iron-beam-enriched` | 4.0 | 4小时 | 否 | Enriched iron
`enriched-iron` × 2 | Iron beam
`iron-beam` × 1 | [smelting-crafting.lua:124](../../old/中间文件/recipe_sources/k2/smelting-crafting.lua#L124) | +| iron-gear-wheel
`kr-s-c-iron-gear-wheel` | 1.0 | 1小时 | 否 | `iron-ore` × 2 | `iron-gear-wheel` × 1 | [smelting-crafting.lua:142](../../old/中间文件/recipe_sources/k2/smelting-crafting.lua#L142) | +| iron-gear-wheel
`kr-s-c-iron-gear-wheel-enriched` | 1.0 | 1小时 | 否 | Enriched iron
`enriched-iron` × 1 | `iron-gear-wheel` × 1 | [smelting-crafting.lua:160](../../old/中间文件/recipe_sources/k2/smelting-crafting.lua#L160) | +| iron-stick
`kr-s-c-iron-stick` | 1.0 | 1小时 | 否 | `iron-ore` × 2 | `iron-stick` × 2 | [smelting-crafting.lua:178](../../old/中间文件/recipe_sources/k2/smelting-crafting.lua#L178) | +| iron-stick
`kr-s-c-iron-stick-enriched` | 1.0 | 1小时 | 否 | Enriched iron
`enriched-iron` × 1 | `iron-stick` × 2 | [smelting-crafting.lua:196](../../old/中间文件/recipe_sources/k2/smelting-crafting.lua#L196) | +| Steel beam
`kr-s-c-steel-beam` | 20.0 | 20小时 | 否 | `iron-plate` × 20
Coke
`coke` × 4 | Steel beam
`steel-beam` × 5 | [smelting-crafting.lua:214](../../old/中间文件/recipe_sources/k2/smelting-crafting.lua#L214) | +| Steel gear wheel
`kr-s-c-steel-gear-wheel` | 5.0 | 5小时 | 否 | `iron-plate` × 10
Coke
`coke` × 1 | Steel gear wheel
`steel-gear-wheel` × 5 | [smelting-crafting.lua:233](../../old/中间文件/recipe_sources/k2/smelting-crafting.lua#L233) | + +### 稳定器充能(`stabilizer-charging`,1条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| Charged Matter stabilizer
`charged-matter-stabilizer` | 2 | 2小时 | 否 | Matter stabilizer
`matter-stabilizer` × 1 | Charged Matter stabilizer
`charged-matter-stabilizer` × 1 | [stabilizer-charging.lua:2](../../old/中间文件/recipe_sources/k2/stabilizer-charging.lua#L2) | + +### 三级科技卡(`t3-tech-cards`,5条) + +| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 | +|---|---:|---:|:---:|---|---|---| +| Advanced tech card
`advanced-tech-card` | 20 | 20小时 | 否 | Blank tech card
`blank-tech-card` × 15
Imersium gear wheel
`imersium-gear-wheel` × 20
Lithium–sulfur battery
`lithium-sulfur-battery` × 10
`electric-engine-unit` × 5 | Advanced tech card
`advanced-tech-card` × 5 | [t3-tech-cards.lua:2](../../old/中间文件/recipe_sources/k2/t3-tech-cards.lua#L2) | +| `kr_optimization_tech_card_name` | 20 | 20小时 | 否 | Blank tech card
`blank-tech-card` × 10
Space research data
`space-research-data` × 5 | `kr_optimization_tech_card_name` × 5 | [t3-tech-cards.lua:68](../../old/中间文件/recipe_sources/k2/t3-tech-cards.lua#L68) | +| Matter research data
`matter-research-data` | 20 | 20小时 | 否 | Imersite crystal
`imersite-crystal` × 5
Rare metals
`rare-metals` × 5

`lithium` × 5
`plastic-bar` × 5 | Matter research data
`matter-research-data` × 5 | [t3-tech-cards.lua:19](../../old/中间文件/recipe_sources/k2/t3-tech-cards.lua#L19) | +| Matter tech card
`matter-tech-card` | 20 | 20小时 | 否 | Blank tech card
`blank-tech-card` × 15
Matter research data
`matter-research-data` × 5
`processing-unit` × 5 | Matter tech card
`matter-tech-card` × 5 | [t3-tech-cards.lua:36](../../old/中间文件/recipe_sources/k2/t3-tech-cards.lua#L36) | +| Singularity tech card
`singularity-tech-card` | 20 | 20小时 | 否 | Blank tech card
`blank-tech-card` × 15
Charged Matter stabilizer
`charged-matter-stabilizer` × 5
AI core
`ai-core` × 5 | Singularity tech card
`singularity-tech-card` × 5 | [t3-tech-cards.lua:52](../../old/中间文件/recipe_sources/k2/t3-tech-cards.lua#L52) | diff --git a/资料/异星工厂/生成K2配方表.py b/资料/异星工厂/生成K2配方表.py new file mode 100644 index 0000000..ec16319 --- /dev/null +++ b/资料/异星工厂/生成K2配方表.py @@ -0,0 +1,542 @@ +#!/usr/bin/env python3 +"""从本地 K2 Lua 源快照生成 Markdown 与 CSV 配方表。""" + +from __future__ import annotations + +import argparse +import csv +import hashlib +import io +import re +from collections import Counter +from dataclasses import dataclass +from pathlib import Path + + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[1] +SOURCE_DIR = ROOT / "old" / "中间文件" / "recipe_sources" / "k2" +ZH_LOCALE = ROOT / "old" / "中间文件" / "locale_sources" / "k2so" / "Krastorio2-zh-CN.cfg" +EN_LOCALE = ROOT / "old" / "中间文件" / "locale_sources" / "k2" / "Krastorio2-en.cfg" +MD_PATH = HERE / "K2配方表.md" +CSV_PATH = HERE / "K2配方表.csv" + +CATEGORY_ZH = { + "advanced-chemistry": "高级化学", + "air-purification": "空气净化", + "atmosphere-condensation": "大气冷凝", + "bioprocessing": "生物处理", + "centrifuging": "离心处理", + "chemistry": "化学", + "crafting": "制造", + "crafting-with-fluid": "带流体制造", + "crushing": "粉碎", + "electrolysis": "电解", + "fluid-filtration": "流体过滤", + "fuel-refinery": "燃料精炼", + "growing": "培育", + "matter-deconversion": "物质逆转换", + "nuclear-fusion": "核聚变", + "oil-processing": "石油处理", + "smelting": "冶炼", + "smelting-crafting": "冶炼制造", + "stabilizer-charging": "稳定器充能", + "t3-tech-cards": "三级科技卡", +} + + +@dataclass(frozen=True) +class Stack: + kind: str + name: str + amount: str + probability: str | None = None + temperature: str | None = None + + +@dataclass(frozen=True) +class Recipe: + source_file: str + source_line: int + category: str + recipe_id: str + energy_required: str + enabled: bool + ingredients: tuple[Stack, ...] + results: tuple[Stack, ...] + + +def mask_strings_and_comments(text: str) -> str: + """屏蔽字符串与注释内容,同时保留字符位置和换行。""" + chars = list(text) + i = 0 + state = "code" + quote = "" + while i < len(chars): + c = chars[i] + n = chars[i + 1] if i + 1 < len(chars) else "" + if state == "code": + if c == "-" and n == "-": + chars[i] = chars[i + 1] = " " + i += 2 + state = "comment" + continue + if c in {'"', "'"}: + quote = c + chars[i] = " " + i += 1 + state = "string" + continue + elif state == "comment": + if c == "\n": + state = "code" + else: + chars[i] = " " + i += 1 + continue + elif state == "string": + if c == "\\": + chars[i] = " " + if i + 1 < len(chars): + chars[i + 1] = " " + i += 2 + continue + if c == quote: + chars[i] = " " + state = "code" + elif c != "\n": + chars[i] = " " + i += 1 + continue + i += 1 + return "".join(chars) + + +def brace_pairs(text: str) -> dict[int, int]: + masked = mask_strings_and_comments(text) + stack: list[int] = [] + pairs: dict[int, int] = {} + for i, c in enumerate(masked): + if c == "{": + stack.append(i) + elif c == "}" and stack: + pairs[stack.pop()] = i + return pairs + + +def containing_block(text: str, position: int) -> tuple[int, int]: + pairs = brace_pairs(text) + candidates = [(start, end) for start, end in pairs.items() if start < position < end] + if not candidates: + raise ValueError(f"找不到位置 {position} 所属的 Lua 表") + return min(candidates, key=lambda pair: pair[1] - pair[0]) + + +def extract_table(block: str, field: str) -> str: + match = re.search(rf"\b{re.escape(field)}\s*=\s*\{{", block) + if not match: + raise ValueError(f"配方缺少 {field} 表") + opening = block.find("{", match.start()) + closing = brace_pairs(block).get(opening) + if closing is None: + raise ValueError(f"{field} 表的大括号不配对") + return block[opening : closing + 1] + + +def scalar(block: str, field: str, default: str | None = None) -> str: + match = re.search(rf"\b{re.escape(field)}\s*=\s*([^,\n}}]+)", block) + if not match: + if default is None: + raise ValueError(f"配方缺少字段 {field}") + return default + return match.group(1).strip().strip('"\'') + + +def parse_stacks(table: str) -> tuple[Stack, ...]: + stacks: list[Stack] = [] + for match in re.finditer(r"\{([^{}]*)\}", table, flags=re.S): + entry = match.group(1) + name_match = re.search( + r'\bname\s*=\s*(?:"([^"]+)"|([A-Za-z_][A-Za-z0-9_]*))', + entry, + ) + if not name_match: + continue + kind_match = re.search(r'\btype\s*=\s*"([^"]+)"', entry) + amount_match = re.search(r"\bamount\s*=\s*([0-9.]+)", entry) + min_match = re.search(r"\bamount_min\s*=\s*([0-9.]+)", entry) + max_match = re.search(r"\bamount_max\s*=\s*([0-9.]+)", entry) + probability_match = re.search(r"\bprobability\s*=\s*([0-9.]+)", entry) + temperature_match = re.search(r"\btemperature\s*=\s*([0-9.]+)", entry) + if amount_match: + amount = amount_match.group(1) + elif min_match and max_match: + amount = f"{min_match.group(1)}–{max_match.group(1)}" + else: + amount = "1" + stacks.append( + Stack( + kind=kind_match.group(1) if kind_match else "item", + name=name_match.group(1) or name_match.group(2), + amount=amount, + probability=probability_match.group(1) if probability_match else None, + temperature=temperature_match.group(1) if temperature_match else None, + ) + ) + return tuple(stacks) + + +def parse_recipe_file(path: Path) -> list[Recipe]: + text = path.read_text(encoding="utf-8-sig") + recipes: list[Recipe] = [] + seen_blocks: set[tuple[int, int]] = set() + for match in re.finditer(r'\btype\s*=\s*"recipe"', text): + start, end = containing_block(text, match.start()) + if (start, end) in seen_blocks: + continue + seen_blocks.add((start, end)) + block = text[start : end + 1] + recipe_id = scalar(block, "name") + recipes.append( + Recipe( + source_file=path.name, + source_line=text.count("\n", 0, start) + 1, + category=scalar(block, "category", "crafting"), + recipe_id=recipe_id, + energy_required=scalar(block, "energy_required", "0.5"), + enabled=scalar(block, "enabled", "true").lower() == "true", + ingredients=parse_stacks(extract_table(block, "ingredients")), + results=parse_stacks(extract_table(block, "results")), + ) + ) + return recipes + + +def parse_locale(path: Path) -> dict[str, dict[str, str]]: + sections: dict[str, dict[str, str]] = {} + current = "" + for raw_line in path.read_text(encoding="utf-8-sig").splitlines(): + line = raw_line.strip() + if not line or line.startswith(";") or line.startswith("#"): + continue + if line.startswith("[") and line.endswith("]"): + current = line[1:-1] + sections.setdefault(current, {}) + continue + if "=" in line and current: + key, value = line.split("=", 1) + sections[current][key] = value + return sections + + +def expand_macros(value: str, locale: dict[str, dict[str, str]]) -> str: + macro_sections = {"ITEM": "item-name", "FLUID": "fluid-name", "ENTITY": "entity-name"} + pattern = re.compile(r"__(ITEM|FLUID|ENTITY)__([^_][^_]*)__") + for _ in range(5): + replaced = pattern.sub( + lambda m: locale.get(macro_sections[m.group(1)], {}).get(m.group(2), m.group(2)), + value, + ) + if replaced == value: + break + value = replaced + return value + + +def localized_name( + name: str, + kind: str, + locale: dict[str, dict[str, str]], + *, + recipe: bool = False, +) -> str | None: + if recipe: + candidates = ("recipe-name", "item-name", "fluid-name", "entity-name") + elif kind == "fluid": + candidates = ("fluid-name", "item-name", "recipe-name") + else: + candidates = ("item-name", "entity-name", "recipe-name", "fluid-name") + for section in candidates: + value = locale.get(section, {}).get(name) + if value: + return expand_macros(value, locale) + return None + + +def source_digest(paths: list[Path]) -> str: + digest = hashlib.sha256() + for path in paths: + digest.update(path.name.encode("utf-8")) + digest.update(b"\0") + digest.update(path.read_bytes()) + digest.update(b"\0") + return digest.hexdigest() + + +def escape_md(value: str) -> str: + return value.replace("|", "\\|").replace("\n", " ") + + +def story_duration_hours(game_seconds: str) -> str: + """按全书统一比例把游戏配方秒数换算为正文小时数。""" + try: + return f"{float(game_seconds):g}小时" + except ValueError: + return f"{game_seconds}小时(待运行时解析)" + + +def story_duration_value(game_seconds: str) -> str: + """供 CSV 使用的正文小时数;数值与游戏秒数保持一比一。""" + try: + return f"{float(game_seconds):g}" + except ValueError: + return game_seconds + + +def display_name( + name: str, + kind: str, + zh: dict[str, dict[str, str]], + en: dict[str, dict[str, str]], + *, + recipe: bool = False, +) -> str: + zh_name = localized_name(name, kind, zh, recipe=recipe) + en_name = localized_name(name, kind, en, recipe=recipe) + label = zh_name or en_name + if label and label != name: + return f"{escape_md(label)}
`{name}`" + return f"`{name}`" + + +def stack_amount(stack: Stack) -> str: + value = stack.amount + if stack.probability: + value += f"({float(stack.probability) * 100:g}% 概率)" + if stack.temperature: + value += f"({stack.temperature}℃)" + return value + + +def display_stacks( + stacks: tuple[Stack, ...], + zh: dict[str, dict[str, str]], + en: dict[str, dict[str, str]], +) -> str: + if not stacks: + return "无" + rendered = [] + for stack in stacks: + type_note = "(流体)" if stack.kind == "fluid" else "" + rendered.append( + f"{display_name(stack.name, stack.kind, zh, en)} × {stack_amount(stack)}{type_note}" + ) + return "
".join(rendered) + + +def plain_name( + name: str, + kind: str, + locale: dict[str, dict[str, str]], + *, + recipe: bool = False, +) -> str: + return localized_name(name, kind, locale, recipe=recipe) or "" + + +def plain_stacks( + stacks: tuple[Stack, ...], + zh: dict[str, dict[str, str]], + en: dict[str, dict[str, str]], +) -> str: + values = [] + for stack in stacks: + zh_name = plain_name(stack.name, stack.kind, zh) + en_name = plain_name(stack.name, stack.kind, en) + names = "/".join(part for part in (zh_name, en_name, stack.name) if part) + type_note = "[fluid]" if stack.kind == "fluid" else "[item]" + values.append(f"{names} x {stack_amount(stack)} {type_note}") + return "; ".join(values) + + +def build_markdown( + recipes: list[Recipe], + zh: dict[str, dict[str, str]], + en: dict[str, dict[str, str]], + digest: str, +) -> str: + counts = Counter(recipe.category for recipe in recipes) + lines = [ + "# K2配方表(本地源快照)", + "", + "## 文件状态", + "", + "本文件是写作参考资料,不是《越共》正文 canon,也不是一局实际安装模组后导出的最终配方数据库。", + "", + f"- 数据范围:`old/中间文件/recipe_sources/k2/` 内 {len(counts)} 个 Lua 文件,共 {len(recipes)} 条显式 `recipe` 定义。", + "- 中文名称:优先采用本地 `k2so/Krastorio2-zh-CN.cfg`;缺失时退回 K2 英文 locale 或内部 ID。中文只用于检索和阅读,不参与数值判定。", + "- 未包含:基础游戏配方、其他 K2 脚本在 `data-updates` 等阶段对基础配方的修改、建筑兼容列表、模组设置与实际存档中的最终覆盖结果。", + "- 源文件中无法仅靠本快照求值的 Lua 变量名会原样保留。例如 `kr_optimization_tech_card_name` 是运行时解析的配方名,不擅自猜成某个固定物品 ID。", + "- 本地没有 K2 `info.json` 或完整模组包,无法仅凭这批文件确认确切版本。", + f"- 源数据 SHA-256 汇总:`{digest}`。", + "- 本表由同目录 `生成K2配方表.py` 生成;源文件变化后可重新生成,勿手工修改表格主体。", + "", + "## 对小说写作的直接用法", + "", + "- 实验室负责研究和解锁;制造机载入已经取得的配方,检查原料并执行制造。实验室本身不直接制造手枪。", + "- 在没有传送带、机械臂和物流网络时,可以人工把金属、零件或标准料箱送入制造机。这与游戏中手动向机器上料的逻辑相容。", + "- 本地显式 K2 配方快照中没有 `pistol` 配方;小说采用用户确认截图中的手枪配方:制造时间5秒、铁板5、铜板5、产出1。K2归档源码中的铁板2、铜板1属于另一版本,不用于当前正文。", + "- 全书配方时间统一按1游戏秒=正文1小时换算。本表保留游戏原始秒数,并另列小说基准制造时长;排队、人工上料、质检、冷却、故障与停机时间另行累计。", + "- 配方中的物料单位是游戏单位,不能直接等同于现实千克或升。小说把游戏界面的“产出1”解释为机器完成一次固定生产;原料关系不变,实际用料按这次产出的全部成品核算。", + "- M1910式手枪在小说中每次固定生产32把,并封装为一只成品箱;32把约18.88千克,连同空箱与四层托盘仍低于24千克上限。制造完成后需由能源/解包节点开箱,才能取得和分配单把手枪。", + "", + "## 手枪与弹药补充参考", + "", + "| 对象 | K2/基础游戏原配方 | 小说适配层 |", + "|---|---|---|", + "| 当前采用的游戏手枪 | 制造时间5秒、铁板5、铜板5、产出1 | 自动实验室从M1910样枪得到本机可用的制造方法;5秒换算为一箱32把手枪制造5小时,实际取料按整箱质量与加工损耗缩放。枪械本身不消耗底火或发射药 |", + "| 基础枪械弹匣 | 制造时间1秒、铁板4、成品弹匣1;每只弹匣10发 | M1910的7.65毫米弹匣容量为7发。小说适配为制造时间1秒、铁板3、铜板1、产出1箱;正文基准制造1小时。每箱192只满装弹匣,共1344发;铅料、发射药和底火作为受控耗材另行检查 |", + "", + "- K2归档手枪配方(仅作版本差异参考,当前正文不采用):", + "- Factorio基础枪械弹匣:", + "- M1910式手枪的.32 ACP弹匣容量为7发:", + "- 一发7.65×17毫米手枪弹约重7.9克,其中弹头约4.8克、黄铜弹壳约2.6克;7发约重55.3克。按空弹匣不超过50克估算,192只满装弹匣不超过20.22千克,连同约3.5千克箱体与托盘后不超过23.72千克:", + "- Factorio 2.0.7 已删除手枪制造配方,因此这里采用的是K2对应旧版基础游戏的历史逻辑,而不是当前2.x配方。", + "- 铁板、铜板和钢板按K2物料类型分别记账。任何配方中的钢板都保留为钢板,不向下折算成铁板;本书采用的基础弹匣配方不含钢板。", + "- 为保持物质守恒,小说中的手枪弹必须实际消耗弹壳、弹头、发射药和底火材料。设备可以记录现有余料并报告缺料,但不会自行规划补充来源。", + "- K2/基础游戏存在“炸药”科技与 `explosives` 中间品,但基础枪械弹匣不消耗它。小说中该科技用于后续独立补充军械化工耗材、爆破采矿和爆炸武器,不能倒填成第007章手枪弹的直接原料。", + "- Factorio炸药科技:", + "", + "## 研究设施边界", + "", + "本地科技文件表明:`kr-laboratory` 科技解锁基础 `lab`;`kr-advanced-lab` 是更高效的实验室且不兼容基础科技卡;`kr-research-server` 用于生产复杂科技卡;`kr-singularity-lab` 属于更后期的研究设施。它们支持“研究—解锁—制造”的分工,不支持“实验室直接吐出成品”。", + "", + "## 分类统计", + "", + "| 内部类别 | 中文说明 | 配方数 |", + "|---|---:|---:|", + ] + for category in sorted(counts): + lines.append(f"| `{category}` | {CATEGORY_ZH.get(category, '未译')} | {counts[category]} |") + lines.extend(["", "## 配方明细", ""]) + for category in sorted(counts): + category_recipes = sorted( + (recipe for recipe in recipes if recipe.category == category), + key=lambda recipe: recipe.recipe_id, + ) + lines.extend( + [ + f"### {CATEGORY_ZH.get(category, category)}(`{category}`,{len(category_recipes)}条)", + "", + "| 配方 | 游戏耗时(秒) | 小说基准制造时长 | 初始可用 | 输入 | 输出 | 源位置 |", + "|---|---:|---:|:---:|---|---|---|", + ] + ) + for recipe in category_recipes: + source = ( + f"[{recipe.source_file}:{recipe.source_line}]" + f"(../../old/中间文件/recipe_sources/k2/{recipe.source_file}#L{recipe.source_line})" + ) + lines.append( + "| " + + " | ".join( + [ + display_name(recipe.recipe_id, "item", zh, en, recipe=True), + recipe.energy_required, + story_duration_hours(recipe.energy_required), + "是" if recipe.enabled else "否", + display_stacks(recipe.ingredients, zh, en), + display_stacks(recipe.results, zh, en), + source, + ] + ) + + " |" + ) + lines.append("") + return "\n".join(lines).rstrip() + "\n" + + +def build_csv( + recipes: list[Recipe], + zh: dict[str, dict[str, str]], + en: dict[str, dict[str, str]], +) -> bytes: + output = io.StringIO(newline="") + writer = csv.writer(output) + writer.writerow( + [ + "source_file", + "source_line", + "category", + "category_zh", + "recipe_id", + "recipe_name_zh", + "recipe_name_en", + "energy_required", + "story_duration_hours", + "enabled", + "ingredients", + "results", + ] + ) + for recipe in sorted(recipes, key=lambda item: (item.category, item.recipe_id)): + writer.writerow( + [ + recipe.source_file, + recipe.source_line, + recipe.category, + CATEGORY_ZH.get(recipe.category, ""), + recipe.recipe_id, + plain_name(recipe.recipe_id, "item", zh, recipe=True), + plain_name(recipe.recipe_id, "item", en, recipe=True), + recipe.energy_required, + story_duration_value(recipe.energy_required), + "true" if recipe.enabled else "false", + plain_stacks(recipe.ingredients, zh, en), + plain_stacks(recipe.results, zh, en), + ] + ) + return output.getvalue().encode("utf-8-sig") + + +def main() -> int: + parser = argparse.ArgumentParser() + parser.add_argument("--check", action="store_true", help="只校验生成结果是否为最新") + args = parser.parse_args() + + source_paths = sorted(SOURCE_DIR.glob("*.lua"), key=lambda path: path.name) + if not source_paths: + raise SystemExit(f"未找到 K2 配方源:{SOURCE_DIR}") + + recipes = [recipe for path in source_paths for recipe in parse_recipe_file(path)] + if len(recipes) != 119: + raise SystemExit(f"配方数量异常:预期 119,实际 {len(recipes)}") + ids = [recipe.recipe_id for recipe in recipes] + duplicates = sorted(name for name, count in Counter(ids).items() if count > 1) + if duplicates: + raise SystemExit(f"发现重复配方 ID:{', '.join(duplicates)}") + + zh = parse_locale(ZH_LOCALE) + en = parse_locale(EN_LOCALE) + markdown = build_markdown(recipes, zh, en, source_digest(source_paths)).encode("utf-8") + csv_bytes = build_csv(recipes, zh, en) + + if args.check: + problems = [] + if not MD_PATH.exists() or MD_PATH.read_bytes() != markdown: + problems.append(MD_PATH.name) + if not CSV_PATH.exists() or CSV_PATH.read_bytes() != csv_bytes: + problems.append(CSV_PATH.name) + if problems: + raise SystemExit("生成文件不是最新版本:" + "、".join(problems)) + print(f"校验通过:{len(source_paths)} 个源文件,{len(recipes)} 条配方。") + return 0 + + MD_PATH.write_bytes(markdown) + CSV_PATH.write_bytes(csv_bytes) + print(f"已生成 {MD_PATH.name} 与 {CSV_PATH.name}:{len(recipes)} 条配方。") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/风格约束.md b/风格约束.md index 4d00306..a96b19b 100644 --- a/风格约束.md +++ b/风格约束.md @@ -129,6 +129,7 @@ ## 句子与段落 - 使用自然现代中文。不要照搬日语语序、滥用省略号和感叹号,也不要故意加入译制腔来制造“轻小说感”。 +- 禁止用无实质对立的“先否定、后肯定”制造强调、转折或金句,包括“不是A,而是B”“并非A,只是B”“没有A,只有B”“与其说A,不如说B”等变体。如果A没有在前文出现,人物也不是在纠正误解、排除方案或作出真实选择,就直接写B,或让动作和结果呈现B。只有明确反驳、纠错、拒绝和人物有意对照时,才能保留这类结构。 - 句子长短随功能变化。命令、枪声、命中、拒绝、突然发现和笑点可以短促;连续观察、动作链、因果和思考可以适度展开。 - 不机械把句号换成逗号,也不机械把复句拆成一行一个短句。 - 连续数句结构相同、长度相近时,应调整其中一部分;但有意的追击、警报、重复确认或喜剧三拍可以保留。