ぷろろーぐ
第五話開始です!
――いろいろな出来事があった週も明けて月曜日。
久しぶりに仕事に出かけた俺に、インフルエンザというウソをついた大きなツケがやってきた。
「病み上がりにごめんねー」
上司であるりる姉が、にっこりと微笑みながら差し出してきたのは膨大な数の要件定義書。
……これ、全部設計書起こしてコーディングせにゃならんのか?
要件定義書というのは概ねどんなシステムを作りたいかというお客様のご要望をまとめたもので、案件によって結構まちまちだが基本的にはそのままプログラムを起こせるような代物ではない。そこからさらにお客様と打ち合わせをしてもっと具体的な設計書を起こすものなので、あくまで「こういった機能が欲しい」程度の覚書的なものである場合が多いのだが、それでこの量とは。
休む前にはだいぶ仕事量が落ち着いていて、だいたい定時には帰れる状態だったのに、突然仕事が山のように増えていた。ああ、仕方がなかったとはいえ、自業自得とはいえ、これはいわゆるデスマーチってやつか。
「……わりと緊急みたいでね、納期もけっこうキツキツなんだけど。まぁ、なんとかなるよね? あははー」
寝不足で少しハイになっているらしく、りる姉が乾いた笑い声をあげた。俺が異世界でねこみみ幼女をやっている間にも一回目の納品があったようで、おかげでりる姉が見舞いに来る暇もなかったらしい。
パラパラと要件定義書をめくってみる。どうやら何かのゲーム?のように見える。レベルアップだとか、職業だとか、武器とか防具とか、なんだかRPGっぽい感じだ。
うちはこれまでビジネス用のシステム開発ばかりで、こういったゲームだとか特殊な業種の仕事を受けたことなどなかったのだが、どういった風の吹き回しなのだろうか。
「現物が最優先で、ドキュメントは後回しでいいから、とにかく形にしちゃってね」
さっそく打ち合わせだ。
りる姉から概要について説明を受けた。
間にいくつかの会社を挟んでいるせいで大元の依頼主はよくわからないのだが、どうやら何かのイベント関連を取り仕切る業種のようで、俺たちが作らなければいけないのはどうもいわゆるテレビゲームの類ではなくイベントに使うハイテクおもちゃの制御プログラムのようなものらしかった。
ずいぶんと特殊なフレームワークを使っているようで、まるで聞いたことのない独自設計のライブラリを使う必要があるらしい。一応、先方からサンプルのソースコードはいただけていて、それを元にりる姉がすでにたたき台としてある程度動くソースを作ったようだ。見せてもらったのだが、かなりハードに依存しているようで、プログラムを見てもほとんど何をやっているのかわからなかった。これは半分、機械語レベルでハードを叩いてる感じらしい。
「とりあえず先週、たたき台として戦士の攻撃システム組み上げたから、これもとにあと格闘家と魔法使いと僧侶と盗賊の攻撃システムを作らなきゃいけないわけ。というわけで後はまかせたっ! わたしは防具側作るから!」
ざーっとまくし立てたあと、りる姉はさっさと自分の机に戻ってしまった。
部屋の隅にはサンプルらしき、紙でできた武器と防具が置いてあった。どうやって動くのか知らないが、りる姉によると会議室の一つをデバッグ用に改装したらしく、そこでなら動作確認できるということだった。
まずはりる姉の作ったソースの解析と、ライブラリの仕様の確認だ。
……ええとここがこうなって。
こうだから……。
でもって、あーわけわからんっ!
さっそくソースコードをいじってみるもののだいぶ特殊な記述をしていることもあり、またほとんどがハード寄りなのでそっちの仕様を理解しないとまともにソースが組めない。
最終的にはどこか外部にパラメータ投げているだけなのだ。
要件定義書も、やたらと分厚い割には「だいたいこんな感じで?」くらいのイメージ的なものがほとんどで、しかもやたらと具体的に状況やパターンは記述されているものの全てを網羅するものでもなく、それを実現するためのロジックはこちらで考えなければならなかった。
りる姉はこんなわけわからんものをとりあえず先週の四日ほどで形にしたっていうんだからすごすぎる。
……しかし。
どこかで最近、見たような気がするんだよな……? こんなプログラム。
ふぅ、と息を吐いて気分転換にちょっとだけ手元のスマホをながめる。いつの間にか普段家に帰り着く時間をも過ぎていたらしく、うちのちみっこたちとそれからみぃちゃんから「帰りが遅いけどなにかあったのー?」とメールが来ていた。
……悪い、今日は帰れそうにないや。
納期が今週末。テストと修正、調整に最低二日とみても、今日明日で最低限一通り動くものを作り上げないととてもじゃないが間に合わない。無茶すぎるだろう。
仕事が忙しくてしばらく帰れそうにない、と返信しておいた。
その時、スマホの画面端からひょいとナビが顔を出した。
「(あ、おい。職場で顔だしたらまずいだろ)」
あわてて画面が見えないように両手で覆う。
しかしナビは、ひょい、と俺の手をすり抜けるようして腕を駆け上り、肩の上にちょん、と乗ってきた。重くはないが、確かに実体を持っているようで、触れた感触がある。
最初のころはただの2Dアニメ調だったくせに、いつの間にか立体映像化して時折スマホの画面から文字通り飛び出すようになっていたが、ついには画面から飛び出すことを覚えたようだ。
「太郎様がお忙しそうなので何かお手伝いできないかと……」
肩越しに作業中のPCの画面を覗き込んで、ナビが「ほー」と声を上げた。
「アイテム作成ですかー。これならお手伝いできます」
「え、お前これわかるのか?」
思わず肩の上のナビを見つめると、ナビは小さく胸を張ってふふんと鼻を鳴らした。
「太郎様はまだ魔法しか作ったことなかったですね。セカイツクールでは伝説の武器だって思うがままに作成できてしまうのでございますですよ!」
ぴょん、と肩から飛び降りたナビが、そのまま俺が作業しているPCのディスプレイにぴょんと飛び込んだ。
「うお」
要件定義書が勝手に次々と開いてゆく。
「ボクにおまかせなのですよ」
ガガガガガとものすごい勢いでテキストエディタに文字が流れてゆき、あっという間にソースコードを組み上げてゆく。
「おーすごいなナビ!」
「……もっと褒めてもいいのですよ?」
むふーと息を吐いて、ナビが小さく胸を張った。
「……でも戦士関係のはもうりる姉が作っちゃったんだよなー」
「なんと!」
「しかもファジーな要件定義書をそのまんま実現してるから、仕様レベルであちこち矛盾でてるぞ? たぶんまともに動かない」
「えええー!」
その後数時間かけて、ヘロヘロになりながらナビと二人でソースを組んだ。俺が大雑把にロジックを組み上げて、それをナビがブラッシュアップしてソースコードをガリガリと書く。どうもナビはあいまいなところからロジックを組み上げるのは不得意なようだが、具体的な方向性を示してやるとそれに対して最適な手段を選ぶのに長けているようだ。エラーパターンなど、俺がうっかり見落としがちなところを拾い上げてくれるのでずいぶんと助かる。
共通で作れるところは二人同時並行で作業して、考えたときにはもうコードが書きあがっているような。右手と左手で同時に別のプログラムを書いているような奇妙な分裂感。
元々ナビとは「おい」「はい」で通じてしまうような阿吽の呼吸に通じるところがあったが、もうほとんど超能力の域だった。ナビゲーターまじベストパートナー。愛してるぜっ!
……なんかあまりに忙しすぎて、ねこみみの幻覚を見たような気もするが気のせいだろう。
夜中もぶっ通してコードを書き続け、午前三時になろうかというところでようやくある程度の形ができた。
ある程度形になったら動作確認だ。
サンプルの紙で出来た剣にUSBで接続して作ったプログラムを流し込む。
どういう理屈だかしらないが、これで特別な装置を設置した会議室内なら動作確認ができるらしい。
試し軽く手に持った紙の剣を振るってみると、ぶおん、と風を切る音がして半円の軌跡のエフェクトが空中に残った。おおう、ゲームっぽい。なんかオラ、わくわくしてきたぞ!
「……右手に剣もって左手に杖もったら、剣振ると魔法が飛ぶんだが?」
「それはもう、魔法戦士って隠しジョブにしちゃいましょうよっ!」
「……僧侶で武器もって殴るとなぜか敵が回復するんだが?」
「味方を殴って回復する仕様ということで、押し切りましょうっ!」
「……杖を振るとケツから魔法がでるんだが?」
「ただし魔法は尻からでる。仕様です! じゃなかった……それはエフェクトの起点座標が間違ってますねっ! 直しましょう」
……バグがでまくりだった。
三時間だけ仮眠を取って、バグ修正と動作確認を繰り返した。
動作確認を繰り返しているうちに、体格差によるパラメーター自動補正の仕組みを新たに組み上げなければならなくなったり、さらに仕事が増えていった。
「あはははー、すっずさっとくーん! どんなかんじー?」
ケラケラとちょっと正気を疑うような乾いた笑い声をあげながら、両手に缶コーヒーを持ってりる姉が俺の机にやってきたのは何時ごろだっただろうか。昨晩から飯も食ってないので時間の感覚があいまいだった。
「ある程度動くようにはなりましたけど、どんどん仕事が増えていきますね……」
りる姉が差し出してきた暖かい缶コーヒーを受け取って、ため息を吐く。
「そっかー。こっちも大変なのよねー」
二人して乾いた笑みを浮かべる。
「あー、こら! 職場にそんなおもちゃ持ち込んで」
「え? おもちゃ?」
不意にりる姉が上げた声に、首を傾げる。なんのことだ?
「わひゃー?」
ひょい、とりる姉が手を伸ばした先には、ナビが居た。
「あ……」
「これも妖精さんなのー? こないだのより小さいのね」
りる姉は、ナビをつまみあげて。
……おもむろにそのスカートをぴらりとめくった。
「きゃー!」
ナビが悲鳴を上げてあわててスカートのすそを押さえる、が。
「……これ太郎の趣味?」
「違います」
違わないけど。ナビがトランクス穿いてるのは俺の趣味じゃないと思いたい。
ナビがプログラム作成の手伝いができると知ったりる姉は、笑顔でナビを拉致していった。
ナビの奮闘もあり、何とか二日目の夜には帰れそうなめどが立った。
バグもだいぶつぶしたし、これ以上は複数人数によるパーティ戦闘など人手が必要なテストになるので俺とりる姉だけではできない。よその部署から拉致ってこようにも、すでにみんな帰ってしまっている時間だった。明日にならなければこれ以上は進められないので一度帰宅することになったのだった。
俺のところとりる姉のところを行ったり来たりしてこき使われていたナビは俺たち以上にへろへろになっていた。
「ふうう、人使い荒すぎですよーぅ」
へろへろ、とPCの画面からよろめきつつ転がり出てきて、俺のスマホの中に戻るナビ。
「ありがとな。ナビがいなかったらとてもじゃないけど終わりそうになかったよ」
画面のナビの頭を、指でなでなでしてやる。
ぷにゅ、ぷにゅと謎の効果音が鳴ってナビが気持ちよさそうに目を細めた。
「うにゅう、えへへ。ボクがんばったのですよー」
「おう、ナビはえらいな」
もう一度なでなでしてやったところでスマホに着信があった。
「おや、寧子さんからだ」
帰り支度をしながら電話に出る。
『やっはろ~! たろーくん愛してるぜいっ! ねいこちゃんどえーっす』
寝不足にこのテンションは結構きつかった。
「ああどうも、何かありました?」
『メールの件に関して聞きたかったんだけど』
「メール?」
そういやしばらく確認してなかった。しかし寧子さんからのメールなんだとしたらまたいつもの無茶振りの類だろう。通話中に確認するのも面倒だったし、寝不足の頭では考えるのも面倒だった。
最終的にはどうせ強制的にやらされることになるのだろうから……。
「ああ、おっけーですよ」
『え、ほんとーにっ? やっちゃうの? うーん。わかったよ! じゃ、そういうことで』
珍しく少し戸惑ったような様子で、いつものあでゅーとか、ばっははーいとかいう別れの言葉を言うことなく寧子さんの電話が切れた。
「……?」
少しばかり気になったが、頭が働かなかった、早く帰って、ベッドでゆっくり眠りたい。
帰りの電車の中で、メールを確認すると、ものすごい数のメールがたまっていた。
ほとんどはみぃちゃんからだった。本文は空で、タイトルだけでなんかツイッターみたいにつぶやいていた。
【押しかけてきたのは迷惑です?】
【たろーがいないとさびしいです】
【嫁姑問題について】
みたいな感じだ。
……なぜか途中から妙なことになっていた。
【勇者たろーが冒険の旅に出発なのです】
【きょうはスライムを倒したです】
【れべるが3にあがったです】
どうやら暇なので俺の部屋にあるゲームでも始めたらしい。主人公に俺の名前を付けられたのはちょっと恥ずかしい。
【勇者たろーのお供にみぃとつけようとしたら強制的にルラレラにされたのです】
【四人ぱーてぃだから、もうひとりみぃをいれようとしたらねいこに変えられたのです】
ちみっこたちの仕業か、それとも寧子さんがなんかしたんだろうか。
【勇者たろーがれべる99になったのです】
……ちょ、おい、まだ始めて二日目だろう?
【はじめて別の街についたのです】
しかも初期街の周りの敵だけでレベル99まであげただとっ!?
【勇者たろーがしんでしまったのです】
初期街周辺でれべる99が死ぬのかよっ! ってか俺の名前で死んだとかちょっと嫌な感じ。
【はじめまして】
……突然なんだ?
メールのタイトルを順番に追っていた俺は、突然なんの脈絡もなく現れたタイトルに戸惑った。よく見てみると、送信者がみぃちゃんではなかった。知らないメールアドレスだ。
本文を開いてみる。
驚いたことに、週末勇者宛てに書かれたものだった。矢那坂りなという名前に覚えはなかったが、どうやら寧子さん経由で俺のメールアドレスを知って連絡してきたらしい。
”通りすがりの三毛猫”なる人物に拉致られて、ルラレラ世界を冒険することになったこと、また今後もできればルラレラ世界を冒険したいことなどが書かれていて、近いうちに直に会って話したいというような内容だった。
思い当たるのは、ねこみみ幼女をやっていた時に出会った四人組だった。りな、という名前からして男性とは思えないので、ダロウカちゃんか、にゃるきりーさんのどちらかの可能性が高い。やや硬い文章からはダロウカちゃんの方かと思われたが、普段は軽い口調でもメールとかだと丁寧な文章書く人とかもいるし、はっきりどちらとは言い切れなかった。
そこまで考えてから、ああ、寧子さんが言っていたメールの件ってこのことなのかなと思い当たった。
まあ、冒険する仲間が増えるのは悪くないよな。
――それが俺の勘違いだったと気が付いたのは、だいぶ後になってからだった。