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

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

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

エラーが発生しました。

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

ブックマーク機能を使うにはログインしてください。
【C++】ソフトウェア魔法の戦術教本~影の王を撃て!~  作者: くら智一
後日譚「×アキムの○魔法士たちの木造船」 前編
69/80

3 木造船機関室にて

 ティータさんに朝食のお礼を告げ、彼女以外誰もいない食堂を後にする。食器は調理場に下げておいた。背中に行動ひとつひとつを褒めるような視線を感じたが、少々過保護な気もする。世話焼きというのも案外考えものだ、とアキムさんの立場を多少気の毒に思った。もちろん些細なものだ……結局はただの幸せ者だ。


 さて、アキムさんが動力炉を調べ終えて呼びにくるまでの間、僕の方でもできる限りのことはしておこう。


 廊下を螺旋らせん階段とは反対側に進むと、左右の壁が無くなり船首の下部へ出る。ここから船の外郭に沿って仕切りがなく歩いて一周することができる。全てが木造船の機関室だ。船の中央にある船長室や食堂、上階の船員居住区を除いた外縁のスペース全部を指すため、天井の高い楕円だえんの回廊という表現が適切かもしれない。区分けする壁は無いが、頑強な柱が船の駆動機関部を支えている。


 木造船を前進させるためのかいはすべて機関室から船外へ伸びている。最下層にある動力室を心臓と例えるなら、機関室は心臓以外のすべてだ。問題が発生しているのならば、何らかの形であれ必ず断片を見つけられるはずだ。


 船首から左回りに船の外郭を歩き始める。機関室左舷部が最初の点検場所だ。天井は上階の居住区を突き抜け、甲板の場所まで10メートル以上はあるだろうか。船の外壁に沿って大きな櫂ひとつひとつに梯子と作業場が備え付けられている。どちらも木製でありながら魔法の力で人間を足場まで自動で運ぶなど、不思議な仕掛けがほどこされている。


 片側30本のかいをそれぞれ管理する作業場の数々は上下に大きく3階層に分かれ、船首から船尾まで一定間隔に並んでいる。レジスタ共和国にも無い巨大な砦を眺めているようだ。知らない者には連れて来てでも自慢してやりたい。


 現在は何か損傷が発生したという様子はなく、かいはすべて止まっていることから船が一時的に眠っているように見える。


 本来、かいいで進むガレー船は人間がぎ手となる。船長夫妻と自分以外に誰もいない木造船は、櫂を動かす役割を船自体が担う。その仕組みはソフトウェアの考え方をヒントにしており、複雑な仕組みは理解しづらい。僕自身、苦労して覚えたのだから、知らない人には是非メカニズムを説明したい。






 まず簡潔に一そうの大型船の外観をイメージしてほしい。ガレー船なので帆はなく、かいが船体の側面から外へ飛び出している。この木造船の特異性は、堅い木製の櫂1本が複数の部品から成り立っている点だ。


 たとえるなら人間の腕さながらに、関節によって複数の強靭きょうじんな円柱状の骨を自在に動かす。櫂1本につき4つから6つの骨によって構成されている。


 上下3列に分かれた3段かい船であるこの船は、長さの異なる3種類の櫂が上下3層に分かれて並んでいる。上に行くほど長さが伸びて遠くまで届く。骨組みの数はそれぞれ上段が6つ、中段が5つ、下段が4つで長さに比例する。船が前進する際は全ての櫂が一斉に波をかき分ける。長さが異なるのは、他の段の櫂とぶつかり合うのを防ぐためだ。


 漕いで進む仕組みは古くからあるガレー船と同じだが、魔法の仕掛けがほどこされた木造船は、櫂ごとに備わった「自律駆動」の仕組みによって異次元とも言える機能を発揮する。


 先に船の周囲にある黒い海の説明をしなければならないだろう……。海流は速く、目まぐるしく「光の粒」を押し流している。しばらく一方通行が続いているが、周囲の背景ごと巻き込むように分岐することも幾度かあった。世界は黒い海流が網の目のように広がり、絶えずどこかへ注ぎ込まれているのかもしれない。


 海にたたえられた水の正体だが……確かに液体である。ただし透明性はなく、かといって何かの物質が溶け込んでいる様子もない。以前、僕たちをおびやかしていた漆黒の球体、影の王とは関係なく、何かしら意思を持った存在でもない。色合いはどちらかと言えば漆黒というより光を吸い込む闇のようだ。


 水と酷似した黒い液体、残念ながらそれ以上のことを解明するには至っていない。文献に記載もないが、僕たちは初めて見る海水をこういう・・・・もの・・だと判断している。


 海水自体が無害な一方で、黒い水の中を船と同じ方向へ流れる「光の粒」は厄介極まりない。人体に悪影響をもたらすことはないが、数字の0と1の形をした不可思議な物体は金属のように重く堅い。また、単体で存在しているモノもあれば、複数が強固に結びついて巨大な塊を形成しているモノもある。光の粒は山間部上流の如く速い流れに乗って、進行方向へ容赦なく突進する。


 かいが1本の木材であれば、光の粒の衝撃によって容易く叩き折られてしまうだろう。その解決策として5本前後の強靭な骨と、それらを繋ぐ関節によって人間の腕の如く器用に波をかき分ける。


 さらに「自律駆動」の仕組みがかいの動きを最大限に効率化する。例えば、1本の櫂が巨大な障害物――0と1の集積した塊にぶつかったとき、負担を減らすため無理に障害物をかき分けようとせず、力を最小限に留める。櫂は骨組みを繋ぐ関節部分によって障害物とは逆方向に反って衝撃を受け流す。


 このとき、かいぐ仕事を成さない。繰り返し続くと、特定の櫂は推進力をほとんど生み出さず、木造船は真っ直ぐ前進することができなくなる。


 木造船のかいは、1本が障害物に遭遇すると次に漕ぐ準備へ移る前に、他の櫂がその1本を助けるため同じ目標まで櫂の先を合わせる。仕事を成さない1本の代わりに複数の櫂が力を合わせてかき分け、強大な腕力で重い塊を後方へ押しやってしまうのだ。


 言葉で述べるだけなら簡単だが、幾重もの仕掛けが用意されている。


 木製の骨組みを繋ぐ関節は、石油をもとに開発した非常に頑丈な合成ゴムが仕込んである。木造船の動力源はゴムの弾性によるものだ。2年前にレジスタ共和国が手に入れた石油を元に精製した合成ゴムは繊維を自動に回復する。原理は魔法の力を用いている。


 本来ならば、一度伸長・収縮させたゴムを再び伸ばした場合、全く同じ弾性の力は得られない。ゴムの伸び縮みを実現している繊維が切れるからだ。人間の筋肉は損傷した部位をさらに強く修復するが、生命体でないゴム繊維は切れたらもう使い物にならない。


 魔法の4属性のひとつ土の属性をベースにした魔法が作用し、頑丈なゴムは無限に修復され伸縮する。ひとつを細く生成し束のように集めて、船外の櫂、船内の機関室など、動力に関するすべての部品を繋いでいる。


 刻印の描かれた部品は無数に存在し、それぞれゴムの束を伸ばしつつ別の部品と接続して船内を巡る。木造船の運航に不必要となった余剰の伸縮エネルギーは別の魔法効果によって変換され、ドアの開閉や明かりの生成などに用いられている。


 そして「自律駆動」だ。ゴムの修復と同じく部品に描かれた刻印が担当している。船外へ飛び出ている櫂は5つ前後の細長い部品によって、根元から先へひとつずつゴムを接続している。櫂が障害物をかき分けるケースでは、固形物に当たった箇所を持つ櫂の一部分が、自分へゴムを接続している部品に「通常より可動範囲が小さかった」という情報を流す。


 「親」とも言える「接続している側」の部品は「子」から受け取った情報を根元部分にたどり着くまでさらに「親」へ伝達するか、根元に届いていれば周囲にある別の櫂――「兄弟」へ伝達する。船長が考えた部品同士の関係は、異世界の知識である「ツリー構造」なるものからアイディアを拝借したようだ。


 自律と言っても判断する頭脳はない。可動範囲の小さい櫂の先に向かって、根元部分から受け取った情報にもとづいて誤差を埋めるべく「兄弟」、あるいはその「子」にあたる周辺の櫂が集まる。固形物に当たった櫂は応援する他の櫂の力を借りて障害物をかき分け、再び可動範囲を大きくする。正常に戻った情報が周辺の部品に伝われば、誤差がなくなったものとして櫂は定位置へと戻る。


 頭脳という中枢神経はないが、もし外から観察していれば、生き物が手足を動かすように見えるかもしれない。


 以上が木造船機関室の構造だ。木造船の最下層にある動力室から各部品の刻印へ命令を送り続ける限り、櫂もそれを動かす機関も止まることはない。


 現在、時が止まったようにかいはひとつも駆動していない。


「原因はここじゃない。だとすると……」


 もしかしたら、動力室かあるいはもっと深く、木造船の仕掛けを支える魔法の技術そのものに問題が生じているのかもしれない。


 革新的な魔法技術……木造船を作り出しただけでなく、多くの人間に影響を与える変化が近年起こった。昔の自分に話しても到底信じてもらえないだろう。


 契機となったのは魔法歴100年10月10日「運命の日」。当時の・・・魔法を駆使して「影の王」を打倒した歴史的な1日である。


 思いがけず僕の意識は当日、2年前の時間へ飛んでいった。





(補足)【ツリー構造(階層構造)】


 木造船のかいは「ツリー構造」という仕組みで成り立っています。和訳の「木構造」は分野が広大であるため、「階層構造」と呼ぶ方がわかりやすいかもしれません。プログラミングに使われるデータ構造のひとつです。櫂を動かしている「親子」関係のように、優先順位の高い者が1対多の関係で他を管理し、制御する機能を持ったリスト構造を「ツリー構造(階層構造)」と呼びます。(リスト構造は「Ver2.3 決戦への道のり(2)」を参照してください。)


 ソフトウェア製作の現場では、例えばCGにおける3次元モデルの「姿勢」を管理するのに用います。IT用語「木構造」に目を移すと、用途はファイルシステムのほか検索方法などコンピューター全域に及びます。

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

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

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

↑ページトップへ