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

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

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

エラーが発生しました。

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

3/18

003 ゆうべはおたのしみでしたね

 私とアウロラが階下へ降りていくと。


「ゆうべはおたのしみでしたね」と宿の主人が言った。


「はい……」とアウロラは笑みを返す。


 どうやら冗談だったようで、宿の主人は気まずそうに視線を逸らした。


 朝食はバイキング形式だった。

 バイキングとは、いったいなんの用語だっただろう。

 私は歴史について詳しくない。

 かつて魔法が栄える以前、大航海時代というものがあったらしい。

 そのときに勢力があった集団の名前らしいが……。


 四人がけのテーブルが空いていたので、私は窓際の席へ移動した。

 すると、アウロラが笑顔で私の左隣に座った。


「いや、四人がけなんだから、わざわざ隣に座らなくても良いだろう」


「お側にいたいのです」


 そういって、アウロラは右手で私の左手をつかんできた。


 距離が近すぎる。


 図書館から帰ったあと、私はアウロラと共に寝たのである。

 私は寝不足だった。

 肉体的にも疲れている。


 アウロラは……元気そうだった。

 ゆっくりと私の手の甲を撫でていた。


「あまり、外ではベタベタしないでくれ」


「すみません」


 アウロラは、しゅんとしていた。

 しかし、すぐに笑顔に戻った。


「外じゃなければ良いってことですね?」


 良いわけがなかった。


 朝食を終えたあと、私とアウロラは街から離れて砂漠へと移動した。

 本当はアウロラを置いていこうと思ったのだが、彼女がどうしてもついていきたいと言うので断れなかった。

 今日は下見程度のつもりなので、そこまで危なくもないだろうから許可をした。


 サハリム・ギアへ近づくにつれ、砂の量が増える。

 道は、すでに道と呼べるものではなくなっていた。

 かつて平地だったという面影はない。

 巨大な蟻地獄の巣を思わせる、底の見えない砂の谷が口を開けていた。


「これ、どうやって中に入れば良いんでしょう?」


 私は魔法を試してみることにした。


「取り除け、砂の門(let result = removeSand volume Lazy saharimGearMainGate())」


 事前に準備しておいた砂除去魔法を使用。

 砂の山が、徐々に粒子と化していく。


「すごいです! 神の御業ですね!」


 お前はプロ驚き屋さんか。軽々しく神とか言うな。恥ずかしい。


「どういう原理ですか?」


「原理と言われてもな……。ただの関数だ。第一引数はvolume、第二引数が自分、第三引数が対象だな。saharimGearMainGateは、昨日図書館で座標を取得しておいた定数か」


 アウロラがにこにこと微笑んでいた。何も理解できていないようだ。

 もっともっと簡単に、わかりやすく伝えなければならないか。


「簡単に説明すると、こんな風になるremoveSand : Volume -> Caster -> Point3D -> Result<World, string>」


 アウロラの笑顔がさらに引き攣った。


「とりあえず、中に入りますか」


「いや、待て」


 私はアウロラを静止した。

 消失した砂によりできた空洞が、すぐに内部から溢れ出てきた砂で満たされていく。


「だめみたいだな」


「砂が満ちる前に、さっさと中に入るというのはどうでしょう」


「窒息死するだろうな。きっと」


「じゃあ、埋まりそうになったら、またさっきの魔法で消すとか」


「できなくはないが……。サハリム・ギアがどれくらい広いのかわからない。私の魔力が持つかどうか」


「困りましたねぇ……」


 そういって、アウロラは少し入口から離れて、周囲をきょろきょろと見ていた。


「ひとまず、今日は帰ろう」


「え? もう帰るんですか? まだお昼ですよ」


「良いんだ。仕事は基本的に、六割五分の力でやれば良い。あまり根を詰めすぎても良くない」


「そうなんですか? さっさと事件を解決したほうが、評価が上がるんじゃ……」


「それは素人の考えだな。クライアントは、もちろん早期解決を望む。だが、あまりに早すぎると、こう思うだろう。『なんだ、こんな簡単なことだったのか』と」


「どういうことですか?」アウロラには理解できないようだ。


「我々魔法使いは、常人には不可能なことを可能にする。だが、それを一瞬でやってのければ、『簡単』だと勘違いされる。魔法使いは、常に畏怖される存在でなければならない。安く買い叩かれないためにな」


 これは、師匠であるラムダ様の考えである。

 私はもともとべつの意見だった。

 さっさと世界にはびこる問題を解決していくのが、魔法使いの使命なのではないか、と……。


 だが、ラムダ様がいうには、『この世界には魔法使いが多すぎる』らしい。

 ラムダ様のような凄腕魔法使いが取り組むと、この世界から問題が解決しすぎる。

 そうすると大量の魔法使いが失業してしまうのだとか。

 なんというか、世知辛い話だった。


「魔法使いって、もっと残業が多くて、朝まで徹夜とか、そういうことをするもんだと思ってました」


「昔の話だな……」


 いまでも案件によっては、そういうこともあるのかもしれない。

 しかし、まともな魔法使いは、もうそんな仕事は受けなくなっている。


「さっきの砂除去魔法、私もやってみていいですか?」


「ああ、構わないが……」


 量を気をつけろ、と言おうとした瞬間のことだった。


「void remove_sand_ultra_fast(WorldSpace *world, float center_x, float center_y, float center_z, float radius) { #pragma omp parallel for collapse(3) for (int x = 0; x < 100; x++) { for (int y = 0; y < 100; y++) { for (int z = 0; z < 100; z++) { float distance = sqrtf( powf(x - center_x, 2) + powf(y - center_y, 2) + powf(z - center_z, 2) ); if (distance <= radius) { world->particles[x][y][z].exists = false; } } } } }」


「ん?」


 発声された魔法コードがあまりにも(いにしえ)の言語すぎて、理解に時間がかかる。

 インデントもなければコメントアウトもない。

 いろいろなエラー処理も甘いし三重ループがあった。


「いや……ちょっと待て」


 止めようとしたが、遅かった。


 周囲にある砂が、即座に消失した。

 横も。縦も。何もかも。


 ふわり、と体が宙に浮く。


 隣を見ると、悲鳴を上げながら、アウロラが舞っていた。


「重力書き換えによる浮遊(let changeGravity name factor world = magicallyModifyPerson name (fun p -> { p with Gravity = p.Gravity * factor }) world)」


 こんなこともあろうかと、以前に書いておいたライブラリだった。

 自分とアウロラにmap関数で適用する。


 徐々に落下速度が落ちていき、なんとか空中で静止した。


「はぁ……。助かりました。ありがとうございます。死ぬかと思いました」


「こっちのセリフだ」

小説家になろうに初投稿!


完結まで頑張ります!


・だいたい3〜4話に1回くらい事後シーン(朝チュン)があります。

・事後シーンのある話には『★』がついています。

・魔法のシーンは適当なので、雰囲気で良いです。読み飛ばしてください。


「面白かった」


「続きが気になる」


「いろんな美少女との事後展開が読みたい」


と思ったら


・ブックマークに追加


・広告下の「☆☆☆☆☆」から評価


(面白かったら星5つ、つまらなかったら星1つ!)


をして読み進めていただけると大変励みになります。


よろしくお願いします!

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

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

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ