レアゾン・ホールディングス 2024新卒エンジニア ゲーム研修 - 未経験から1週間でゲームを作れるようになるまで -

## はじめに
　みなさんこんにちは！レアゾン・ホールディングス24卒エンジニアの小西です！
　私は専門学校で3年間ゲーム制作に没頭する日々を過ごし、プログラミング学習サイトからのスカウトを通じてレアゾン・ホールディングスに入社しました。
　今回は今年のエンジニア新卒研修の中で行われたゲーム研修について紹介していきたいと思います！
 ## 研修の概要
研修の概要はオウンドメディアの記事で詳しく紹介していますので、こちらからご覧ください。

https://media.reazon.jp/articles/NewGraduate_engineer

## テーマの概要
![20240920145435.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037980/3b242497-3ba7-40f7-a17d-a08ec87a741b.png)
　ゲーム研修では、それぞれが1つのゲームを完成させることを目標にUnityを使ったゲーム開発にチャレンジしました。研修前半に先輩社員からUnityの講義があり、Unity未経験でも安心してゲーム開発に取り組むことができました。

### Day1　Unityの基礎・プレイヤーを作って動かせるようにしよう
![20240920160812.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037980/0f1fb963-7213-4da8-ba1c-55b6d98697ef.png)
　最初の講義では、そもそもUnityって何？Unityってどんなことができるの？といったUnityの基礎に重点をおいた講義が行われました。また、ゲーム開発に必要な環境のセットアップを行い、これから始まるゲーム制作に向けた準備を行いました。
　今回のゲーム研修では、それぞれが2Dの横スクロールアクションゲームを制作することを目標として、必要な機能を講義していただく形で実装を進めていきました。最初は、操作するプレイヤーを制作しました。当たり判定ってどうやって作るの？プレイヤーを動かすためには何をすればいいの？といった基本中の基本を丁寧に教えていただき、全員が操作可能なプレイヤーを実装することができました。

### Day2　ルールを作ろう・敵を作ろう
　2日目は初日よりもコーディングに特化した講義が行われました。ゲームをクリアした判定や、ゲームオーバーになってしまった判定などゲームのシステムを構築しました。ゲームの状態や、ユーザデータはどのように管理することが適切なのか詳細に教えていただき、ゲームを管理するマネージャーを制作することができました。
　後半では、敵キャラクターを制作しました。敵キャラクターは、プレイヤーとは異なりユーザーの操作と関係なく自発的に行動するため、自動で敵キャラクターが動くためにはどうすれば良いのか教えていただきました。最終的には全員が左右に移動するスライムの敵が完成しました。

### Day3　世界を広げよう
![20240920162208.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037980/1f6be741-6f62-4a18-a4e7-6a13f4b4c8a7.png)
　3日目は仮制作していたステージを効率的に大きくする方法について学びました。Unityの機能を活用することで絵を描くかのように世界を広げることができ、それぞれが独創的なステージを作り上げることができました。この講座を受講したことで、それぞれの画面に個性が現れ始め、全員が思い思いのゲームへと変化が起こり始めていました。

### Day4　UI・デバッグ
　4日目の最初の講義はUIについて学びました。画面上に存在するボタンや、画像などゲームに欠かせない機能を扱う方法を習得することができました。また、講義のなかでインゲームとアウトゲームとは？今作っているゲームのどこがインゲームなのか？といった知識を深める講義もあり、ゲームに対して知見を深めることができました。
　後半では、デバッグはどのようにして行うのか学びました。ここまでの講義で全員がゲームクリアまで制作していたので、効率的にゲームクリアのデバッグを行うためにはどうすればいいのか試行錯誤しました。デバッグ機能を実装したおかげで、ゲームクリア後の処理が正常に行われているかどうかチェックするために、毎回ゲームをクリアする必要をなくすことができました。講義のなかで培ったコーディングの知識や、UIの知識を活用し、効率的にデバッグを行うことができました。

### Day5　マスターデータ・ビルド
![20240920180905.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037980/15497d9d-7273-4785-a893-fb4abe914f25.png)
　5日目はマスターデータについて学ぶことから始まりました。マスターデータとは、ゲームの重要なパラメータを管理しているデータを指します。例えば、プレイヤーのHPはいくつで、攻撃力がどのくらいかなどを管理するために使われます。ゲームに必要なデータをどのように管理すればいいのか、実際に弊社のゲームで扱っているマスターデータを見せていただきながら学ぶことができました。
　また、最終的に出来上がったゲームを出力する方法を学び、完成したゲームをビルドして実行ファイルを作りました。

### Day6・7　ゲームを作ってみよう
![20240920180934.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037980/2c544965-1001-4987-bd1e-64b23eb7bdca.png)
　6日目からは、ここまで培った技術を活用してゲームのクオリティを高めました。また、締め切りまでに機能を実装する演習を行い、社会人として必要なスキルも並行しながら身につけることができました。必要な機能を実装した後は、それぞれが好きなようにゲームを派生させ、高難易度なゲームを作ったり、クイズを実装したり、タイムアタックを取り入れたりとそれぞれの個性の溢れるゲームが形になってきました。

### Day8　試遊会
![20240920181330.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037980/234087ed-31b0-410b-8f5d-12c2cded79bf.png)
　ゲーム研修最終日は、ここまで作ってきたゲームをそれぞれ展示し実際にプレイしあう試遊会が行われました。講師の方も交えながら全員で大盛り上がりする試遊会となり、楽しい時間を過ごすことができました。試遊会のあとには、作ったゲームの中の機能をどうやって実装したのか紹介する発表会があり、中には講師の方も唸るような難しい機能を実装したメンバーもいました。

## 技術的なお話し
　ゲーム研修では、UnityとC#について詳しく解説していただきました。

### C#
![20240920181414.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037980/85333fd3-6515-4c9b-859f-152f4af48bc8.png)
　Unityでコーディングする際は、C#でコーディングを行います。今回の研修では、シングルトンを活用したゲームマネージャーの制作を行いました。ゲームマネージャーは、ゲーム内に1つだけ存在するもので、2つ以上のゲームマネージャーが存在するとデータに齟齬が発生してしまいます。そのため、シングルトンを活用してマネージャーが必ず1つだけになるコーディングに取り組みました。

### Unity
![20240920181435.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037980/3298f99e-7dd0-4d8d-8692-e5aa13079b0d.png)
　今回はUnityのコンポーネントや、スクリプトなどUnityを使ったゲーム制作の基本を丁寧に解説していただきました。そもそもコンポーネントとは何なのか、コンポーネントにはどんなものがあるのか学習することができました。
　Unityでは、当たり判定や物理挙動のような本来ゲーム制作をするにあたってかなり骨の折れる機能がコンポーネントをつけるだけで実装することができます。例えば、物理挙動ならRigidbody当たり判定ならColliderをつけるだけで機能を実装することができます。そのような便利なコンポーネントがUnityには多く用意されており、これらのコンポーネントを活用することで難しい機能も簡単に実装することができます。

## まとめ
　いかがでしたか？ 研修では、このようなカリキュラムを通して未経験でも1週間でゲームを作り上げることができる技術を習得することができました。

 ### **▼採用情報**
レアゾン・ホールディングスは、「世界一の企業へ」というビジョンを掲げ、「新しい"当たり前"を作り続ける」というミッションを推進しています。

現在、エンジニア採用を積極的に行っておりますので、ご興味をお持ちいただけましたら、ぜひ下記リンクからご応募ください。

https://recruit.reazon.jp/