08.魔法=プログラミング
魔法を修正してみろ。
魔女にそう言われたとき、さすがに少しソワソワした。
ITエンジニアという技術職に就いていたヒロにとって、未知の技術は単純に興味のかたまりだ。地球では科学が大いに発展していたが、辰世には科学の代わりに魔法がある。人間に周知されている技術ではないため、辰世の文明の礎とまでは言えないが、この世界を人知れず支えてきた技術には違いない。
その魔法を行使できるだけではなく、さらに手を加えることができる。
手を加えられるということは、「魔法」は超自然的な現象ではなく、理解する余地があるということだ。
魔法には星細というデータのような概念があるようだし、元ITエンジニアとしての知識も役立てられるかもしれない。
「魔法の修正って俺にもできるんだ」
「できる。おまえはわたしの魔法とつながっているからな」
「ふーん……?」
相槌を打ちつつヒロは首をかしげる。
つながっているからできる、という理屈の意味は分からないが、魔女が自信満々に言うならそうなのだろう。
昂揚する気持ちを抑えつつ、ヒロは前のめりぎみに「で、どうやんの?」と魔女を促した。
「まあ待て。まずは確認からだ。おまえが通詞の魔法を呼び出したとき、魔法はどんな形をしていた?」
「形?」
ヒロはつい数時間前のことを思い出す。
カレルと森で遭遇するも言葉が通じず、あわてて魔女を呼び出して、どうすればいいのか助けを求めた。そして魔女に言われるまま左手を胸にあてて目を閉じると、手を伸ばした先にいつの間にか図書館があり、本棚から背表紙の光る本を見つけて手に取った。
ヒロはそのときの現象をそのまま説明した。
「おまえの魔法は本の形、か」
ふむ、と魔女が興味深げな息をつく。
「本だとなんか悪いのか?」
「いや、ずいぶんわたしと違うと思っただけだ。こうも違いが出るのか、興味深い」
他人に魔法を使わせたことなどないからな、と魔女が声を弾ませる。
少し分かってきたが、魔女は淡々としているわりに好奇心旺盛なところがあり、興味のある分野の話は少し前のめりぎみになる。
「通詞の魔法を使うとき、本は閉じたままだったか?」
「え? あ、うん、閉じてたはず」
たぶん、とおぼろげな記憶を思い出しつつヒロが言う。
覚えているのは通詞の魔法の本を掴んで表紙を見たところまでだが、そのとき本は開いていなかった。
「では、今回は開いてから戻って来い。閉じるなよ、開いたままにしておけ」
「了解、やってみるわ。今やっていい?」
「ああ。声送りの魔法はわたしがつないでおいてやる」
魔女にそう言われて、ヒロは左耳から手を離した。
数時間前と同じように左手を胸に置いて目を閉じると、今度はすぐに沼底の図書館にたどり着いた。最初は沼の奥に手をつっこんでようやくたどり着いたのに、今回は目を閉じたら目の前にあった。妙な日本語だが、そうとしか言いようがないので仕方ない。
そしてヒロが本を探そうとすると、不思議なことに、探すまでもなくヒロの手には一冊の本が収まっていた。何の本かは考えるまでもない。通詞の魔法の本だった。
ヒロは先ほど魔女に言われた通り、通詞の魔法の本を開いた。どのページを開けばいいか分からなかったので、とりあえずいちばん最初のページをめくる。
これでいいのかな——ヒロは図書館にいる自分ではなく夜の森にいる自分を意識し、閉じているはずの目を開けた。
「本は開いてきたか?」
「うん。最初のページだけど」
「それでいい。では次だ。左手を前に出せ」
「前に出すって……こう?」
ヒロは言われた通り、手のひらを上にして左手を前に出した。
すると——突如、ヒロの手のひらから淡い銀色の光が漏れ出した。
「うわっ! なんだこれ!」
驚きのあまり声が裏返った。
声送りの魔法を初めて使ったときも、通詞の魔法で未知の言葉が分かるようになったときも、ヒロは魔法の力に心から驚いた。
しかし、目の前の「これ」はあまりにも衝撃的だった。
燐光を纏った銀色の光がヒロの左手から立ちのぼっていた。
その光は懐中電灯のような強い光ではなく、床置きの間接照明のように淡い。
科学で説明できない現象がヒロの目の前で起こっていた。
さらに驚くことに、その光の中には得体の知れない黒い物体が浮かんでいた。
黒い糸のような、ひじきの集合体のような、細い線がぐちゃぐちゃに絡まった黒い物体。黒い糸を無作為に寄り集めたような形とでもいうべきか、そんなものが縦に三つ並んで浮かんでいる。
なんとなく、ヒロはその黒い物体を「文字だ」と思った。
見た目はボールペンの試し書きだが、一定の規則性がある。ひらがなやアルファベットとは似ても似つかないし、歴史の授業で学んだ楔形文字や象形文字とも違う形をしているが、本能のような何かが「これは文字だ」と告げていた。
手から立ちのぼった光の中に、不思議な文字が三つ並んで浮かんでいる。
あまりに現実離れした光景だった。
ヒロは、このときようやく自分が魔法使いになったことを理解した。
「今おまえの目の前にあるのは、通詞の魔法の構成式だ」
「構成式?」
「そうだ」
ヒロは思わず嫌な顔をした。数学が苦手だったヒロはナンタラ式という名前にいい思い出がない。
「この魔法は三つの効果で成り立っている。音声の星細化、翻訳、そして声の置き換えだ。おまえの口から出た音声を星細に変換して、その音声を翻訳し、おまえの声で置き換える。それが通詞の魔法の流れだな」
「……なるほど?」
ヒロがあいまいに返事をする。
ざっくりとした理解だが、おそらくリアルタイム音声翻訳と似たような仕組みなのだろう。利用者の音声を翻訳し、機械音声で読み上げる。そういうアプリなら地球にもすでに存在していた。
ただし、それは当然ながら「利用者の音声を完全リアルタイムで翻訳し、当人が喋っているかのごとく置き換える」なんて代物ではない。地球にそんな技術はない。地球の常識で考えるとそんなことは不可能だ。
しかし、通詞の魔法にはそれができる。
ヒロの言葉を、まるで当人が喋っているかのごとく翻訳する。寸分のタイムラグもなく、まるでヒロが元からこちらの言語を知っていたかのようにしてみせる。
つまり、魔法には不可能を可能にする力があるのだ。
しかも魔法は再現性のない奇跡ではない。
明確な理論の上に成り立っている。
ヒロは年甲斐もなく興奮した。
先ほどからずっと胸が沸きたっている。
我ながら新しいおもちゃを買ってもらった子どものようだと思ったが、未知の技術を目にして平静を貫けるほどヒロの好奇心は死んでいない。
ヒロは魔女に話の続きを求めた。
魔女は知識をひけらかすのを楽しんでいるのか、これでもかというほど丁寧に魔法の仕組みについて語ってくれた。
魔法には構成式が必要。
構成式とは効果を生み出すための式のこと。
銀色の光の中に浮かんでいる三つの文字が構成式。
構成式は上から順番に並んでいる。
複数の式をひとまとめにしたパッケージ型の構成式も作成可能。
さらに複数の魔法で利用できるようパッケージを共通化させることもできる。
等々、等々。
ヒロは話を聞きながら眉間に皺を寄せた。
魔法は難しい。文字は読めないし、構成式の見方もまだ分からない。
しかし——元ITエンジニアのヒロには、どれもこれも覚えがある。
「……なんか、やってることがオブジェクト指向プログラミングだな」
魔女の魔法解説を聞き終えたヒロの口から、ぽろっとそんな一言が出た。
ヒロは小さな開発会社ITエンジニアをやっていた。
そこまで大きな案件を扱う会社ではなかったし、ヒロ自身もそこまで勉強熱心な方ではなかった。とりあえずpythonというプログラム言語を使えるようになれと会社に指示され、言われるがまま学んできた。
それでも——大学卒業から六年間、まじめに働いていた人間なら最低限の知識くらいは身に付くのだ。
魔法には、六年間でヒロが学んできたプログラムの知識と似通っている部分がやまほどある。
星細をデータと解釈した人間が過去にいたと聞かされたとき、もしやと思った。
もしかして魔法はプログラミングと考え方が似ているのではないだろうか、と。
これは。
これはどう見ても。
人智の及ばない力、神の御業、超自然現象だと思っていた魔法という力は。
「魔法って……本当にプログラミングだったんだ」
淡い燐光を放つ左手を見下ろしながら、ヒロは、この一瞬で魔法が「奇跡」から「技術」になったのを実感した。
これを書いている人は別にエンジニアというわけではない