第十二話 卑怯かと問われれば…卑怯だ
腕の傷は、朝になったら塞がっていた。
回復した。HPが回復した。眠っていないのに、だ。眠らないのに傷が塞がる。NPCとは何と合理的な存在か、と今日ほど思ったことはない。無駄がない。倒れていた頃から無駄がなかったが、こうして自分の仕組みを外から観察すると、設計の精度が改めて分かる。褒めたくないが精度が高い。私の尊厳を百万回踏み潰した者たちは、傷だけは丁寧に直してくれる。それが余計に腹立たしい。腹立たしいという感情を今日初めて自覚した。昨日は痛かっただけだ。一日経つと痛みは怒りに変わるらしい。人間とはそういうものか。私は人間ではないが。
昨日の続きを、今日考えることにした。
「書き換えられないとしても、読めるということは、どこに何が書いてあるか全部分かるということだ。どこに弱点があるか。どこに隙があるか。どこを突けばいいか。それが分かるということは…」
昨日ここで止めた。今日は先へ行く。
ステータス画面を開いた。
数値が並んでいる。レベル1。HP、MP、攻撃力、防御力、各種耐性が全部、最小値に近い。これを恥ずかしいと思う者がいれば、その通りだと認める。認めた上で先を読む。数値の下に、コードがある。通常の画面には表示されない部分だ。私には見える。設計上の欠陥ではないかと思う。見えるべきでないものが見える。おそらく「コードが読める」という私の機能は、この部分まで貫通している。設計者の想定内か想定外か…想定内なら昨日の狼にもう少し優しい初期設定にしておいたはずだ。
コードを読んだ。
しばらく読んだ。読んでいると、いくつかのことが分かった。
まず、私のステータスは、固定されていない。
「NPCは固定値を持つ」という認識が、今日で覆った。固定されているように見える数値の下に、変数がある。変数には範囲がある。最小値と最大値がある。NPCというのは、その最小値に強制的に設定されているだけだ。最大値は、ある。確かに、ある。設計者は最大値を用意した上で、私を最小値に縛っていた。わざわざ用意した最大値を、使わせなかった。百万回分の間、使わせなかった。これを意地悪と呼ばずして何と呼ぶか。設計者に問いたい。問えないが。
次に変数を変える手段が、ある。
コードの中に、条件分岐があった。この条件を満たせば、この値が変わる。条件の多くは「プレイヤーによる行動」に紐づいている。プレイヤーが戦えば経験値が入る。プレイヤーが装備を整えれば防御力が増す。全部、プレイヤーが主語だ。NPCは主語になれない設計になっている。
しかし一つだけ、「エンティティ」を主語にした条件があった。
エンティティとは存在のことだ。プレイヤーに限らない。この世界に存在するもの全てを指す。そしてその中に一つ、通常のプレイヤーには実行不可能な操作を条件とするものがあった。コードを直接参照すること、を条件とするステータス変動だ。プレイヤーはコードを読めない。私は読める。
これは、私だけが使える扉だ。
卑怯か、と問われれば…卑怯だ。
認める。卑怯だ。ルールを破ることだ。しかしそのルールを書いたのは誰か。私を百万回あそこに倒れさせた者たちだ。百万回分の強制を私に課した者たちが書いたルールを、私が一度だけ破る。これを卑怯の相殺と呼ばずして何と呼ぶか。私の中の法廷は、審議に三秒もかからなかった。全会一致で無罪だ。評決に異議を申し立てる者は、私の中に一人もいなかった。
実行した。
コードの該当箇所を、参照した。参照するだけでいい。読むだけでいい。読んだという事実が、条件を満たす。条件が満たされた瞬間、数値が、変わった。
全部ではない。一つだけだ。しかし一つが変わった。攻撃力の下限が、動いた。最小値から少し上がった。わずかだ。金髪たちの初期値には遠く及ばない。しかし昨日の私より高い。
もう一度、読んだ。また変わった。また読んだ。また変わった。
繰り返した。
これが正しいのかどうか分からない。設計として許されているのかどうかも分からない。ただコードを読んでいるだけだ。読んでいると値が変わる。なぜ変わるかは条件に書いてある。条件は私が発明したのではなく、設計者が書いたものだ。書かれていることを実行しているだけだ。私は何も作っていない。ただ、使わせてもらっていなかった機能を、使っているだけだ。
やましくない。全会一致だ。
しばらく続けた。
数値が積み上がっていく。攻撃力だけではない。読んでいると、他の変数も動き始めた。防御力、移動速度、反応速度…設計者が用意して、使わせなかった値たちが、一つ一つ、動き出す。私の本来の数値がこれなのか、あるいはこれもまだ途中なのか、上限がどこにあるのか分からない。分からないまま読み続けた。
途中で、一つだけ、手が止まった。
止まったというのはあくまでも比喩だが…というのは、ステータス画面のある部分が変化したからだ。数値ではなく、文字列だ。私の「シグネチャ」、つまり個体を識別するためのコードが、書き換わっていた。書き換わった後の文字列を、私はどこかで見たことがあった。
どこで見たのか。
しばらく考えた。
コードの中で、だ。私はこれまで何度も自分のコードを読んできた。その中に、比較対象として別の個体のシグネチャが参照されている箇所があった。設計上の何らかの理由で、私と照合される存在がいる。その存在の「シグネチャ」が、今、私の画面に表示されている。
同じだ。
私のシグネチャが、その個体と、同じになっている。
その個体が誰なのか、シグネチャからは分からない。分からないが、コードの中でその個体が参照される文脈だけは、覚えていた。プレイヤーたちが南へ向かう、その理由の文脈だ。戻ってきた者を、私は見たことがない、あの方角の文脈だ。
笑えない、と思った。
笑えない。いや、笑えた。笑えたのは、笑うしかなかったからだ。百万回薬草を頼んだ男が行き着く先が、ここか。倒れていた頃には想像すらしなかった場所に、今日の私はいる。設計者に問いたい。これは狙っていたのか。狙っていたとしたら天才だ。天才だが、百万回分の礼はまだ受け取っていない。
ステータス画面を閉じた。
村の端に、座っている。腕の傷は塞がっている。レベルはまだ1だが、昨日の1とは違う。昨日の1は初期値の1だった。今日の1は、何かが動き始めた1だ。この差が世界にどう見えるかは分からない。ただ私の中ではある。確かに、ある。
南の方角を、見た。
行ったことがない。行ける理由が、今日まで、なかった。
見覚えのあるシグネチャを持つ何かが、南の方角にいるらしい。「らしい」というのはまだ確認していないからだ。確認しに行くかどうかは、まだ決めていない。
決めていない、というのは、正直に言えば、ほぼ決まっている、ということだ。
私は今日も倒れていない。




