老帅蹲在断墙后面,看着远处那些正在收拢引线的灰绿与黑色身影,像在确认一段他已经数过很多次的数字是否真的能与战场上的实际间距对齐。他开口的时候声音不高,像在陈述一件已经不需要再被讨论的事实,尾音收得干净利落:"撤。往回走,天亮之前撤出这片区域。那条路已经不能走了,换一条。"他站起来,拍了把膝盖上沾的灰,像是已经完成了所有必要的测量和估算,正在准备把那些被反复校验过的数据收进背包夹层里,等需要的时候再拿出来使用。他向前迈了半步,正要转身迈出第一步。
吴宗棠在他身后大约三步远的位置站了起来。他站起来的时候手里已经握着那杆枪了,没有人看见他是从什么角度、什么间隙把它从背上取下来的——只知道那杆枪已经抵在肩窝里,枪口朝向前方那片正在撤退的灰绿与黑色身影之间的空隙。他的手指扣了一下扳机。枪声在晨曦中炸开,干燥、短促,像一根被猛然折断的旧树枝,回音在废墟之间弹跳了两下才散尽。然后他笑了一声。那声音不高,像一层被压薄了的旧金属片正在缓慢弯曲,边缘已经裂开了,但还没有完全断开。那声笑从喉咙里挤出来,很短,尾音带着一层像是被压碎了的干涩回响,在空气中持续了不到一息就收住了。他没有回头看老帅的方向,没有解释开枪的理由,只是站在那里,枪口还冒着极淡的硝烟,像是用这一枪来表明他的立场已经结束了权衡阶段,正在转入行动序列。
老帅的反应比吴宗棠收回枪口更快。他在枪声响起的那一瞬间已经完成了两件事:判定声音来自己方阵地,判定这一枪已经暴露了连帮的位置,判定拖延和观望都已经失去了存在的依据。他的身体从侧身转向面朝前方,脚跟落地之前已经抬手打出了一个手势——那是开火的手势,不是撤退的手势。他的手势落下的同时,他的声音从他喉咙里压了出来,不高,但每个字都像是被压实了再推出来的:"开火。"那两个字的间隔极短,像是同一句话的两个音节被压在同一拍里,没有空隙留给犹豫。
连帮的火力在那两个字落下之后不到几息之内铺开了。老胡子头趴在断墙一侧的缺口处,手里的步枪已经架好了,枪托抵进肩窝,视线沿着准星和前方那些正在后撤的灰绿色和黑色轮廓之间的空隙快速划过——他没有停顿,像是早在吴宗棠开枪之前就已经完成了所有的预瞄准和距离估算,只差那个信号。第一发子弹落在一个正在收拢引线的民兵肩胛骨上方,精准地打断了他手臂与躯干之间的连接点。那声音几乎在同时被第二发和第三发覆盖掉了,像几条并列的线段,沿着各自的轨道并行延伸,互不干扰。
协会兵的反应是在两秒之内完成的。他们没有散开——他们散开的动作更像是被预先排好的阵型在同时展开。东洋军士兵在连帮第一轮火力落点边缘开始朝前跑,步伐低伏而稳定,背着的炸药包用带子固定在胸前,引线已经拉出来了。民兵留在后方,掷雷的手套在暴露出来的瞬间已经完成了拉环和投掷,动作短促而精确,像一枚被反复校准过的钟摆在每个周期内维持着同样的幅度。重机枪在更远的位置开始鸣响,那声音不是扫射的连发,而是经过计算的短促点射,像有人在用一根细长的钉子持续敲击同一块铁板,把火力分布到连帮掩体边缘那些最可能被探头的位置。狙击手的位置更靠后。东洋军的狙击手在连帮开火之后大约五息内完成了瞄准,使用的是电磁质控型爆裂狙击枪——那种枪的弹道需要额外的参数来补偿远距离磁场漂移,需要射手在射击前完成一段复杂的运算。那名狙击手没有额外的时间来调整瞄准镜的参数。他的开枪动作几乎和运算同时结束,像是他已经在脑海中把公式推演完毕,只差扣动扳机来验收。子弹贴着老胡子头右侧肩膀上方的空气划过去,距离近到老胡子头能感觉到空气被挤压后的细微震颤——没有打中,但已经逼近了那条可供闪避的余量边缘。
天启的重炮是从更后方打过来的。第一发落点偏了大约十几步,第二发修正了距离,弹片和碎石在连帮阵地前方炸开,扬起的尘土在半空中形成一道不规则的屏障,把视野切割成两半。那道屏障形成的瞬间,视野在尘土与光之间短暂地分裂成两段,一段是露天的、正在迅速变暗的晨光,另一段是正在落下的碎石和沙土,那些颗粒在日光中缓慢旋转着,沿着各自的轨迹分散开来。
吴宗棠在那片尘土遮蔽视线的瞬间已经冲出了掩体,身体在起身的同时朝右侧倾斜了一个角度,像是已经预判了下一发炮弹的落点会比他原来站立的位置偏左。他的步伐不稳,带着一种节奏上的断裂感——有时候两步之间的距离比三步短,有时候一步跨出去之后下一脚落地的位置比前一步偏差出半只靴子的长度——但他的方向是明确的,朝着那片正在撤退的灰绿色与黑色轮廓之间那道正在收窄的缝隙,像是一枚已经被压进弹膛的旧弹头正在沿着轨道向前滑动,即将离开枪口。胖猪在他身后跟了出去。胖猪冲出掩体的时候没有喊叫,没有多余的动作,他在跑动中调整着自己的方向,跟在吴宗棠侧后方的位置,保持着一个弹坑的距离。
老帅在掩体后面没有移动位置。他在那两秒内已经完成了指令的重新部署——让老胡子头架住右侧火力,让副科学家把探测仪收起来腾出手,让赵日阳转向东面警戒可能出现的侧翼包抄。他没有去看吴宗棠冲出去的方向,像是他已经接受了一个事实:那个方向已经不再属于他的可控范围。他在同一刻把手伸向腰侧那只装填好的信号弹发射管,把它抽出来,朝天空斜上方打了一发。那枚信号弹在高处炸开时发出的光亮比任何一次开火指令都更明确地告诉连帮所有人:这是战斗,不是遭遇。
老胡子头蹲在断墙侧面,在狙击手第二发子弹打碎他左侧一块砖角的瞬间完成了位置转移,从缺口处挪到了半截石柱后面,重新架枪。他的动作保持着流畅的惯性,像一块被反复翻动的旧铁板,正在重新调整自身与地面的夹角,准备迎接新的接触点。他的枪口在那段切换过程中始终指向那片正在推进的黑绿色轮廓,没有偏离过那条已经被反复测量的线。远处,那些背着炸药包的东洋军士兵已经进入了最后一段冲刺距离。他们的动作比之前更快,更稳定,没有丝毫犹豫或退缩的迹象。重机枪的射击持续不断地覆盖着连帮掩体的边缘,狙击手正在寻找新的角度,天启的重炮正在修正下一发弹道的偏向——整个低洼地周围,所有的火力都在那几秒内完成了从待命到全力运转的过渡。枪声、爆炸声和脚步声在低洼地边缘汇成一片持续的、低沉的轰鸣,像一条正在从地下深处缓慢升起的脉搏,正在沿着废墟之间的缝隙向外扩散。
吴宗棠在那片轰鸣中继续朝前移动,步伐的断裂感仍然维持着,但他的方向没有偏移,也没有因为任何一侧的火力而被强迫改道。胖猪跟在他身后,呼吸保持着固定的节奏,眼睛在微光中始终亮着。老帅站在掩体后面,一边盯着火力动向,一边不断调整手势,像一根正在被反复校准的旧标杆,持续校正着那些正在改变方向的路径。硝烟和尘土的遮挡没有让他的判断慢下来,他只是静静地调整着自己的站位,让那些被炸碎的石块与砖屑从他肩膀两侧落下去,像在翻一本不断被风吹乱的书页,逐字逐句地调整阅读的节奏,确保每一行都被完整地读进脑子里,而不是停留在正在脱落的纸张表面。
枪声在低洼地边缘密集地铺开,像一层正在被反复锤打的铁板,每一次撞击都在表面留下新的凹陷。苏望禾蜷在掩体后面,身体缩成尽可能小的体积,那条赤红色的尾巴沿着他的腿侧收拢到最紧的程度,尾尖贴着自己的脚踝,每一根肌肉纤维都维持着收缩的状态。那些子弹从他头顶上方和侧面飞过去的时候带着一种空气被撕裂的尖锐声响,穿过碎石和断墙的间隙,在墙体表面撞出细碎的石屑和粉尘。他没有抬头,没有移动,甚至没有睁眼。他的呼吸被他自己压到最浅的幅度,像是要让自己的存在体积压缩到尽可能小的刻度,减小被注意到的可能性。他听见那些声音在持续移动,有时候近一些,有时候远一些,像一条正在被反复拉伸又放松的线,正在他周围不断调整自己的边界。
老胡子头的枪声从更远的位置持续传来,间隔越来越短。重机枪的点射在他左侧大约几十步之外固定着节奏,每次间隔都在同一个刻度上,没有偏移。远处那些灰绿色和黑色身影正在不断减少,有的倒下了,有的正在被拖向后方,有的在倒下的过程中已经不再移动。一个东洋军军官从前方那片已经被炸翻过的地面上站起来,朝身后打了一个手势——那手势短促而清晰,像在传达一个已经被确认过很多次、不再需要解释的决定。几名东洋军士兵开始后撤,步伐低伏,保持着最低的暴露面,扛着伤员和枪械朝后方那片断墙方向退去。那个军官留在原处,没有跟上去。他站在原地,把已经打空的弹匣从步枪上卸下来,换上了一只新的,然后把枪重新端平,面朝着连帮火力的方向,像一个正在完成一件已经被分配好、不需要被讨论的任务的人。
老胡子头的下一发子弹击中了他的左肩。他的身体被冲击力带着朝右侧偏了一下,但没有倒下,像一层被风吹弯了又回弹回来的旧铁板,正在用自身的惯性来完成那半圈调整动作,把重心重新压回原来的方向,继续维持站立的姿态。他又开了两枪,然后被重火力击中,身体在惯性中完成了最后的位移,像一座正在沉向地面的旧钟楼,在最后的环节中保持着原有的轮廓,直到所有气力都被耗尽,不再需要任何外力来结束他的站立。连帮在那次交火中击毙了大半协会兵,但代价比预想中高。三个民兵在最后一轮投掷中完成了他们的程序,而他们的防线在那之后迅速收缩回更小的范围内,像一层被反复揉搓的旧布料,正在慢慢缩小自己的面积,直到再也找不到可以继续拉伸的余地。苏望禾仍然蜷在掩体后面没有动,那条赤红色的尾巴仍然贴着地面,尾尖上那枚草环的边缘沾了一层薄薄的灰白色粉尘。风从低洼地那边吹过来的时候,他听见远处那些撤退的脚步声正在逐渐变远、变稀。他没有抬起头来看向那些脚步消失的方向,只是让那些声音沿着地面传导到他的耳膜里,在脑海里重新拼接成一条缓慢远去的弧线。那些脚步声逐渐消失在碎片和弹壳之间,像一条线正在被从纺锤上缓慢抽离,逐步缩短,直到和周围那些已经停止移动的声响融为一体,再也无法单独辨认出来。