2章 サヤの街 エピローグ

 6月3日、2:23

 我が家の居間で俺は雪奈に、小租田とサヤを散策した一連のことを報告した。

 といっても、サヤについてわかったことは何一つなく……。

「……人妻をたぶらかして帰ってきたんだ」

 俺の報告を聞き終えた雪奈はそう総括した。

「ちょっ、ちょっと待てよ!? 別にたぶらかしてはいないだろ」

「今の話、誰がどう聞いたってそういう結論に至ると思うけど」

「誤解だって。ただ慰めただけだよ」

「ふーん、まあいいけど」

「それより、そっちはどうなんだよ。何かわかったか?」


 雪奈はスマホを取り出し、左手で持って右手で操作しだす。手が小さくて片手でやろうとすると余計に遅くなるからだそうだ。ちなみにそれに突っ込むと「もーっ!」と牛化を促すことになる。


「何か失礼なこと考えなかった?」

「いっ、いやっ、別に!?」

「……はぁ。お兄ちゃんって本当に単純だよね。メッセージウィンドウをつけて生きてるみたい」

「来世はギャルゲーの主人公になりたいと思ってる」

「せいぜいその友人キャラどまりだと思うよ。まあ、それは置いておくとして」

 俺としては脇に置けるような些末な話題ではなかったのだが、話が進まなくなるので全精神力(MP)を動員し忍耐のコマンドを選択する。


「サヤっていう世界は、なかなかお兄ちゃん好みな作りみたいだよ」

「ほう。異世界で俺TUEEEな、なろう系ってわけか」

「……それは猫又ちゃんに否定されてたでしょ」

「じゃあ、なんだよ」

「地界(ちかい)に続く扉を開くためのいくつかの鍵を集めて、ぬらりひょんっていうラスボスを倒す。そして世界を救うツユバライの刀を手に入れる、いわば王道のRPGだね」

「あー、そっちか。あれってプレイヤーとして遊ぶ分には楽しいけど、いざ転移しろって言われたらお断りな世界の一つなんだが」

「俺TUEEEはいいのに?」

「あれは経験値を稼ぐ過程がないからいいんだよ。レベリングとか面倒だって学校通ってればイヤってほど味わうんだ」


 テンションがだだ下がってきたので、少しでも気分を明るくすべく立ち上がった。

「なにか飲み物淹れてこようと思うんだが、雪奈はどうする?」

「雪奈はホットミルクがいいかな」

「オッケー。ちょっと待ってろ」

 俺は台所に行き、自分の分はミルクティーを作り、雪奈のマグカップには牛乳をたっぷり入れてレンジで温めた。

 二つのカップを手に、居間に戻る。


「お待たせ。……って、何やってんだ?」

 雪奈は鼻歌を歌いながらタブレット端末にデジタルペンで何か描いていた。

「地図を作ってるんだよ」

「地図?」

「うん。サヤの街で地図を見かけたから、忘れない内に描き残しておこうと思って」

「へえ。だけどせっかく作っても、6月30日には全部消えちゃうんじゃないか?」

「かもしれないね。でも、これに関しては少し希望がある気がするんだ」

 雪奈は動かしていない左手で、自身のスマホのホーム画面を見せてくる。

 一般的なアプリの中に一つ混じって、それがある。

 ツユバライ。

 サヤと現実を行き来するのに使い、異能力とやらも操れるようになるらしいアプリだ。


「このアプリにどうにかして、データを入れ込むとかね」

「いや、無理だと思うぞ。異世界転移なんてできるアプリが、人間が開疲れるようなただのプログラムでできてるとは思えないし」

「やってみなくちゃわからないよ。まあ、解析してみた結果、かなり難しいっていうのはわかったけどね」

「解析できたのか!?」

 雪奈はあっさり頷いたが、表情は曇天のようになっていた。


「文字がすごくたくさん重なってて判読できなかったんだよね。でもエラーが起きてるわけじゃない。他のアプリはちゃんと普通に解析できたから、マシンやソフトの不具合っていうのも考えられないね」

「文字が重なってって……、どういうことだ?」

 雪奈は唇を小さく何度か開閉していた。これは彼女が言うべきか否かを悩んでいる時にする素振りだ。

「教えてくれよ。でないと、脇をこちょこちょくすぐっちゃうぞ」

 指をぐねぐねすると、雪奈はくすっと笑って。

「嘘つき。お兄ちゃん、雪奈が中学生になってから一度もしてないじゃん」

「うぐっ……」


 言葉に詰まって黙り込む。

 雪奈は「ふふっ」と笑って、人差し指でつんと俺の鼻を突いてきた。


「もう、お兄ちゃんって本当に可愛いね」

「男に可愛いはないだろ。カッコイイとかイケメンで頼む」

「で、さっきの話だけどね」

「おいおい、話すり替えるなよ……」


 俺の抗議を無視し、雪奈は語り続ける。

「文字が幾重にも重なってる。この事実から、二つの可能性を想定することができる。一つは本当の文字を隠そうとしているということ」

「暗号みたいなものか?」

「そうだね。たった一つの真を隠蔽しているってこと。そしてもうひとつ考えられるのが、重なっている文字全てがアプリを動かすのに活用されている可能性」

「えーっと、となると……。気色悪いほど文字を重ねたフォントを作って、それでプログラムを組んだ。……そういうことだよな?」


 雪奈は眼前に置かれたホットミルクの白い水面に目線を落として、ため息を吐いた。

「だったら、解析も容易にできたんだけどね」

「……違うのか?」

「うん。趣味の域だと日本語で組んでる人もいるからね。自分で作ったオリジナル言語でプログラムを書く人がいても別に不思議じゃないよ」

「我が紡ぎし言の葉にて、今この時、電子の魔術を編み出さん! ってことだな」

「ただそれでも、一定の法則がなくちゃおかしい。プログラムっていうのは要するにマシンにある動作を命令するための言語だからね。無秩序に出鱈目なことが書いてあったら作動するはずがないんだ」

「……はい?」

 俺が首を傾ぐと、雪奈は人差し指の腹をこちらに向け、声音を和らげて言った。


「たとえば日本語には、昼間に挨拶するのに『こんにちは』って言葉があるでしょ」

 俺は迷いなくうなずく。

「それと同じで、プログラムもある命令をするのに共通の単語を用いるんだよ。たとえばアクションゲームを例にすると、キャラにジャンプさせる時は『jump』の単語、走らせる時は『dash』みたいにね」

「ああ、なるほど。もしも謎の言語でプログラムを組むとしても、必ずどこかで同じ単語が繰り返されるってわけだ」

「そうだよ。いくら未知の言葉を用いても、それがプログラムである限り必ず解析することができる。エドガー・アラン・ポーの『黄金虫』に出てくる暗号の要領でね」


 雪奈は喉を潤すようにホットミルクを一口含んだ。

 それから眉根を寄せ、額に人差し指を当てた。


「でもツユバライは違ったんだ」

「なんの法則性もなかったのか?」

「うん。単語の重なり具合……ほとんどの文字は潰れちゃっててわからなかったから判読できたのはほんの一部だと思うけど、とにかくそのよくわからないもうシミみたいなのを一つの字に見立てて、同じものがないか調べたの」

「だけどなかったと」

「一つもね。他の文字も調べたけど、同じだった」

「つまり……、全ての文字が違うプログラムってことか?」

 雪奈はマグカップを両手で抱えたまま、しばらく身じろぎもせずに固まっていた。

 気の長くなるような時間が経過した後に、ようやく口を開いた。


「……もしかしたら、あれはプログラムじゃないのかもしれない。ただのミスリードなのかもしれない。だけどもし、プログラムだとしたら……多分、人間のマシンじゃ判読できない言語を使われてる」

「だろうな」

「その言語の正体も、一応仮説は立てられる」

「おお、すごいな」

「すごくないよ。その仮説で雪奈たちはこのアプリを足掛かりに永遠の6月から脱出できるかもしれないっていう希望を失うことになるんだから」

 俺は自分の先の発言を悔いて沈黙した。

 ややあって雪奈は話を再開した。


「一つは人間が知らないプログラム言語。つまりまったくの未知の言語である可能性」

「さっきも言ってた、全て違う文字で組むってやつか?」

「そう。これはいろは歌や『The quick brown fox jumps over the lazy dog』がプログラム言語であるっていうほど、荒唐無稽な話だよ」

 発された英文は途中から俺の左耳から入って右耳の外へ通過していった。

「ざ・くいっく……?」

「英語のいろは歌だよ。日本語に訳すと『俊敏な茶色の狐はどんくさい犬を飛び越える』」

「……なあ、一文字も被らずにプログラムを組むことって可能なのか?」

「簡単なものならできるだろうけど……。複雑なものになると当然、文章自体も長くなっていく。アルファベットは26字。記号は30種類……まあ、カッコは分割して数えられるから正確にはちょっと変わるけど、まあ今回は大まかに数えるとして30個。数字は0~9で10個だね。はい、合わせていくつ?」

「舐めるなよ、俺だって義務教育終了してるんだからな! 66個だろ?」

 答えた瞬間、雪奈はさも嬉しそうな顔をして。


「ぶっぶー。はずれだよー」

 胸の前で腕を交差させてバツ印を作った。

「なっ!? そんなわけないだろ。26+30+10=66。小学生の低学年でも解ける数式だぞ、いくら俺でも間違えるはずが……」

「残念だったね、お兄ちゃん。今やってるのは算数じゃなくて、プログラムで使える文字の数の話をしてるんだよ」

「だから、普通のプログラムならさっきので全部だろ?」

「ううん、もう一つあるんだよ。文字を置かず、けれど文字としてカウントされるもの」


「あっ……スペースか!」

「そう。何もない空白の空間。でも人間はゼロを発見した時点から、その無さえも存在として認識できるようになった。だからプログラムにおいても、スペースは一般的に使われているんだよ。後はまあ、さらに引っ掛けで改行を入れる人もいるのかな?」

「……いやでも、いくらなんでも性悪過ぎないか、今の問題」

 不満をぶーたれるも、雪奈は取り合ってくれず。

「空白を作るスペースぐらい、お兄ちゃんならすぐに思いつくはずだよ。箱庭系のゲームをやってた時にしょっちゅう『あーっ、スペース足りねー!』って言ってたじゃん」

「その手のことは誰だって言ってるだろ。大体、スペースと空白と文字を瞬時に結び付ける連想力は俺にないって」

「そんな泣き言は聞きたくないよ」

 弁明は泣き言の一言で退けられてしまった。


 俺の不満を他所に、雪奈は話を進めていく。

「さて……、同一の文字を用いずプログラムを組めるか、っていう話をしてたっけ。さっきプログラムで一般的に使われる文字は全部で67ってわかったね。ところでお兄ちゃん、商業用のソフトに使われるプログラムってどれぐらいの長さがあると思う?」

「えーっと……。10万文字ぐらいか?」

「大外れだよ。ソフトにもよるけど、OSなら数千万行。お兄ちゃんが好きなゲームでも数十万、数百万行のプログラムで動いてる」

「す、数百万……!?」

 頭の中で文字が山となって積み上がった。埋もれた俺は文字の重量に押し潰される。


「もちろん、一行の文字数はほぼ全部、二桁を越える。もう言う必要もないと思うけど、こんな環境じゃ文字は重複して当たり前だよね」

「じゃあ、ツユバライのソースコードは?」


 雪奈は冷めたミルクを一息で飲み干し、空になったカップをテーブルにカツンと響かせて置き、言った。

「……存在するはずのない、幻のプログラムだよ」

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る