aiming 開発ゲームの裏側

32
Aiming 開開開開開開開開 開開開開 Aiming 開開開開開開開開開開開開開開 開開 開開

Upload: katsutoshi-makino

Post on 21-May-2015

12.156 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Aiming 開発ゲームの裏側

Aiming 開発ゲームの裏側

株式会社 Aimingリードソフトウェアエンジニア

牧野 克俊

Page 2: Aiming 開発ゲームの裏側

今日のテーマ

幻塔戦記グリフォンがどう作られているかざっと話しつ

つ振り返ってみる

Page 3: Aiming 開発ゲームの裏側

目次1. プロジェクトの概要2. グラフィック3. メモリ使用量4. ユーザインターフェイス5. リソースのダウンロード6. Unity への要望

Page 4: Aiming 開発ゲームの裏側

1. プロジェクトの概要

Page 5: Aiming 開発ゲームの裏側

プロジェクトの概要• オンラインアクションゲームの開発• スマートフォン( iOS,Android )で遊べる– 動作端末の目安は iPhone4S 程度

• 開発期間は約1年2ヶ月(リリースまで)

Page 6: Aiming 開発ゲームの裏側

メンバー構成• MMORPG やブラウザゲームの開発経験が

あるメンバーが中心• 人数– 企画:6人– プログラマ:9人• クライアント5人、サーバ4人

– グラフィッカー:10人 + α

Page 7: Aiming 開発ゲームの裏側

2. グラフィック

Page 8: Aiming 開発ゲームの裏側

基本ルール• 最初に決めたルール– Drawcall は 50 を目安– リアルタイムライティングなし– テクスチャは可能な限り小さく

Page 9: Aiming 開発ゲームの裏側

グラフィック(キャラクター)• パーツをプログラムで結合– 髪の毛、顔、上半身、下半身、右手武器、左

手武器• テクスチャは 1024 * 1024 を 1 枚– 結合後に収まるようにパーツを割り振る

• ポリゴン数は約 2000– パーツによっては増減有り

Page 10: Aiming 開発ゲームの裏側

グラフィック(キャラクター)

Page 11: Aiming 開発ゲームの裏側

グラフィック(モンスター)• ボス– テクスチャサイズは 512 * 512– ポリゴン数は約 3000

• ザコ– テクスチャサイズは 128 * 128– ポリゴン数は約 500 〜 1500– 一度に十数体出現する

Page 12: Aiming 開発ゲームの裏側

グラフィック(モンスター)

Page 13: Aiming 開発ゲームの裏側

グラフィック(背景)• テクスチャ– 1024 * 1024 を約 2 枚– 1024 * 1024 ライトマップ 1 枚– 512 * 512 マップ上のオブジェクト用

• ポリゴンは数千程度– 基本的に板です

• 可能な限り α で抜かない

Page 14: Aiming 開発ゲームの裏側

グラフィック(背景)

Page 15: Aiming 開発ゲームの裏側

グラフィック(エフェクト)• パーティクルで作成• テクスチャは複数のエフェクト間で使い

回している• 半透明、加算がやっぱりきつい

Page 16: Aiming 開発ゲームの裏側

グラフィック(エフェクト)

Page 17: Aiming 開発ゲームの裏側

グラフィックを振り返って• 描画速度は良好• キャラクター構築の負荷が高い• スキニングの負荷が高い– ポリゴン数が多いと特に顕著

• エフェクトの描画負荷– 数が多いのでカリングをした

• エフェクトのロードタイミング– 初めてエフェクトが発生するときに読み込んで

いるがいまいち

Page 18: Aiming 開発ゲームの裏側

3. メモリ使用量

Page 19: Aiming 開発ゲームの裏側

メモリ使用量• 全体の使用量目安– 200 MB 程度

• おおよその内訳– メッシュ: 3 MB– テクスチャ: 40 MB– アニメーション: 10 MB– サウンド: 10 MB

Page 20: Aiming 開発ゲームの裏側

メモリ使用量を振り返って• ガベージコレクト– プレイ中に関しては問題になっていない– シーン切り替え時や大量のリソースをアン

ロードしたときには結構時間がかかる• Animation.AddClip でもりもりメモリ使わ

れた– 登録してある Animation 自体を複製

Page 21: Aiming 開発ゲームの裏側

4. ユーザインターフェイス

Page 22: Aiming 開発ゲームの裏側

ユーザインターフェイス• NGUI を使用• 基本ルール– 位置はアンカーを使って指定– 縦の比率を基準にスケール

Page 23: Aiming 開発ゲームの裏側

ユーザインターフェイス

Page 24: Aiming 開発ゲームの裏側

ユーザインターフェイス• ワークフロー– プログラマがモック作成(機能のみ入ったも

の)– グラフィッカーが見た目、位置等修正

• スクリーンサイズによって重ならないようにするのはグラフィッカー頼み

• 日本語はビットマップフォントを使用

Page 25: Aiming 開発ゲームの裏側

ユーザインターフェイスを振り返って

• NGUI はまあまあ良い• パネル間の優先順位付け• ビットマップフォントでは文字数が足り

ない– チャット、掲示板等自由入力以外は問題ない– ダイナミックフォントにしたい

Page 26: Aiming 開発ゲームの裏側

5. リソースのダウンロード

Page 27: Aiming 開発ゲームの裏側

リソースのダウンロード• アセットバンドルを使用– 現在総ファイル数約 2000!

• LoadFromCacheOrDownload を使用• 設定ファイルはアセットバンドル化して

いない• Editor 上では Resources.LoadAssetAtPath

を使うようにしている

Page 28: Aiming 開発ゲームの裏側

リソースのダウンロード• AssetBundle の分け方– 背景:クエスト単位– モンスター:1体–装備:1個– アニメーション:職業– サウンド:1曲( SE はまとめている)– エフェクト:同テクスチャ– UI :アトラス単位

Page 29: Aiming 開発ゲームの裏側

リソースのダウンロードを振り返って

• ダウンロード時間が長い– エリア解放等のタイミングに合わせる形で分

割してはいるものの・・・• アセットの更新判断– 限りなく自己申告に近い・・・– テクスチャからどのプレハブで使われている

かが探しにくい

Page 30: Aiming 開発ゲームの裏側

6. Unity への要望「こうなったらうれしいなー」

Page 31: Aiming 開発ゲームの裏側

Unity への要望• Mono のバージョン上げて欲しい!–非同期処理関係の強化

• アセットバンドルを再設計しませんか?– バージョンごとの互換性– キャッシュの仕組み– もともとあくまで WebPlayer 用

Page 32: Aiming 開発ゲームの裏側

ご清聴ありがとうございました!