計30本程度の作品を制作しましたが、その中でも特に学びのあったものを選んで紹介しています。
Barrage Storm
詳細
敵を倒して中央にあるオブジェクトを守る、オンライン協力型の2D PvEシューターです。
Unityを実現する技術について学習するために、C++製のゲームエンジンを自作し、
photonを用いてオンライン通信機能も搭載しました。
名称の定義やクラス構造はUnityを参考に設計しています。
ゲームエンジンレベルの大規模なクラス設計は初めてで、過程で様々な学びがありました。
特にGetComponentの機能をC++で実現するためには継承や多態性をフル活用し、言語仕様に踏み込んだ理解が必要となり、学びが多かったです。
通信部分では、ラグを加味しながらも弾の描画位置、当たり判定をほぼ同じ位置になるように調整していく作業には苦労しました。
最終的には、弾がやや機体から離れて発生してしまうものの、弾の位置はほぼ同一になるように実装が出来ました。
動画
Battle Reflection
詳細
他社のゲーム会社にて、5daysのゲームインターンで作成したゲームです。
1台のPCで遊ぶ対戦ゲームで、互いに弾を撃ち合い、盾を操作して相手の弾を防ぎながら戦います。
チームメンバー4人の内2名が企画、2名がプログラマだったため、
私は企画用のステージエディタを作成しました。
ステージ数を増やすためにステージエディタをUnity上に作成し、
残る2名に量産してもらうことで、短い期間で複数のステージを用意できました。
ツールを作成したことで短い期間内で多くのステージ作成と細かな難易度調整を両立することができ、
ツール作成の重要性を学ぶことができました。
動画
フォーエバーラビリンス
詳細
世界樹の迷宮のような、2Dで3D風のダンジョンを演出することを目指したゲームです。
マップはBMP形式の画像を用いています。ピクセル単位で調整できるドット絵ツールをマップエディタとして利用しています。
それまで2Dしか作ったことがなかったため、
曲がり角などの描画を描画順で制御できるなど、
3Dの描画に関する基本的な考え方を学ぶことができました。
画像

Myth
詳細
初のチーム開発を行ったゲーム。大学のサークル内のメンバーで作成しました。
2人の切り替え可能なキャラクターを操作し、1つの魔法の石を受け渡しながらギミックを解いていく横スクロールゲームです。
ゲームはUnityの学習と並行しながら、基本的な機能を使って開発しました。
企画やグラフィックの担当がいるゲーム開発は初めての経験だったため、
作業ペースの違いなど思い通りにいかない点が多く苦労はありましたが、
コミックマーケットにてサークルの部誌に体験版として頒布することができました。
チーム制作における意思疎通の難しさと重要性を深く実感し、良い経験になりました。
また、コミックマーケットで頒布するという期限を持った開発になり、納期に間に合わせる大変さを味わいました。