小説置き場

第12話「広告無敵時間」

2,950文字 約6分

引っ越しは三時間で終わった。オヤジの紹介で、蒲田のジャンク置き場の二階に間借りすることになった。六畳よりさらに狭い。四畳半。窓は一つ。エアコンはない。壁に染みがある。だがコンセントは三口あり、圏外じゃない。

「最低限の住環境ね」

「家賃ゼロ円。文句言うな」

「言ってない。感想を述べただけ」

 荷物は俺のデバイスとリサのボロボロの軍服ドレスだけだ。引っ越しというより移動。ホームレスが公園のベンチを変えるのと大差ない。

 フリープランに切り替わって二日目。

 リサの視界には一日四十回、五秒間のスキップ不可広告が降ってくる。俺と同じだ。俺はもう慣れた。三年も浴びれば、広告が来るタイミングが体内時計に組み込まれる。

 リサはまだ慣れていない。

「——っ」

 会話の途中でリサの目が虚ろになった。瞳孔が開いて、焦点が消える。五秒間。AR視界が広告に完全にジャックされている。

 五秒後、リサの目に光が戻った。

「……今のは?」

「育毛剤。たぶんプレミアム向けのやつだ。ターゲティングが狂ってるのはフリープランの仕様。金を払わない人間にはゴミ広告しか来ない」

「私に育毛剤」

「ユーザー属性の分析にも金がかかる。フリーのお前の属性は"不明"だ。不明には不明向けの広告が飛ぶ。育毛、結婚相談所、オンラインカジノの三大ジャンクだ」

 リサが心底うんざりした顔をした。エンタープライズ・プランでは広告が存在しない。金を払えば世界はきれいだ。払わなければこうなる。

「慣れるしかない。俺の最初の一ヶ月は地獄だった」

「慣れたの?」

「慣れた。今は広告の五秒を呼吸に使ってる。吸って、止めて、吐いて。ちょうど五秒」

「それは慣れたんじゃなくて、諦めたんじゃないの」

 否定できなかった。

 その日の夕方。

 リサが妙なことを言い出した。

「クロヤ。広告の五秒間、あなた触られても分からないの?」

「分からない。AR視界が全入力チャンネルをロックする。視覚も聴覚もタッチ入力も。五秒間は完全に切断される」

「なぜ?」

「広告スキップを防ぐためだ。入力を受け付けたら、ハードウェア割り込みでスキップできる可能性がある。だからフリープラン用の広告再生中は、ニューロリンクの入力インターフェースごと凍結される。公式の利用規約に書いてある。第七章第三十四条、広告視聴義務に関する項」

「入力が全部ロックされる。ということは」

 リサの目が光った。エンタープライズ出身の分析能力が回り始めている。

「攻撃入力も、無効?」

 俺の手が止まった。

「……もう一回言ってくれ」

「広告の五秒間。入力が全部ロックされるなら、外部からの攻撃入力も受け付けないんじゃないの?」

 心臓が跳ねた。巻き戻せ。何がおかしい?

 考えたことがなかった。三年間フリープランで生き延びてきて、広告の五秒は「失う時間」としか考えていなかった。消費者として訓練されすぎていた。

 だがリサは消費者じゃない。元エンタープライズだ。システムの設計思想から逆算する人間だ。

「オムニバースの攻撃は全部AR入力経由だ。能力の発動も、ステータスの書き換えも、全部ニューロリンクの入力チャンネルを通る。広告再生中にチャンネルがロックされてるなら——」

「攻撃も通らない」

 俺は天井を見た。染みだらけの天井。脳が2ミリ秒で計算した。頭の中でオムニバースのAPIドキュメントを高速でめくる。

 入力チャンネルのロック。公式仕様。広告配信ミドルウェアが全チャンネルのexclusive lockを取得する。exclusive lockの間は他プロセスからのwrite要求が全拒否される。つまり攻撃コマンドがwrite要求として飛んできても、ロック中は弾かれる。

 五秒間の無敵。

「……嘘だろ」

「嘘じゃないでしょう? 論理的に正しいはず」

「正しい。正しいが」

 俺は三年間、この可能性に気づかなかった。

 広告は罰だと思っていた。五秒間の視界強奪。一日四十回、合計二百秒の人生の無駄。俺はそれを耐え忍ぶものとしか見ていなかった。

 リサは初日で反転させた。

「検証する」

 俺はデバイスを取り出した。

「今から俺のARにピング攻撃を飛ばす。最低威力の、痛くないやつだ。お前が広告に入った瞬間に撃つ。通るかどうか見る」

「分かった」

 待った。三分後、リサの目が虚ろになった。広告が来た。

 俺はデバイスから最低威力のピング攻撃を送信した。通常なら相手のAR視界にエラーポップアップが一つ表示される程度のもの。

 五秒経過。リサの目が戻った。

「何か来た?」

「何も」

 デバイスのログを確認した。送信ステータス——REJECTED: target input channel locked

 拒否。ターゲットの入力チャンネルがロック中のため受信拒否。

「通らなかった」

 リサが微笑んだ。

「つまり広告が来るたびに、五秒間は誰にも攻撃されないということね」

「ああ。五秒間の絶対防御。代わりに五秒間は自分も何もできないが」

「でも戦闘中に五秒あれば」

「距離を取れる。位置を変えられる。いや、広告中は体も動かせるのか?」

「ニューロリンクの入力がロックされるだけで、身体の自律神経系は別系統でしょう? 足で走るのは脳幹レベルの運動指令だから、ロック対象外のはず」

 鳥肌が立った。

 広告が来た瞬間——AR攻撃は全無効。でも脚は動く。走れる。逃げられる。再配置できる。五秒間、敵の攻撃が絶対に当たらない状態で、自分だけが物理的に動ける。

「お前、こっち側の才能あるぞ。俺が想定してた以上に」

「褒めてるの?」

「褒めてる。三年気づかなかったことを初日で見つけた。東京一の詐欺師が見落としていたバグを、元お嬢様が発掘した」

「バグじゃないわ。仕様よ。仕様を読み替えただけ」

 仕様を読み替えただけ。

 それが一番怖いんだよ、リサ。

 俺はデバイスに新規ファイルを作成した。ファイル名:ad_shield_protocol_v0.1.txt

 項目を打ち込んだ。

  利用規約 第7章34条に基づく防御手順(暫定版)

  1. フリープラン広告の配信間隔を計測し、次回配信時刻を予測する   2. 戦闘中、攻撃が来る直前に広告タイミングを意図的に合わせる(身体位置で調整)   3. 広告開始と同時に物理移動を実行。5秒間のinput lockを盾として利用   4. 広告終了直後の0.5秒間はチャンネル再接続のラグあり——この隙に反撃の初動を取る

  注意事項:   - 広告タイミングの完全な予測は不可能。±15秒の誤差あり   - 一日40回の制限あり。使い切ったら防御手段消失   - 本手法はオムニバース社の利用規約に違反しない(広告を視聴しているため)

「最後の一行がいいわね」

「だろ。合法だ。規約通りに広告を見てるだけ。たまたま攻撃が当たらないのは仕様」

 リサが笑った。声を出して笑った。凍結解除後、初めてのちゃんとした笑い方だった。

「ありがとう、オムニバース。すばらしい広告体験をお届けいただき、感謝いたします」

 最悪のユーザーレビューだ。

 だが、五秒間の盾を手に入れた。これで次に堂本が来ても、少しは戦える。

 窓の外で、蒲田の夕日が落ちていく。東京の西。ありふれた夕暮れ。

 リサの視界にまた広告が割り込んだ。今度はオンラインカジノだ。リサの目が虚ろになる。五秒間。

 その五秒を、俺は黙って数えた。

 一、二、三、四、五。

 五秒間の無敵時間。

 悪くない鎖だ。