表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
魔力ゼロですが、魔法はぜんぶコードなので問題ありません 〜前世プログラマーの少女、キーボードで異世界をデバッグする〜  作者: せい | 健康優良不良プログラマ
第1部 ③村を変える小さな発明

この作品ページにはなろうチアーズプログラム参加に伴う広告が設置されています。詳細はこちら

PR
39/211

第39話 ずれの正体

屋根裏の梁の隙間から薄い光が一本だけ落ちていた。


寝床の中で目を開けた。隣でノラが毛布の縁を咥えたまま小さな寝息を立てている。


(——昨日、二軒見た。マルダさん。ヒルダさん。同じ系統。同じく不調)


(——でも『眼』では違うところを掴めなかった)


昨日の引っかかりが指の奥でまだ揺れていた。掴みかけてするりと逃げた、あの感触。


(——今日、三軒目。動的なバグなら、何回も発動を見れば何か読み取れるはず)


息を整えて起き上がった。


◇◇◇


居間ではエマが粥を椀によそっていた。


「おはよう、リナ。今日もエルナ様と?」


「うん。フラヴィオさんとこ」


「寡黙な人よ。でも、いい人」


粥は朝の冷えを少しずつ溶かしていった。


教会への道を歩きながら、わたしは昨日の二軒を頭の中で何度も並べ直していた。


◇◇◇


教会の前でエルナが待っていた。今日は祭司服の上に薄い灰色の上衣を羽織っている。


「リナ。今日はフラヴィオさんとこ。一軒だけ」


「一軒……」


「生活魔法のうち、いくつかが不調らしい。ベシリアとアクシリアの両方」


——あ。


足元の砂利が、自分の中で一拍だけ静まった。


(——同じ家。同じ人。違う魔石。同じく不調)


(——昨日までは別の家で一種類ずつ。今日は一人が二種類同時に)


「同じ家で二つの生活魔法が同時におかしいのは、わたしの記憶では初めて。だから今日は一軒だけ。じっくり見ましょう」


エルナの藍色の瞳がちらりとこちらを見て、また前を向いた。鼓動が一拍だけ音を立てた。


◇◇◇


フラヴィオさんの家は村の中央、井戸を二つ挟んだ路地の奥にあった。


戸を叩くと、頬の赤い小柄な女性が顔を出した。


「エルナ様、わざわざありがとうございます。あら、リナちゃんも」


奥の戸口から五十代くらいの男の人が顔を出した。がっしりした体格。白いものが混じり始めた短い髪。


「エルナ様。お忙しいのに、申し訳ない」


フラヴィオさんはわたしを見て少しだけ目を細めたが、何も聞かなかった。


「では、まず台所から」


◇◇◇


竈の脇の台座に黒い魔石が乗っていた。表面に小さな擦り傷が縦に走っている。


「ベシリアです。火が、安定しなくて」


フラヴィオさんの奥さんが脇から説明した。フラヴィオさんが魔石の上に手をかざす。


「ベシリア」


——魔石の表面にぼうっと模様が浮かんだ。けれど火は点かなかった。


「もう一回。ベシリア」


二回目。薪の端に小さく火が点いたが、生まれた瞬間に揺れてふっと消えた。


「もう一回。ベシリア」


三回目。ようやく火が薪に絡みつき、安定して燃え始めた。


「いつもこうなんです」


奥さんが困った顔で笑った。


わたしは魔石の前にしゃがんで、息を詰めて目を凝らしていた。


模様の構造はベシリアの典型だった。ヴェルティス系。表面のコードはきちんと並んでいる。


——でも、わたしの視線は二回目の模様を思い返していた。


模様が浮かんだ瞬間、輪郭の線がわずかにぶれていた。普段なら一本の線が確かな濃さで形を作る。けれど二回目は違った。線が薄く——ぼやけて、また濃くなって——また薄くなった。


瞬きの半分の時間。それでも、訓練された目線は確かに見逃さなかった。


(——揺らいでる)


胸の奥で何かがコトリと音を立てた。掴みかけて逃げる感触ではなかった。今度は確かに見えた。


◇◇◇


「次は井戸を」


フラヴィオさんが短く言って裏庭に出た。


井戸の木枠の縁に、青みがかった小さな魔石が埋め込まれていた。アクシリアの石だ。


「水量が、おかしくて」


奥さんが桶を井戸の口の下に置く。フラヴィオさんが魔石に手をかざした。


「アクシリア」


——わたしは井戸の上空、模様が浮かぶ場所に視線を集中させていた。


(——一回目)


線は引かれている。けれど一定じゃない。線の濃さがところどころ違って、色も普段より薄い。


水は管を伝って滲み出るが量は少ない。桶の底をうっすら濡らしただけで止まった。


「アクシリア」


二回目。今度は線が明確になった。けれど。


(——色がわずかに違う)


普段のアクシリアは澄んだ薄い青だった。夏空のような透き通った色。今日の二回目はその青が灰色がかっている。気のせいだと言われればそうかもしれない、ぎりぎりの差。


「あら」


奥さんが桶を覗き込んで小さく声を上げた。


「水が、ちょっと濁ってる気がする」


フラヴィオさんも覗き込んだ。眉が少しだけ寄る。


「もう一回、お願い」


「アクシリア」


三回目。


——線も色も普段通りに戻っていた。澄んだ薄い青。水は勢いよく出て桶を満たした。奥さんが桶を陽の下に持ち上げる。


「澄んでる」


わたしの心臓が早鐘を打ち始めていた。


(——分かった)


(——『色』と『線の濃さ』が、不安定になっている)


(——回によって、それが変わる)


頭の中でばらばらだった点が線の方を向き始めていた。


(——これは魔法陣の中のバグじゃない)


(——魔法陣そのものはきちんとそこにある)


(——揺らいでいるのは、魔法陣を『動かす何か』だ)


頭の奥で数日前の声がふっと蘇った。


——魔法陣はそのままでは動かぬ。世界が読み取って動かす。


バルドゥスの皺だらけの手。土間で杖の柄をひとなでした動き。


(——その『読み取る何か』が、不安定だ)


(——だから同じ魔法陣でも結果が違う)


魔法陣ソースコードは確かにそこにある。けれど、それを動かす層——その下の何かが、揺らいでいる。


◇◇◇


立ち上がってフラヴィオさんに向き直った。


「フラヴィオさん。最近、何か変わったこと、ありましたか? お家の周りで」


フラヴィオさんは腕を組んで空を見上げた。


「……うーん。特には」


「あ」


奥さんが声を上げた。


「そういえばあなた、一週間前くらいから、井戸の水がなんとなく違うって言ってたわよね」


「ああ、そうだ。水の味がな。ほんの少しだけ違う。気のせいかと思っとったが」


「味……」


(——水の味も違う)


(——魔法だけじゃない)


(——もっと根っこのところで、世界そのものが少し違ってる?)


頭の奥が冷えていく感触があった。寒いのではなく、視界が一段澄むような冷え方。


「……ありがとうございます」


短く頭を下げた。フラヴィオさんは無言で頷いた。


◇◇◇


戸を出て路地を歩き始めると、エルナが歩く速度を緩めた。


「リナ。あなた、何か見た?」


少し迷ってから口を開いた。


「……はい。魔法陣の『色』と『線の濃さ』が、不安定でした。回ごとに違って」


——エルナの足が止まった。藍色の瞳がゆっくりとわたしの方を向く。


「色まで、読み取れるのね」


「……はい」


エルナが小さく息を吐いた。深いところからの息だった。


「わたしはそこまで気付けない。わたしが見ているのは模様の形だけ」


(——エルナさんはわたしと違うところを見ている)


(——わたしの『眼』は、たぶん誰のものとも違う)


指先が一瞬冷えて、すぐに首筋が熱くなった。


「エルナさん。これはたぶん、『魔法陣の中』じゃなく『魔法陣の外』の問題です」


「魔法陣の、外」


「はい。魔法陣はそのままでは動かない、と聞いたことがあります」


エルナがふっと驚いた顔をした。


「それ、バルドゥスじゃない?」


「……はい」


エルナの肩がほんの少し緩んだ。


「ふふ。あの人、相変わらず難しいことを子供に話すのね」


肩のあたりで張り詰めていた糸がまた一本だけ緩んだ。


「リナ。今日のところはここまで。あなたが見たことは、あなたの中に置いていい」


「……はい」


◇◇◇


教会の前で別れて家への道を歩き始めた。


午後の風が路地を吹き抜けていく。陽の月らしい強い日差しが、麦藁の屋根を白く照らしていた。


歩きながら頭の中で並べた。


(——マルダさん。ヒルダさん。フラヴィオさん。三軒とも、回ごとに違う結果)


(——表面のコードは正常。それを動かす『何か』が揺らいでいる)


(——水の味も違う。魔法だけじゃない)


(——もっと根っこの方で、何かが揺れている?)


胸の奥でばらばらだった点が、ようやく一本の線の輪郭を持ち始めていた。線そのものはまだ薄い。けれど方向は分かった。


魔法陣の下。世界が魔法陣を読み取る、その層。バルドゥスが言った、世界の根っこ。


(——魔法陣は正常)


(——だけどその外で——何かが揺らいでいる)


(——わたしの訓練された目線が、今日、確かにそれを読み取った)


風が一度だけ強く吹いて、わたしの髪を浮かせた。


■あとがき・解説


第39話は、フラヴィオさんの家で、リナの「眼」がついに動的な揺らぎそのものを捉える回でした。色がほんの少し違う、線の濃さがぶれる、瞬きの半分の時間に起きる微細な変化。前回までの「気のせいかもしれない」が、ようやく「確かに見えた」になります。今回はその「揺らぎを見る」技術について解説します。


■この話で出てきた言葉


■「ランタイム(実行時)」


リナがフラヴィオさんの井戸の前で、模様が浮かんで消えるその瞬間を「眼」で追っていた、あの場面。プログラマーは、こうした「動いている最中」のことを「ランタイム」または「実行時」と呼びます。


ソースコード——書かれた状態のコード——は、紙の上の楽譜と同じです。それ自体は音を出さない。実際に音楽が鳴るのは、楽譜を演奏者が読んで楽器を鳴らした時。プログラムも同じで、書かれたコードが「動いている瞬間」に初めて結果が生まれます。


そして厄介なことに、不具合の中にはランタイムにしか姿を現さないものがあります。コードを何度読み返しても何も問題はないのに、動かすと変な結果が出る。リナが「終わってからじゃ、見えない。起きている最中に、もっとちゃんと見ないと」と唇を噛んだのは、まさにこの「ランタイムでしか見えない不具合」と向き合っていたからでした。


■「動的な不具合の可視化」


二回目の模様が浮かんだ瞬間、輪郭の線が薄くなって、また濃くなって、また薄くなった——リナの「眼」が捉えた、あの微細な揺らぎ。


現場のプログラマーは、こうした動いている最中の状態を捉えるために、画面に数値を流したり、グラフを描いたりして「見えないものを見えるように」する道具を作ります。これを可視化と呼びます。CPUの温度の波、メモリの増減、通信の遅延——人間の目では追えない速さで変わる値を、何とか目に見える形に翻訳する技術です。


リナの「眼」は、たぶんこの世界における究極の可視化ツールでした。瞬きの半分の時間に起きる線の揺らぎを、本人もそれと意識しないまま捉えてしまう。彼女自身も、自分の「眼」が他人とは違う何かを見ていることに、この回で初めて気付きます。


■「抽象化レイヤー(中間層)」


リナが「魔法陣そのものはきちんとそこにある。揺らいでいるのは、魔法陣を『動かす何か』だ」と気付いた、あの場面。


現代のコンピュータは、一枚岩で出来ているわけではありません。一番上にアプリケーション、その下にOS、さらにその下にハードウェアの制御層、最下層に物理的な回路——という具合に、何層もの「中間層」が重なって動いています。それぞれの層が、上の層からの命令を翻訳して下の層に渡し、下からの結果を上に返す。


そして不具合は、必ずしも一番上で起きるとは限りません。アプリケーションのコードは完璧でも、その下のOSが不調なら結果は狂う。リナがこの回で気付いたのは、まさにこの「中間層の不調」でした。魔法陣というソースコードは正常。それを動かす世界側の層が、何かの理由で揺らいでいる。


バルドゥス老人の「魔法陣はそのままでは動かぬ。世界が読み取って動かす」という言葉が、ここでぴたりと噛み合います。前世のプログラマーが何百年もかけて辿り着いた「層」という考え方を、伝承の言葉で先に告げていた老人——リナの胸の奥でばらばらだった点が一本の線に向き始めたのは、その伝承と前世の知識が、初めて同じ方向を指したからでした。


水の味も少し違う、というフラヴィオさんの何気ない一言。それを聞いた瞬間、リナの視界が一段澄む冷え方をします。揺らいでいるのは魔法だけではなく、もっと根っこのところで世界そのものが——という不穏な予感は、たぶん次以降ゆっくり姿を見せていきます。


次の話もお楽しみに。


評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ