アクションゲーム開発の基礎を学ぶ! 2021年新卒研修リポート【クライアントエンジニア編】
-
2021年新卒入社
クライアント
エンジニア竹内
-
2021年新卒入社
クライアント
エンジニア渡邉
2021年新卒がリレー形式でお届けする新卒研修リポート企画。
なかでもクライアントエンジニア(ゲームプログラマー)の職種別研修では、1ヶ月にわたるアクションゲーム開発を実施したとのこと。どんな話が聞けるのだろうと楽しみにしていたところ......上がってきたのはなんと対談形式の原稿でした!
1ヶ月間みっちり個人開発する研修がオンラインで実施されたということでしたが、研修を通してしっかりと関係構築をしていたのだと感じ、嬉しく思いました。
というわけで、以降は新卒クライアントエンジニアの二人がまとめてきた「対談形式のリポート」を掲載させていただきます。一読したところ、研修ではエンジニアとしての「技術的な学び」だけでなく、それ以外の学びも多く得られたようです。一体どんな研修期間を過ごしたのか、新卒たちの生の声をお聞きください!
自己紹介
竹内 こんにちは! 2021新卒クライアントエンジニアの竹内です。配属先は運用中のプロジェクトで、バグ修正や新機能の追加に取り組んでいます。
渡邉 こんにちは。同じく2021新卒クライアントエンジニアの渡邉です。竹内くんと同じ運用プロジェクトでバグ修正や新機能の開発、アプリの最適化に向けてパフォーマンス計測などを行っています。
竹内 ・渡邉 本記事では、クライアントエンジニア研修として行われたアクションゲーム開発について、対談形式でリポートしていきます!
アクションゲーム開発の概要
渡邉 今回の研修を一言で言うと「仕様に沿ったゲーム開発を通じて、一般的なアクションゲームの作り方を学ぶ研修」でしたね。初日のガイダンスで実装する仕様を提示され、担当レビュアーにレビューいただきながら1ヶ月かけて開発していきました。
竹内 キャラクター操作への要件はシンプルで、前後左右への移動・射撃・ジャンプのみでした。キャラクター以外には、敵やマップ、カメラ、UIの指定がありましたね。
渡邉 そうでしたね。実装の流れが4段階に分かれていて、一段落ついたら担当レビュアーにチェックをいただくような流れです。
竹内 細かな要件と実装順が記載された仕様書が渡され、今後の進め方についての説明がありましたが、それを聞いてどうでしたか。
渡邉 仕様を見た時はイメージがすぐ湧いて「できそうだな」と思いましたが、実際やってみるとトラブルも多く大変でした。
竹内 確かに、実装順や使用するツールが指定されていて、自己流で作るより難しかったですね。
渡邉 ツールを指定されたものの、使い方については自分で調べながらだったので大変でした。
個性あふれる成果物
渡邉 同じ仕様で作っていても、全然違うゲームになりましたよね。
竹内 僕のは魔法使いが魔法の弾を撃ってモンスターを倒しながらステージを進み、最奥のボスを倒すとクリアできるゲームになりました。
渡邉 どうしてそうなったんですか。
竹内 仕様を見た時に「これ『白猫プロジェクト(以下、白猫)』を作らせたいのかな」って僕は解釈して、とにかく『白猫』に寄せました。道中に宝箱や木箱も配置したりして。
渡邉 なるほど、そんな解釈をしたんですね。課題に対して「何が求められているか」を汲み取ろうとするなんて、さすがです。
竹内 渡邉君が作ったのはどんなゲームでしたか。
渡邉 僕のは銃をもった兵士が近接武器を持った敵と戦って、プレイヤーがやられるまでに何体敵を倒したかでスコアを稼ぐゲームになりました。
竹内 どのような意図があったんですか。
渡邉 プレイヤーと敵を違う攻撃方法にしたのは、できるだけいろんなパターンを作って設計のフィードバックをもらいたかったという意図がありました。
竹内 共通でもいいところをあえて別の処理にするというのはチャレンジングというか、積極的にフィードバックをもらいに行こうという姿勢がすごいと思います。
大変だったこと
竹内 ここは大変だったというのはありますか。
渡邉 設計が一番大変だったかなと思います。例えば最初、弾は「弾」として作っていたのですが、レビューを受けていく中でそれの性質に注目して「飛んでいく性質」と「当たったら攻撃を与える性質」という別のコンポーネントとして実装するようになりました。
竹内 なるほど。コンポーネント指向ですね。
渡邉 竹内君は大変だったことなんですか。
竹内 指定ツールのステートマシンが大変でしたね。
渡邉 大変でしたね。最初はどういうステートに分ければいいかもよくわかっていなくて。
竹内 はい。僕はそれに失敗して、最後の1週間で全部作り替えたんですよね。それがバグを生みまくって本当に大変でした。
レビューの様子
竹内 レビュアーには普段の業務の合間にレビューいただくので、相手の忙しさを考慮しながらコミュニケーションをとるのは難しかったですね。リマインドの大切さを知りました。
渡邉 人に見てもらいながら進める工数管理の練習にもなったと思います。
竹内 今までビデオ通話ベースで研修を受けることが多かったので、チャットベースだったのも難しさを感じる要因だったかと。
渡邉 はい。でもレビューの頻度は高くて、レビューの後も方針に関する相談に乗っていただいたりしたのですごくいい経験だったと思います。
竹内 僕もコメントに対して納得がいかないところは「どうしてこうするべきなんですか」と改めて質問したりして、理解が深まりました。......そういえば、お互いのレビュアーを誘って、2対2でオンラインランチをしましたよね。
渡邉 運用タイトルの面白い話も聞けましたね。
竹内 長期運用プロジェクトならではの大変さがあると知りました。
渡邉 コロプラの運用タイトルは歴史が長いから、そういう話を聞けるのは貴重ですよね。
同期・メンターからのサポート
渡邉 序盤どうスタートしたらいいかわからない状態でしたけど、ビデオ通話をつないでお互いに情報共有しながら進めていけたので良かったですね。
竹内 同期がいなかったら全部1人で考える必要がありましたからね。
渡邉 はい、竹内君が同期にいてよかったです。
竹内 僕はGoogle Meetで新卒全体の雑談通話にも入ったりして、他職種の同期も巻き込んでいました。さっき話した木箱のアイデアはプランナーの同期からもらっていたり、デザインの意見をデザイナーの同期から聞いたりしていました。
渡邉 いいですね。今年の新卒は(例年に比べて)人数が少なかったというのもあるんですけど、みんな仲がいいですよね。
竹内 また、メンター制度の一環として1日の終わりにメンターとの1対1の夕会が行われていました。そこではどんなことを話していましたか。
渡邉 その日やったことや、その中での学びをメンターと共有して、「そういう学びが、現場ではこういう風に生きてきますよ」と教えていただいたりとか、困っていることがあったらそれに対するアドバイスをいただいたりしていました。1日の復習をして翌日につなげるいい時間だったと感じています。
竹内 僕も同じような感じでした。その日を振り返って自分の考えを自分の言葉で伝えるのは難しかったけれど、思考を整理する場になったと思います。
渡邉 困っていることを伝えた時に、「じゃあ次はどうしたらいいと思いますか」とか、「どうしたら改善できると思いますか」とか、そういう思考のサポートみたいなこともしていただけました。対話を通じて自発的な成長を促すという取り組みは現場でも行われていますよね。
研修の感想
渡邉 ゲームをただ作るだけでなくツールの指定があり、フィードバックも充実していて、プロジェクトに配属されてからスムーズに業務に当たれるように工夫されていたと思います。
竹内 新卒の腕を試すというよりは、足りない部分を補ってスタートラインに立てるレベルまで引き上げてくれる内容でしたね。
渡邉 はい。エンジニアとしても成長できたし、社会人としての心構えもできて、すごく良かったと思います。
竹内 ・渡邉 この対談記事を通して、コロプラのことを少しでも知っていただけたなら幸いです!