ダンジョン運営には弊社アプリケーションをご利用ください
「で、お前がダンジョンコア?」
「ソウデス」
宙に浮いた光る石が返事をする。
俺は交通事故で死にかけたタイミングでこの光る石に助けられたらしい。
で、光る石であるダンジョンコアはダンジョンを救うために俺に助けてほしいという。
ダンジョンを救うってなんだそれって話ではあるのだが。
「ダンジョンの中を操作するのはお前がやってるの?」
「ソノトオリデス」
「命令はこのパネルでするわけね?」
「ハイ」
ということは、パネルのインターフェースから何かしらの形でダンジョンコアに命令が出力され、それを受けてダンジョンコアが実行するわけだ。
「このパネルのコードって見れる?」
「コード、デスカ?」
「コードでも命令書でも魔法陣でもいいけど、『ここにこれを表示します』とか『Aのボタンが押されたらBを実行します』とか指示されている部分があるだろ?」
「ハイ。パネルニヒョウジシマス」
見たことがない文字が表示される。
やっぱり読めないか。まぁいい。
「一時的に値を保存する枠を『変数』と定義して、『1たす1を変数Aに保存する命令』を表示してくれ」
さきほどより短い文字列が表示される。
ちょっと規則性もある。
「じゃあこの書式を『var A = 1 + 1』と定義する事はできるか?」
「ジョウホウガ フソクシテイマスガ カノウデス」
あーそうか。環境変数とか定数も定義しないと無理だよな。
だけど定義する事自体はできるみたいだ。
コンピューターが理解できるマシン語をさらに翻訳してプログラム言語ができているのと同じようにダンジョンコアにプログラム言語を教えて実行させることはできそうだな。
「環境づくりは大変だけど一度作ってしまえば楽ができるだろう。ダンジョンコア、よろしくたのむぞ」
ITエンジニアという生き物は楽をするためならいくらでも苦労できるのだ。
矛盾してるかもしれないがそうなのだ。
それからダンジョンの構築そっちのけでプログラムの基本ロジックをダンジョンコアに叩きこみ、ダンジョンコアが元々持っていた命令や機能をすべて定義していった。
―――
「そしてベータ版がこれだ」
ダンジョンに来てから一週間経ち、俺はモニタを指差す。
作業効率を上げるためダンジョンコアにモニタとキーボードを作ってもらった。
これの説明にも結構な時間がかかったが……
「このプログラムを実行すれば、ダンジョンコアが持つ魔力量に応じてフロアの拡張、魔物の配置、宝物や罠の設置を自動で行い、メンテナンスもする。入場者がいないから今回テストはできないが難易度の自動調整もできる」
要するにダンジョン自動管理アプリだ。
「とりあえずテストで一晩回してみよう。一応バグチェックはしたが不具合が出たら起こしてくれ。俺は寝る」
「オマカセクダサイ、マスター」
―――
「あーよく寝た」
この一週間ほとんど寝てなかったからぐっすりだったわ。
「俺が寝てる間にバグは出なかったか?」
「ハイ。モンダイアリマセン」
ダンジョンコアがキラキラ光を放つ。
こいつちょっと大きくなった気がするけど気のせいか?
「じゃあもうしばらくテストで回しておくか」
ベッドから起きてダンジョンコアが出したパンと水を腹に入れる。
水とパンと干し肉の生活にもだいぶ慣れたが仕事するならコーヒーは欲しいところだ。
「どこかにコーヒー売ってねぇかな」
ダンジョンコアはいろいろ作り出す事ができるものの、一度ダンジョンに入ったものでないと作れない仕組みだ。
「コーヒートハ ナンデスカ」
「コーヒーはお茶の一種だな。ある種の豆を炒ってすりつぶしたもので、お湯で煮出すと黒くて苦くて香ばしい飲み物になるんだ」
俺はモニターの前に座る。
「まあ、ないものはしょうがない。気にするな」
動作ログを見てダンジョン管理アプリが動いているのを確認する。
エラーは吐かれていないな。よしよし。
管理アプリが大人しく動いてくれているので次に何を作るか考える。
商売以外のサービスを作るのは楽しいものだ。
「よし。モンスター作成ツール作るか」
ダンジョンコアに登録されている魔物の種類は少ない。
ダンジョンに迷い込んだ動物やら魔物を記憶し再現する仕様だ。
強い魔物を用意したければ弱い魔物を育てて進化させ、それを記録するのが基本的な路線となっている。
しかしダンジョンコアを解析した結果、実際の魔物のデータがなくてもそれに類するデータがあれば魔物を作り出せることがわかっている。
データさえあれば超強い魔物を作り出す事が可能なわけだ。
当然コストは相応に必要だけどな。
そこで魔物を設計するツールを作る事にした。
イメージは3Dモデリングツール。
形を作って、骨を入れたら他の魔物から動作データをインポートして動くようにする。
死んだら消えてしまうっぽいので内部まで細かく作らなくてもいいだろう。
あー、動作データの抽出プラグインと動作を移植した際に調整するプラグインも必要だなー
できれば学習とフィードバックの機能もつけたいところだ。
俺はカタカタとテキストファイルに機能と仕様を書き出し、アプリの開発をスタートした。
―――
「興が乗ると集中しすぎてアカンな」
ダンジョンコアに水桶とタオルを出してもらって顔を洗う。
開発開始から1週間が経ち、モンスター作成ツールはおおよそ形になった。
実際のところツールよりも学習AIを作る方が大変だったわけだが、ダンジョン管理アプリにも応用が利く部分だったのでしっかりした物を作りたかったのだ。
テストで作った魔物は四角い箱をくっつけたようなゾンビと、ちょっとしたことで爆発する緑の箱を積み重ねたような一部界隈では『匠』と呼ばれている魔物だ。
ちなみに地形まで吹き飛ばす効果は撤去した。ダンジョンだからね。
実際動くとどうなるかはわからないが、起きたらテスト中のダンジョンに配置して動きを見るとしよう。
「それじゃ俺は寝るから。何かあったら起こして」
「ハイ、オヤスミナサイ、マスター」
―――
「あーよく寝た」
やっぱり開発中もちゃんと寝た方がいいな。
もう少しもう少しってやってるといつの間にか睡魔も一緒にキーを叩き始めちまうんだよなー
「どうぞ」
差し出されたマグカップを受け取り口をつける。
あーなつかしい香り……
「ってこれコーヒーじゃん!」
驚いて横を見るとスレンダーな金髪美女が立っていた。
「あんた誰?」
「ダンジョンコアです。マスターのお手伝いをするために体を用意しました」
ええー?
そんな機能あった?
「もしかしてツール使った?」
「はい。マスターが開発したモンスター作成ツールを使わせていただきました。モデルはダンジョンを訪れた冒険者がベースです」
マジかよ。俺が作ったツールを使ったのか。
いやちょっと待て?
「今、ダンジョンを訪れた冒険者って言った?」
「はい」
「テストが終わるまでクローズドにしてなかったっけ?」
公開非公開の設定があったはずだ。
「いえ、最初からオープンでした」
マジかよ設定ミスかよ。
肝心な所でそんなことする!?
ていうか最初から?
慌ててキーボードに飛びつきモニタにダンジョン管理画面を表示する。
「総来場者数1845、現在の来場者数83……」
結構な人数来てるじゃねぇか。
「なんで言わなかったん?」
「バグが出たら教えろとおっしゃってましたので……申し訳ありません」
あー、そうね。
バグはだいたい潰してたからね。
よっぽど変な事しなければ不具合も出ないだろうね。
多分細かいミスはあるんだろうけど止まるほどじゃなかったか。
さすが俺だわ。
ダンジョンコアのしょんぼり顔を見ると怒るにも怒れない。
俺の指示が悪い部分もあるしな。
「で、現状どんな感じなわけ?」
「はい。管理画面の表示の通りにはなりますが、現在12階層450部屋、魔力収支は+10%、ダンジョン成長率は+15%で推移しています。来訪者の生還率は99%。こちらはダンジョン管理アプリの設定がイージーモードのためで、死亡状況に陥った際には大怪我レベルまで治療魔法をかけ入口に放り出す仕様によるものです」
立て板に水でダンジョンコアが現状を説明する。
しゃべり方も流暢になったよなぁコイツ。
光る石のカタコト感も愛嬌があって好きだったが。
「当ダンジョンは死亡率の低さもあって人気ダンジョンになりつつあります。ダンジョン公開後しばらくは入口に放り出された重傷者を狙った盗賊が現れていたようですが、現在は救護を商売とする者たちが治療所を建築しそれも解消されています」
へー、ダンジョンの外で商売する人もいるのか。
需要があれば商売にもなる。
さすが人類たくましいな。
「ちなみにコーヒーは外の商店で購入した冒険者が持ち込んだものから作りました」
俺はマグカップの中の黒い液体を眺め、香りを確かめるようにすする。
「うん、うまいよ」
俺の言葉に嬉しそうに微笑むダンジョンコアはもはやヒトとしか思えん。
学習AIで冒険者からも学んでいるのかもしれない。
「しかし現状で順調にダンジョンが回ってしまうと俺がやる事がなくなるな」
システム開発というのは必要があるから作るもの。
モアベターを目指す事もなくはないがそれは問題点が浮き彫りになってからの話だ。
「マスター、まだまだ必要な物はたくさんございますよ」
「そうか? 例えば?」
「マスターのお食事にパンと干し肉以外を追加する事、などですね」
たしかにそれも必要だ。
俺はのびをして立ち上がる。
ひとつ独身男の料理スキルを見せてやるとするか。
「よし、ダンジョンコア、フライパンをだしてくれ」
「マスター、フライパンって何ですか?」
「そっからかーい!」