初試合とモーション
五月。
「それでは、第二回の進捗報告会と題して……記念すべき初試合を行う」
『よッ! 待ってました! いよいよッスね!』
ゴールデンウィークを目前にして、オンライン上での報告会を行うことになった。そのトップバッターとして、従姉とミタカから『試合』を行うことを提案されている。
試合。そう、試合だ。
これまで、ゲームは部分的に動いていた。投球だけだったり、試合の流れをなぞることだったりはしてきたが、今回は――試合を行う。最初から最後まで通して、選手たちが自分の判断で動き、ゲームを進めていくのだ。
『サーバも問題なく動いてマスヨ。スタートかけマスネ~』
「わかった。――しかし、試合か。やっと、という感じがするな」
「ちょっと時間かかっちゃったね……」
『いや、フツーはな? もっと時間かかんだからな?』
そう言われるからにはそうなのだろう。自分では基準がわからないが、世間一般に「開発開始!」と広報が打たれるゲームの発売日を調べたところ、二年三年と時間がかかっている。規模が違うとはいえ――早いのだろう。
「わかっている。ミタカさんや皆が優秀なおかげだ」
『ッ……わかってりゃいいんだよ』
『照れてマス? アスカサン?』
『っせーな! そいうんじゃねェよ!』
とかやっているうちに、ロード中だった画面が切り替わる。テレビ中継のように映る画面と、いくつかの切り替えボタン。
「基本は、展開によって自動でカメラが切り替わるオートの画面だよ。下のボタンで、他のカメラに切り替えられるの」
「どれどれ」
ボタンを押すと、視点が変わった。バッターボックスの後ろからのもの、ベンチから見たもの、外野席から見たものなど。
「満員御礼だな」
観客席は埋め尽くされていた――見覚えのあるおっさんのクローンたちに。
『マ、サクラだな。本来はプレイヤー……っつーか、観客が入るとそこにアバターが並ぶわけだが、そこはまだだ』
『おっ、虎軍とウサギ軍が出てきたッスよ』
ベンチの方はベンチの方で、同じ顔の虎とウサギが並んでいた。
「ちょっと、都合で……体格が急に変わったりするけど気にしないで」
なんだそれは。
「……都合というと?」
『その話は後にしようぜ。ホレ、始まるぞ』
審判――は熊だった。端のほうに見えるボールボーイも。
《ぷれい!》
審判がその容姿に似合わない間の抜けた声を出す。
「今のは――」
「あっ、わたしわたし。仮でね、仮で」
そうか。
ともかく、先攻はウサギ軍。虎軍のピッチャーが振りかぶって投げ――
ズバン!
《ぼーる!》
「……ミットの音が気持ちいいな」
「でしょう」
審判の声に気を抜かれるが。
第二球は――バッターが打った。カキィン、といい音がして打球が飛んでいく。ライトが捕ってスムーズに返球して、バッターは一塁でストップ。
「いい感じじゃないか」
「うん……そうだね……」
『ここまではな』
「……というと?」
『まァ、最後まで見てからにしよーぜ』
そう言うなら、そうするが。
俺は従姉とミタカの態度を気にしながらも、ケモノたちの初試合を様々な視点から見ていった。
◇ ◇ ◇
試合が終わった。
なんというか――一言で表すなら――
「へたくそだったな」
『ちょっと、どーかなー、ってプレーが多かったッスね』
例えばフィルダースチョイスが多かった。ランナーをアウトにする順序を間違えて、結局どのランナーもアウトにできない守備のエラーだ。走塁もへたくそだった。微妙なフライなのに飛び出して、結局捕球されて塁に戻ることになり、アウトをとられるとか。守備も取れそうにないのにフライに飛びつくとか。
『そーだな。今突き当たってる問題のうち、ひとつがそれだ。エラーが多い。普通のゲームならAIがゲーム内情報を元に判断を下して防げるエラーも、選手一人ひとりに独自の判断を任せてるウチのゲームじゃ防げない』
「それはなぜだ?」
『練習不足だな』
練習不足。
「AIが、練習不足」
『AIの学習ってそーゆーもんだ。全体的に判断力が足りてねェ。連携プレーとか、戦術とかもな……』
「逆に言えば、練習が足りれば解決するんだな」
『まァな。もっと学習をぶん回せばサマになるダロ』
人工知能も練習や学習の積み重ねが必要というのは、なかなかイメージと違うな。
「ひとつ目はそれとして、次は?」
「体格とモーションの問題があって……」
「ああ……なぜか打席に立つと背が伸びて、守備に回ると縮んていたな。あれはどういうことなんだ?」
しばらくの間、自分の目のほうを疑っていた。が、確かに体格が変化している。
「体格もね、最初は選手ごとにランダムで変化させてたんだけど……そうするとね、ピッチャーが投げた変化球が曲がらなくなるの!」
「ほう」
「全然ストライクゾーンに入らなかったり。おかしいよね……同じタイガ選手のモーション使ってるのに……」
「いや、そのせいじゃないか?」
不思議なことはない。
例えば体の大きい選手が外角ギリギリの球を打つのと、体の小さい選手が打つのとでは、難しさも雲泥の差だ。
「体つきが違えば、投げ方や打ち方が変わるのは当たり前だと思うんだが……」
『そういうこった。で、それが問題だ――てか、問題になるほうがすげェんだが……まァとにかくな。ツグの作ったエンジンじゃ、厳密に力が作用しないといけねェんだ。が、モーションを別の体格で使おうとすると無理が出る。視点も変わるしな……』
「つまり――様々な体格のモーションデータを取る必要がある?」
『んなことやってられっかバカ。時間も金もかかりすぎるし、サンプルになる人間の都合だって難しいだろが』
それもそうだ。それに選手については特徴づけのため、ちょっと極端な体格のものがいることを許容している。偶然そんな体格の人間がいたとして、さらに野球がうまいかというと……。
ないな。奇跡的に一人見つかったとして、それじゃ絶対足りないだろう。
『それじゃどうするんスか?』
『てっとり早いのは、物理エンジンとか個別AIを諦めることだな。贅沢すぎるんだよ、やることが。この辺キッパリあきらめりゃ、サーバだって余裕は出るし、予算もスケジュールも楽勝だぜ』
「それはダメだ」
応援できること。そのためにはリアルであること。それがこのゲームのコンセプトだ。今更捨てることはできない。
『アスカサン、意地悪はやめまショウヨ~』
『チッ。わぁってるよ……オレだって今さらコレを捨てるのは惜しい。つーことでな、もっと贅沢にいく』
ミタカがニヤリ、とネットの向こう側で笑ったのが見えた気がした。
『体格にモーションが適さないなら、体格に合わせたモーションを作らせればいい――遺伝的アルゴリズムの応用でな』
◇ ◇ ◇
「遺伝的アルゴリズム――?」
『略してGAな』
『ラノベッスか?』
『ワタシ、這い寄るのが好きデス』
『うっせー、そういうんじゃねェよ! つか、セプ吉も脱線すんな!』
『インフラ担当は報告することがなくて暇デスネ……』
話を戻して、ミタカは参考にと動画のリンクを張った。
『マ、概念としてはこの教授の動画を見るのが一番早ェダロ』
それは人型のモデルが寝そべった状態から立ち上がる方法を模索する動画だった。
最初のモデルは、立ち上がれない。そこでモデルを多数用意し、手足の動きをランダムにして、頭が到達した高さを基準に得点をつける。上位の得点をつけたモデルが生き残り、残りは破棄される。次の世代が始まり、前世代の高得点の動き同士を組み合わせたり少し変化したりしたモデルがずらりと並ぶ。そしてまた得点がつけられ、淘汰される。
うまくいった動き――遺伝子は残り、交配し、より高い得点の次世代を生み出す。
数十世代後には直立することに成功していた。
『どうだ?』
『動きがキモくて面白いッスね』
ぐにゃぐにゃしていた。無駄に足を開いたり、腰をひねったり。
途中の世代では頭をゴリゴリ床にこすってたやつもいたような。
『マ、これは基準が頭の高さだけだし、体を使うにあたっての負荷や痛みも計算には入ってねェからな。できあがるのが変な動きでも仕方ねェ。紹介動画として、個人のPCでやれてGAの概念を伝えるにはもってこいだろ。ウケもイイし』
「こういうことを、こっちでもやるのか? モーションを作るために」
『そういうこった』
「人間離れした打撃とかし始めそうなんだが」
『だから、そりゃやり方の問題だっての』
ミタカはネットの向こう側でチチチ、と指を振る。
『この動画では、モーションは0から完全なランダムで始まってるが、ウチには手本がすでにある』
収録したニシン、カナ、タイガのモーションだな。
『大きな動きは変わらねェはずだからな。手本を元に、体格をいじって、モーションをGAで試行錯誤させる。バッティングなら打球の飛距離、投球なら球速や変化が基準だ。そこにバランスを崩していないか、無理な動きをしていないか、なんて細かい注文もつけていく。そういやってある程度の得点が出たら出来上がりだ』
「どれぐらい時間がかかる?」
『一秒程度のモーションだからな。それに高火力のサーバもある。そんなにかからねェよ。それにある程度サンプルができれば、変化を解析にかけてGAするまでもなく良さげなモーションが作れるかもしれねェしな――ただ、またここに問題がある』
「それは?」
『手本がひとつしかねェことだな』
「……なるほど」
確かに問題だった。
『なるほどって、どゆことッスか、先輩?』
「体格に合わせてモーションを作っても、結局元のモーションと似通ったものしかできないんじゃないか? わかりやすいところで言うと――イチローだよ、ずーみー。イチローと言えば?」
『……Tシャツ?』
なんでだ。
「イチローと言えば一本足打法だろう」
『違ェよバカ、そりゃ王さんだ。イチローは振り子打法ッつーんだよ』
………。
「ともかく、イチローは振り子打法という、特殊なモーションで打つんだ。そのほかにも一本足とか神主とか、いろんな打法がある。それこそ――手本を多少いじった程度では、すぐに出てこないぐらいの変り種の打法、投法が」
パワプロのサクセスをやっているとよくわかる。打法、打撃フォームは数え切れないほどある。
なんなんだ、スタンダード系の打法で約140種類って。どこに違いがあるのかさっぱりわからないぞ。
「……ということは、それを解決するためには手本を増やす……でいいのか?」
『そーだ。だが、いちいちモーションセンサーで収録してる時間も金もねェ。だから――学習する』
「――何から?」
『決まってら。テレビで放送してるプロ野球からだ。映像を解析して、モーションに落とし込む。投手も、打者も、守備もな』
現実世界の野球。なるほど、確かにこれ以上ないお手本だ。
「わかった。こっちは挑戦者だ。学ばせてもらおう――必要なものは?」
『無料放送だけだとサンプルがすくねェから、いくつか有料放送の契約をしてェんだが……時差関係でメジャーとかも』
『後でリストを送ってください。こちらで手配いたします』
ゲーム開発の方は他に、こまごまとした報告をして終わる。
次は、俺の番だ。
「こちらのほうだが、島根と鳥取における団体の設立は、今のところ順調だと報告を受けている。遅くとも七月までには契約できるだろうと」
『遅ェな……とはいえ、団体立ち上げてからだからしかたねェか。こっちとのNDAもあるしな』
『NDA? なんだこれ?』
『守秘義務契約デスヨ。リリースまで内緒してクダサイヨー、って約束デス』
クラウドファンディングを始める八月に、一斉に情報解禁の予定だ。それまでは契約をしたスポンサーにも内緒にしていてもらう。
「ゴールデンウィークは奈良県に行く。なんとか、会ってくれることになった」
『次は私から。スポーツ用品のブランド契約ですが、決まりそうです。今月中には巻いてまいります』
契約が決まれば、初めて支出ばかりだった会社に収入が入る。
とはいえ、それだけで会社は黒字にはならない。融資で借りた分、機材の分割払いの分など、支払わなければいけない借金はまだまだある。
だからKeMPBの方針として、『ユーザー』からの売上があって、初めて配当を分配する予定になっている。それ以外の収入は赤字を返すまでは分配しない。『ユーザー』に受け入れられて初めて成功なのだから。
『お、んじゃその契約が決まれば、サーバもうひとセット置けるな?』
『早速見積もりとりマショ~』
ミタカとニャニアンの声が明るい。
「忙しくなるね」
「ああ、そうだな」
やらなければならないことは山ほどある。ゴールデンウィークには、成果という金を掘り当てたいものだった。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます