カウントダウン

 『裏技大百科』には裏情報も満載である。

 ゲーム版「オクタンドル」のノベライズ、コミカライズの計画がある、なんてことまで書かれている。へー。魔王軍の出現あたりからのオクタンドル世界の動乱を中心に物語を展開する予定だそうだ。

 その他には前作の「ノクターナル」のサービス終了の予告、コラボ商品の情報、ゲーム制作陣の内輪ネタ。そんな情報はいらないなあ。


「誰がこんなところまで日本語から翻訳したんだろう」とかつぶやきながらスキャンの作業を進める。


 内容をちらちらと読みながら作業を進めた結果、2時間足らずでスキャンは終了。文字認識で得たテキストを読んでおくようにAIチャットに指示。


 そろそろ夕飯。

 今日は結局セーラには会わなかったが、リズが事情を説明してくれたそうである。


 夜はせっせとイラストの修正レタッチ

 重なっている文字や汚れを取り除いたり、小さいイラストを大きくしたり。AIがちゃんと判断してくれるので比較的簡単に終わる。


 ふと思いつく。イラストは二十数枚あるから、これを参考にAIに新しいイラストを描いてもらうこともできるんじゃないかな?

 試しに、上半身しかない絵に下半身を付けて全身像にしてみる。すると、他のイラストにあったスカートがちゃんと書き足されている。脚もきれい。

「おー。これはすごい」


 では、振り向いて斜め後ろを見ている姿勢。

「おお、ウエストのラインが素晴らしい」

 じゃあ、ローアングルから上を見上げたらどうかな? わくわく。


「デレク様、何やってるんですか?」

「うわ!」


 背後からナタリーが覗いていた。

 あー。びっくりした。


「可愛い絵ですね」

「あ、うんうん」


 ちなみにAIさんはスカートの中は推論できなかった模様で、スカートの下に短パンをはいているという状態を見事に描ききってくれていた。……間違ってはいないが、……どこから学習したのか。


 クラリスとナタリーは、ゴスロリ、高校の制服に続く、新しいデザインの相談に来たらしい。ちょうどいいのでリズも呼んで、これまでの経緯について報告と相談。


「スキャンしながらざっと内容を見たんですけど、どうやら、ゲーム版『オクタンドル』の解説書的な本を、かなり忠実に再現してこちらの世界に持ち込んだようなのです」

「それってどういう意味があるのかしら」


「あくまでも憶測ですが、現実のゲーム版『オクタンドル』には『裏技』が存在していましたから、それもこちらの世界で再現しようとしたのではないかと思います。つまり、『裏技が存在するオクタンドル世界』を実現しようとしたのではないかと」


「セキュリティを危うくしてまで、わざわざそんなことしなくてもいいと思うんだけど」とリズ。実にまっとうな意見である。


「ただ、『裏技』に相当する魔法などをこの世界に作り込んでも、知っている人間がいなければ意味がありません。そこで、『裏技大百科』も翻訳して世界のあちこちにばら撒いて、この世界でも『知っている人は知っている』という状態を作ろうとしたのではないでしょうか」


 クラリスから質問。

「本に書かれているゲームの『裏技』は、この世界ではどのくらい忠実に再現されているのかしら?」


「まだ全部を読んでよくよく吟味したわけではありませんけど、例えば他人が魔法を使えないようにする『裏技』の説明があります。これは一般の魔法士が使える魔法ではなく、神聖魔法として実装されていると思われます。つまり、必ずしもそのまま再現されているのではなさそうです」


「目下の問題は『耳飾り』の件だけど?」とリズ。

「確かに本に書かれた『魔法を指輪に固定する』という『裏技』と同じ使い方ができる魔法『詠唱魔石固定ネェメニィノイム』というのが魔法システムにある。これはほぼ忠実に再現されているみたいだ。ただ、詠唱もちゃんと掲載されているのに、これが最近までほぼ使われたことがない、というのは理由が良くわからない」


「奴隷魔法の時のように魔法を禁止したりするんですか?」とナタリー。

「そこは慎重に検討しないといけないけど……」


 リズが言う。

「ダンジョンはこれからも『愛する者たちの試練』という魔法スクロールを出し続けるだろうから、それは使えないとおかしいよね」

「だから、『裏技』が関係するあたりを禁止するか、何らかの制約をかけるか、だろうなあ」


 クラリスが言う。

「すっぱりと『裏技』を禁止してもいいんじゃない?」

「そうなんですけど、今まで使えていた魔法が何故か突然使えなくなる、ということは通常は起こらないわけですよね。奴隷魔法の時は勇者の魔王討伐から300年経過したからという、分かったような分からないような理由をでっち上げて例外的に魔法を抹消したんですけど」

「でも、いきなり魔法が使えなくなったからって、デレクのところに誰かが怒鳴り込んでくるわけじゃないでしょ?」

「まあ、そうですけど」


 リズがちょっと考えてから言う。

「『裏技』を使った時に、実際に指輪に何が書き込まれるのかまで調べた?」

「いや、そこまではしてない」

「漠然と『魔法が固定された指輪』と言っているだけじゃなくて、実際に調べてみる価値はあると思うよ」

「それは一理あるね」


 ということで、俺とリズで魔法の調査。

 その間、クラリスとナタリーは服のデザインを検討するらしい。ゴスロリの評判が良かったので、春に向けて何か新しい企画を考えたいということらしい。クラリスが生き生きしている様子を見ると安心する。


 これまでに集めた「魔道具のしかばね」の中に、どうでもいい魔法スクロールが多数あるので、それを使って調べたらいい。

「ロバのやつがいっぱいあるんだ」

 他人からロバに見える『俺が草食獣ロバ』というやつだ。

「やってみようよ」


 精霊ウィンダムがどうのこうのという詠唱の中に、魔法スクロールの詠唱を挟むわけだ。プログラミング言語でいうところの「ヒアドキュメント」みたいだ。


「指輪の準備もできた。行くぞ。知恵と契約の主たる精霊ウィンダムに申し上げる。……献身と友愛と真実の御使いたる呪文の精霊バーヌムに……ことをお示しあれ。見えざる叡智を繋ぎ止める御使いの霊妙なる御力を示し給え」

 詠唱が2つ分なので、実際に口で唱えるとめちゃ長い。

 詠唱を終わると、頭の中で電子音のような「ポン」という音が鳴る。音だけじゃ成功か失敗か分からんじゃないか。結構手抜きだな。


 指輪に何が書き込まれたかを調べてみると、『1回だけ実行』という魔法パッケージとリンク情報である。

「あれ?」

「何かおかしい?」とリズ。


「『愛する者たちの試練』もそうだったんだけど、魔法スクロールを詠唱すると、2回目からは実行できないように『1回だけ実行』という魔法が使い捨てのグローバルストレージを破壊するんだよね」

「ふむふむ」

「そのグローバルストレージに格納されているのが『1回だけ実行』と魔法本体へのリンクなんだけど、同じ内容を指輪に書き込むっておかしくない?」

「つまり、同じ内容だったら実行した後で指輪の内容も消去されちゃうんじゃないか、ということ?」

「そのはずなんだよな。……実際にやってみよう。実行アクティベート!」


 とたんにリズが爆笑。振り向いてこっちを見たクラリスとナタリーも爆笑。

「あははは。デレクがまたロバになってる。しかも顔がエロい」

「まあ、魔法が動作してるということは分かったわけだけど。……エロい? ロバが?」


 そこで再度、指輪の中身を確認。

「あれ? 別に中身はそのままだな」

「その『1回だけ実行』が魔石の内容を破壊しないってこと?」

「どうなってんだ?」


「前に、デレクがロバのやつを指輪魔法にした時はどうやったの?」

「詠唱が参照するグローバルストレージを探し出して、その中のリンク情報だけをコピーした。『1回だけ実行』なんて必要ないからね」

「この『裏技』がわざわざ『1回だけ実行』もコピーしてるのはどうしてかな?」

「まずは、どうして魔石の内容を破壊しないのか調べてみよう」


 『1回だけ実行』のソースファイルを調べたら、案外簡単。


「疑問点は2つあったよね。まず1つは、魔法本体のリンク情報だけじゃなくて『1回だけ実行』までコピーしているのは何故か、だ。『1回だけ実行』を調べたら、起動されるのが魔法じゃなくて呪いだった場合や、ごく簡単な動作の場合には、魔法本体へのリンクは使わない。さらに考えてみると、魔法スクロールの実装で『1回だけ実行』を使わないというケースもあるかもしれない。そういった様々な場合について指輪への複製の方法をあれこれ場合分けするより、ストレージの内容をそのまま複製することにしたら簡単かつ確実だ」

「なるほど」


「2つ目の謎は、魔石に固定された場合に魔法が抹消されないのは何故か、だ。ソースファイルを見たらすぐ分かるんだけど、ストレージに『自己抹消DeleteSelf=OFF』というプロパティが書き込まれていると、魔法の起動だけ行って抹消は行わないんだ。魔石に固定する時、このプロパティを書き込んでいる」

「なんでそうなってるのかな?」

「ストレージの内容をそのまま複製し、しかし実行しても内容の抹消は行わないという動作が実現できる。魔法スクロールの実装に『1回だけ実行』を利用していないケースがあったとしても、このプロパティは無視されるだけで問題は発生しない」

「確かに簡単だね」


「魔石にコピーされた『1回だけ実行』はローカルな魔法じゃなくて、魔法のグローバルな定義を参照しているだけなんだ。そこで考えたんだが、魔法システムにある『1回だけ実行』を書き換えると、指輪に固定された『愛する者たちの試練』の動作も抑制できるんじゃないかな?」

「抑制って?」


「例えば、魔石に記録されている場合、3回くらいまでしか実行できない、みたいにできると思う」

「どうすればできるかな?」

「ほら、『自己抹消DeleteSelf』というプロパティは確実に存在しているから、これを利用して、ON / OFF じゃなくて整数値を持たせてカウントダウンさせるようにしたらできそうだ」

「なーるほどね」


 そういうわけで早速作業開始。

 『1回だけ実行』のプロジェクトを丸々コピーして、内容を改変する。

 具体的には、『自己抹消DeleteSelf』というプロパティが存在した場合、値が OFF だったら新しく 1 という値に変更し、値が 1 だったらプロパティ自体を消去するというコードを追加する。こうすれば、プロパティが OFF の時、1の時、プロパティがない時の3回しか実行できない。もっと回数を増やしたければ 1 じゃなくて 5 とかにしてカウントダウンさせればいいわけだが、まあ3回くらいが妥当かな?

 さらに、これまでの『1回だけ実行』は起動した魔法の情報をログに残さないのだが、これをログに残すように設定。


 この魔法をビルドして、新たに『1回だけ実行』として登録。


「さて。実行アクティベート!」

 リズが吹き出している。俺がロバに見えているのだろう。

 しばらくしてもう1回。

「まだロバだね」

 もう1回。

「まだロバ」

 もう1回。

「あ、動作してないみたいだよ」


 念の為に指輪の中身を調べてみると、初期化されていて空っぽである。ログも確認。『俺が草食獣ロバ』を3回起動した後は動作していない。


「よし。完成だ」


 指輪に固定した魔法が3回しか使えなくても、「まあ、そんなもんか」で納得してくれるだろう。多分。

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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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