ASOポップカルチャー専門学校のゲーム専攻科3年の古野裕也です。
私は高校時代に部活でゲームを作り、それが遊んでくれた人に好評だったことをきっかけに、将来ゲームに関係する仕事、特にゲームプログラマーになりたいと思うようになりました。そして、今は専門学校でゲーム制作を続けています。そんな中、学校からこちらのインターンシップの紹介があったため、今回応募させていただくことになりました。
今回のインターンシップでは「ゲーム制作におけるプロの問題解決手法を学ぼう」というテーマをもとに、まずいくつかの制作途中で起きる問題事例に対する解決策をチームで話し合うグループワークを行いました。
取り上げられた例は以下の3つです。
・描画処理の改善方法
・メモリ使用量の削減方法
・小さな当たり判定に対する単純化の方法
この中でも私は特に2番目の事例について強く共感を覚えました。
まず問題には以下の前提条件が存在します。
・舞台はオープンワールドの広大な3D空間
・プレイヤーはマップ内を自由に歩き回れる
・ロード画面を介さずにオブジェクトをロードしていく
・ランドマークと呼ばれるオブジェクト数が特に多くなる主要部分がマップ内にある
問題になったのはマップ内にこのランドマークが3つ隣接した場所が存在し、そのせいでメモリを圧迫してしまうというものです。
私はそもそも、プランナーと協力してランドマークの位置を変えてしまうのがいいのではないかと考えました。すると、チーム内で話し合った際にも同じことを先におっしゃっていた方がいたので、それに賛同する形で私もこの意見を出しました。結果としてこれはドンピシャの例の一つで、実際の解決事例でもランドマークの位置を離したそうです。また、もう一つの事例としてアーティストと協力してアセットの削減を行うことでも対処されていました。なお、他のチームで挙げられたようなプログラマー的なアプローチに関しては、間違いというわけでは決してないがコストが高く、まず先ほどのやり方を試してダメそうであればやってみるべきとのことでした。
私はプログラマーだけでなく、アーティストやシナリオライターなどと共同でゲームを作っていた時期がありました。そのときの私は今よりもまだまだ未熟で、自分だけでは対処しきれない問題は別の立ち回りの人にお願いするという習慣が比較的ありました。(勿論、そればかりではいけませんが......)そのため、たまたま今回はこの方法を思いつきましたが、普段はプログラマーだけでチームを組んでゲームを作っていて、こういったことをついつい忘れがちになるので気を付けねばならないなと強く再認識しました。
また、これが終わると最後にプログラミングダンジョンというものに取り組みました。これはプログラミングにおけるアンチパターンを取り入れた問題にチームで取り組むもので、ルールは以下の通りです。
・制限時間は40分
・問題1から順番に解いていく
・HP10が最初に設定されている
・1問間違えるごとにHP-1
・各問題5分経つたびにHP-3でスキップ可
ただ単に解くだけなら思いついた答えをどんどん言っていけばいいのですが、HPという概念が曲者で、何も考えずにやるとゴリゴリ削れていくためかなり慎重になりました。
序盤は論理問題で中盤辺りからC++やC#のプログラミングの問題が登場したのですが、最初の論理問題の日本語に意外と悩まされ時間を取られてしまいまい、結果は5問正解で残HPは9で終了してしまいました。これは他のチームと比べると正解数も残HPも一番多かったので、もう少し攻めた答え方をしてもよかったのかなと終わってから少し後悔しています。
インターンシップとしての内容は以上ですが、最後に質問や任意の個人面談がありました。私はこの個人面談の時間を使ってプログラミングダンジョンの解き切れなかった問題を解かせていただいたり、プログラミングダンジョンを解いていく中でコーディングについて気になったところを色々質問させていただいたりしました。小一時間ぐらいかかってしまったにも関わらず、とても親身にご対応くださり本当に感謝しています。
私なりのまとめとして今回のインターンシップはとても充実した内容であり、学ぶべきことが沢山見つかりました。プログラマーとしての技術に関しては勿論のこと、人とのコミュニケーションも大事であるということを痛感しました。
実は何度かあったチームでのグループワークではあまり話し合いが活発とは言えませんでした。私自身もどう話を切り出せばいいか分からず、時間が経つにつれて、自分も含めてそれぞれ発言数は増えてはいったのですが、お互い緊張してしまって結局最後までぎこちないまま終わってしまいました。また、私が何か意見を言う際に伝え方が悪く、相手にうまく伝わらないということもあり、言い方を変えて何度も説明をすることになってしまいました。ゲーム制作ではコミュニケーションはとても大事な要素です。これからは技術だけではなく、しっかり発言するなどしてコミュニケーション力もしっかり磨こうと思いました。
最後になりましたが、今回受け入れてくださったガンバリオン様、そして一緒に組んだチームの方々、本当にありがとうございました!