第十二話 I want to make a game!
「で、次に作るゲームなんだけど――」
先輩が話し始めた。
俺と立花先輩、西原さんの三人は、向かい合って座っている。
「イツキくんは、作りたいゲームってあるの?」
俺は考え込んだ。
そうだな、出来たら――
「出来たら、俺は、3DのMMORPG作りたいです」
言いきったよ、俺。
「……まだその野望捨ててなかったの?」
呆れた顔で先輩は答えた。
「だって、最近遊んでるの、そんなのだしさぁ」
「――じゃ、はっきり言うけど、イツキくんには無理。無茶。無謀。不可能。身の程を知れカスってやつよ、それ」
「先輩、最後に酷いこと言ってるよ……」
「まず一つずつ言うわ。3D。これって、実はすごく数学要るんだよー。完全な三角関数の理解は常識として、他にもウチら高校レベルじゃなくて大学レベルの線形代数とか四元数とか」
「数学? じゃ、パス」
「はやっ。イツキくんらしいわね……。で、次にMMOだけどさ、ああいうののサーバの管理ってどれくらいお金かかるか知ってる?」
「金はびた一文たりとも払えん。パス」
「RPGは、まぁこの中では簡単な方だけど……でも思ったよりも大変だよ? 大量のマップデータ、モンスターとかアイテムとかのデータ全部作ってたら何ヶ月何年もかかるわ。RPGツクール程度ですら、挫折者が多数出るのに」
「パス……します……」
「だよねー」先輩はなぜか嬉しそうに答えた。
俺は、現実に打ちのめされた。
「あのー、私は3Dよりも2Dの方が簡単だと思います。まずは、そこから始めましょうよ」
「西原さん、賢明ね、どこかの誰かさんと違って」
う、うるせー。
「でも、実はそれも初心者には厳しいのよね。Cだと――というか、C単独だと出来ないからWindows OSの手を借りてWIN32API関数を使うんだけど――ウィンドウ一つ表示するだけでも、実はとても手間がかかるのよ」
「そ、そうなんですか? 私、C#使ってますけど、結構簡単に――」
「あれは、ウィンドウを作ったりする面倒な処理の部分は、すべて.net IDE(統合開発環境)が裏でコードを自動生成してるからよ。コードを人間が書くか機械が書くかの違いだけで、やってる事は変わらないわけ」
「うーむ」俺は考え込んだ。「2Dのグラフィックも作れないのか……」
思ったほど、Cってのは、使えない言語だな、と思った。
「作れない、とは言ってないわ。とても手間がかかるって言ってるの。少なくともイツキくんのような初心者だと、何ヶ月も何年も勉強しないとWindowsはわからないと思う」
「何ヶ月かー」
がっくり。
「だいたい忘れたの?」先輩はすっと目を細めて口元に笑みを浮かべる。「あたしがイツキくんに課した制限時間。一週間だよ?」
「げっ」俺は呻いた。「わ、忘れてました……」
「一週間でゲーム作るんですかー?」西原さんも驚愕。「それは、さすがに無理なんじゃないでしょうか?」
先輩はくすくすと笑った。
「だから、無理だと思うんじゃなくて、逆の発想をしなさいよ。私達でも一週間で出来るゲームって何だろうって」
「逆の発想!」
俺はその言葉に反応した。
考え込む。
「うーむ……。まず、グラフィック、サウンドは無理か」俺は言った。
「イツキくんも、よくわかってきたじゃない。そうよ、ゲームの本質はグラフィックでもサウンドでもない。映画ごっこをするための垂れ流しムービーでもない。アルゴリズムにあるの」
先輩が少し感心したような表情をしたのは気のせいか。
「こうして現実を知って、少年は大人になるんだねぇ、うんうん」
先輩って……。
「となると、コマンドプロンプトを使うゲームですね」と西原さん。
「そう。ちなみに、こういうのをCUIっていうのよ。キャラクターユーザーインターフェイス。ウィンドウのGUI、グラフィカルユーザーインターフェイスの対になる言葉ね。キャラクター、つまり文字だけのインターフェイス」
「先輩、文字だけでアクションゲームとか作れますか?」
「コマンドプロンプト上でアクションは厳しいわね」即答だった。「WIN32APIを使えば、出来る事は出来るけど……でも、一週間じゃ学習する時間が足りないと思うわ」
「うーむ。となると、ターン制で非リアルタイムのゲームか」
「トランプなんて、どうでしょう?」と西原さん。
「うん。そういうのが向いていると思うなー」
「そうか。じゃ俺は――」
こうして、俺達はゲームについて語りあったのだ。