【Unityスマホゲーム】3Dリアルタイムマルチプレイコマンドバトル
概要
- リアルタイムマルチプレイコマンドバトルの気持ちよさを追求(どうしても発生する通信ラグをいかにごまかすかの戦い)
- 1体3500ポリゴンのローポリ3Dキャラを使ったゲーム開発
- 3Dアドベンチャーパートシステムの開発(エンジン、開発ツールの制作)
役割
-
・エンジニアリーダー兼リードエンジニア
・ゲーム全体のクオリティ責任
業務内容
- エンジニアリーダー業務(技術選定、若手育成、コードレビュー、スケジュール管理)
- マルチプレイバトルの方向性を決めるのプリプロダクション
- バトルのロジックの設計 / 実装
- バトル演出のディレクション、設計、実装
- UI開発の設計 / 実装
- 3Dキャラ、背景のシェーダ開発
- 3Dアドベンチャーパートシステム開発
- 3Dアセットワークフローの構築
- 新卒育成(OJT、コードレビュー、面談)
ストーリー
「3D」 × 「マルチプレイ」 × 「リアルタイム」×「コマンドバトル」この4つをかけ合わせたスマホゲームを作りたいということで始まったプロジェクトにエンジニアリーダーとして参画。
リアルタイムマルチプレイ開発は過去に経験していました。
ここに3Dキャラクターとコマンドバトルが盛り込まれたゲームでした。
難しかったポイントはなんといっても「ゴールを探す」ことでした。
なぜなら、3Dリアルタイムマルチプレイコマンドバトルってどういうものか、果たしてそれが面白いのかわからない状態だったからです。
つまり頭の中になんとなくのイメージはあるが、形になっていない状態で開発が進められないということ。
ぼくは、メインのコマンドバトルのプリプロダクション開発(以下:プリプロ)にリソースを使い、まずは開発の方向性を見つけることに心血を注ぎました。
リアルタイムマルチプレイコマンドバトルなのででは面白さは伝わりません。
ある程度形にして、チームで遊んでみないと面白いのか面白くないのかは評価できないため、かなり苦労しました。
このプロジェクトでも相当数クラッシュアンドビルドを繰り返したことを覚えています。
その結果、1つの答え・方向性が見つかり開発を進めていくことができました。
ここで重要だったのはスピード。実はこのプロジェクトはメディアミックス作品だったため納期が決まっていたのです。
とにかく「面白さ」を見つけ、開発を前に進めていく必要があります。つまりクラッシュアンドビルドをいかに効率よく繰り返せるかが肝でした。
ぼくはデザイナー出身エンジニアということで、UIやエフェクトなどは自分で作ってしまい、プリプロに実装し評価してもらいました。職種間のコミュニケーションをスキップできるため、プリプロを早めることができたのです。
ちょっとしたデザインやエフェクトを作ってもらうために、他セクションに依頼するのは時間の無駄です。しかもプリプロ中のデザインは最終的に捨てることも多いからです。
開発フェーズによりますが、できる限りエンジニアは開発を先に進めるための動きをするべきだと考えています。
結果的に、完成まで持っていくことができました。
コマンドバトルの他に、3Dのアドベンチャーパートシステムの開発などさまざまな機能開発をさせてもらったタイトルでした。
使用技術・アプリ・サービス
Unity2017 / C# / uGUI / DOTween / uFrame / UniRx / Bishamon / TexturePacker / GitHub / Photoshop / HipChat / Confluence / Maya
チーム規模
- 全体で約 30名
- Unityエンジニア 9名
- サーバーサイドエンジニア 4名
- UIデザイナー 3名
- 3Dデザイナー 5名