見出し画像

チームでゲーム開発をした話

はじめまして!20卒エンジニアのKです!

G2 Studiosでは「新卒でチームに分かれて、3ヶ月でリリースできるクオリティのゲームを1本開発する!」という開発研修を、6月上旬から行っています。

ここではその開発研修を通して「C++でゲームの個人開発はしたことあるけど、C#でチーム開発はやったことない!」という人がどう成長したのかを紹介できればと思います!

1.動くコードではなく読めるコードを

新卒でゲームを作っていくわけですが、新卒だけで好き勝手作るのではなく、全セクションにサポーターの先輩が付き、制作物にフィードバックをしてくださいます。エンジニアの場合は書いたコードへのコードレビュー、つまりコードの添削がそれに当たります。といっても文面だとどういうやり取りなのか想像しにくいので、実際の例をスクリーンショットで紹介します!

こちらは以前私が書いたコード。当時は「バグってないしコメントたくさん書いたし完璧なのでは!?」と意気揚々とレビューを依頼したのですが……

画像2

と、あちらこちらに設計やコーディング規約面での問題点が!
例えば上の画像の場合、早期リターンをして例外処理を先にしておくことで、以降で余計な処理をせず予期せぬエラーの回避や処理の軽減に繋がります。レビュー内容は上にあるような設計やロジック部分の修正のほか、コーディング規約通りに書けているか、変数名や関数名がわかりにくくないか、ネストが深かったりして読みにくくないかなどが主になります。

このような問題点を修正してなくすと、晴れてゲームの一部になります!

スクリーンショット 2020-08-31 10.16.30

今回紹介したものは先輩によるレビューでしたが、今ではチーム内で新卒同士の相互レビューも行っています!

2.ライブラリを理解せよ!

いろんな便利な機能が詰まったライブラリ。ゲーム制作に限らず利用したことがある人は多いんじゃないかと思います。インターネットで公開されているものはリファレンスが丁寧だったりと使いやすくなっていますが、忙しい先輩たちが作ってきたものとなると必ずしもそうはいきません。「どんなことができるかは簡単にまとめておくので、あとはサンプルコード読んだり中身見たりして使ってね!」ということが多いです。
もちろん自分が作ったわけではないので理解するまでが大変ですが、理解してしまえば心強い武器になります!管理しやすいコーディング方法のお手本になったりもしますね!

実際にコードを書く以外でもいろいろな力をつけられるので、ただの便利機能で終わらせず、隅から隅まで読んでやりましょう!

3.コミュニケーションが大切!

iOS の画像

開発研修では自分1人でゲームを作り上げるのではなく、各セクションごとに分かれてチーム制作で作り上げていくことになります。

チーム制作をする上で特に重要なのはスケジュールとゲーム仕様の認識の擦り合わせです。スケジュールをチーム内でうまく組み立てられないと、「Aさんが作る機能がないとBさんが別機能の作成に手を付けられない!」という事態が起こってしまいます。また仕様の認識がそれぞれで違っていると、機能の作成が完了してから大規模な修正作業が発生したりしてしまいます。

これらを回避するためには何よりコミュニケーションが大切です。現在はリモート業務となっていてコミュニケーションがやや取りにくいですが、ZoomやSlackなどのツールを用いてコミュニケーションを欠かさないようにしています。

……コミュニケーションが苦手?大丈夫、私も最初はそうでした!
「何かをしてくれたら褒める・感謝する」から始めると打ち解けやすくなるのでおすすめです!

まとめ

4ヶ月ほどの研修で経験したことだけですが、どんな成長ができたか、どんなことが重要かに焦点を当てて紹介しました!

「ゲーム開発会社のエンジニアって最初は何してるんだろう?」という人の参考になったら嬉しいです!!

この記事が気に入ったらサポートをしてみませんか?