第四話 開発!
「エイダ。カルラとアルバンは?」
「今は、レベル4に挑戦しております」
「そうか・・・」
俺と一緒にダンジョンに向かう条件として提示したのは、このダンジョンの階層主と同程度に調整した魔物の討伐だ。
レベル4というのは、40階層にいる魔物たちを倒している最中だということだ。
正直な話をすれば、少しだけ驚いている。
「マスター」
「あぁ」
俺の手が止まっているのをエイダが注意した。
俺は、プログラムを作っている。エイダのバージョンアップだ。エイダは、新しいプログラムがないと固定された状態から解放されないから、さっさと作って欲しいのだろう。ベースは、C#を使って作った。俺がわかりやすいからという理由だ。
機械学習を行っていて嬉しい誤算が産まれた。
ダンジョンに潜っている者たちが使う”魔法”がクラスとして使えるようになった。
考えを戻そう。エイダは、俺と一緒に外にできる。そのために、必要になってくるプログラムを組み込む必要が出てきた。
自衛のために、魔法を使えるようにしておきたい。他にも、結界や治療が行えるようにしておけば、俺だけではなく、カルラやアルバンのためになるだろう。
開発環境でエイダに組み込む魔法を開発する。
ダンジョンだけではなく、エイダの機能も、クラスになっているので、作るのはそれほど難しくはない。インストールも配置を使えば難しくない。難しいのは、テストを行うことだ。流石に、シミュレーションまでは実装されていない。そのために、テストの方法は、魔核に配置して自分で試してみるしか無い。幸いなことに、ダンジョンの中なので、魔核を得ようと思えば簡単に得られる。
シミュレーションがしっかりと作られていないデバイス関連のテストをしている印象を受ける。
リモートデバッグは可能なのだが、エイダで試してみるとやはり違和感が産まれてしまう。そのために、ある程度のところまで作り込んでから、トライ・アンド・エラーで開発を行っていく必要がある。
「エイダ。ひとまず、結界と初級魔法を組み込んだ」
「ありがとうございます。マスター」
「容量はどうだ?」
「まだ余裕があります」
エイダの記憶に関する部分も手を入れた。記憶は、ストレージと同じ扱いになっている。記憶を外部に保存するようにした。もちろん本体にはキャッシュを残すように変更した。エイダの感覚が頼りだが、多少のタイムラグが発生するようだが、問題はないようだ。キャッシュは計算では、半年は保てる大きさになるように設定した。それに合わせて、活動に必要な魔素量を計測して、半年は魔素がまったくない状況でも活動できるように改良を行った。
「よし、魔法のテストをしよう」
「はい!」
「カルラとアルバンを助けてやってくれ。エイダの魔法のテストにはちょうどいいだろう?」
「わかりました」
管制室には相変わらず、俺とエイダとヒューマノイドしか入られない。アルバンに試させたら、見えない壁があって、中に進めないし、ドアがあいている状態でも仲が見られないと言っていた。
ダンジョンの制御をオーバーライドが出来ないかといろいろやってみるが、プロテクションになっていた。
入られなくても、問題が少ないので放置すると決めた。
「マスター。行ってきます!」
「あぁモニターはしているけど、違和感があるようなら教えてくれ、パラメータをいじるからな。あと、デフォルト値を見極めてくれ。特に、結界はカルラとアルバンをしっかりと覆るようにしてくれ」
「はい!」
エイダが、作業台から飛び降りて、管制室を出ていった。
エイダに変わって、俺の横にゴブイチとゴブニがいる。作業の手伝いをしてくれる。
「ゴブイチ。飲み物を頼む」
『はい』
ゴブイチが持ってきてくれた、果実水を飲みながら、ダンジョンの構成を考える。
50階層から下は、既に決めている。機械学習を行ったデータを元に、ポップする魔物の基本性能を自動的に作成するようにした。
50階層にたどり着くのはかなり先になるだろう。監視用のプログラムも作成して、アラートが上がるように設定している。アラートは、エイダが受けるようにした。他にも、細かい修正を行った。
10階層の階層主までは、体力を減らしていたら、魔物を倒すと”体力回復”の魔法が一度だけ使える魔道具が出現する。10階層の階層主までは、甘えが有ってもよいと思っている。出現する魔物も、パーティー以上にはならないように調整を行った。
これでも、無茶をして怪我をしたり、後遺症が残るような状態になったり、死んでしまう者も出てくるだろう。しかし、それは自己責任だと割り切るしか無い。
今は、急ピッチで”体力回復”が行える魔道具を作成している。
ヒューマノイドタイプに、1回分に相当する魔核を集めてもらって、そこに回復が行える魔法を配置する。その後、魔核を対象者にぶつければ回復魔法が発動するように設定した。
この情報は、カルラを通してウーレンフートのホームに伝達した。最初は、回復の魔道具を持ち帰ろうとした者が大量に発生したので、持っているとドロップしないように修正した。また、ダンジョン外では効力を発揮しないようにした。
新しく、ゴブリンタイプのヒューマノイドを作り出した。管制室での作業を補助させるためだ。
管制室の管理モニターは、作り直した。元々表示していたデータや映像は、あまりにも無意味な物だった。エイダが一人で見られる(ような)状態だったために、限定した機能になっていた。
新しいヒューマノイド・ゴブリンには、いくつかの条件設定を行っている。下層まで降りてきている者を監視する者。一度、下層まで降りてきたものがダンジョンに入ってきたらモニターで状況を注視する。新人だけを見る者。魔物の討伐数を見る者。モニタリングを行う属性を決めて、ヒューマノイド・ゴブリンに操作させる。最初は、閾値を決めてのモニタリングを行う。学習データが溜まってきたら、分析を行ってみようと思うが、まずはデータ収集が必要になってくる。
久しぶりの開発だったが、なんとかプログラムの形にはなったと思う。
俺が、プログラムを作り始めてから15日が経過した。
「マスター」
「どうだ?」
「はい。お疲れになって、お休みしております」
「そうか、階層は?」
「80階層まで進んでいます」
「もうすぐだな」
「はい」
「よし、エイダのデフォルトパラメータを調整するか?」
「お願いします」
エイダに座ってもらって、魔法の履歴を見る。
魔法は概ねデフォルト値で使っているようだ。2-3回は、パラメータに違う数値を入れている。ログを確認して、カルラとアルバンの戦闘ログと突合する。
「うーん。アルバンが突っ込み過ぎだな」
「はい。カルラ様が注意されていました」
「そうか、それならデフォルト値は今のままでよさそうだな」
「はい。マスター。中級魔法や支援魔法を使えるようにしていただきたいです」
「そうだな。支援魔法が使えるようになると戦略の幅が広がるな」
「はい。お願いできますか?」
「わかった。いくつか、試しに作った魔法がある」
エイダに、結界とは別に、支援系の魔法を組み込む。
単独支援をカプセル化して、複数支援が行えるようにプログラミングを行う。対象に、同じ支援や下位の支援がかかっている場合には、支援を行わないように条件を追加する。複数の支援を同時に行使したほうが、効率が良い場合がある。戦闘開始時には、力や敏捷性を上げる支援魔法は必要になってくる。あまり複雑にすると、パラメータが増えるだけだ。
支援系は、一つで完結している魔法もあるが、複数をかけることで効力が増す場合もある。
そのために、単体でも使える魔法を多く配置して、魔法を呼び出すだけの魔法を作成していく、ランチャー機能をもたせるのだが、デフォルト設定がむずかしくなるので、エイダにはしばらく支援系を主に使ってもらって、パラメータの最適化を行うことになった。
それから、5日が経過した。
毎日のように、エイダの支援魔法のパラメータ調整を行った。
カルラとアルバンは最下層相当の魔物の討伐を終えることが出来た。