Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Aiming 開発ゲームの裏側

株式会社 Aiming
リードソフトウェアエンジニア
牧野 克俊
今日のテーマ

幻塔戦記グリフォンが
どう作られているかざっと話しつ
つ
振り返ってみる
目次
1.
2.
3.
4.
5.
6.

プロジェクトの概要
グラフィック
メモリ使用量
ユーザインターフェイス
リソースのダウンロード
Unity への要望
1. プロジェクトの概要
プロジェクトの概要
• オンラインアクションゲームの開発
• スマートフォン(iOS,Android)で遊べる
– 動作端末の目安は iPhone4S 程度

• 開発期間は約1年2ヶ月(リリースま
で)
メンバー構成
• MMORPG やブラウザゲームの開発経験が
あるメンバーが中心
• 人数
– 企画:6人
– プログラマ:9人
• クライアント5人、サーバ4人

– グラフィッカー:10人 + α
2. グラフィック
基本ルール
• 最初に決めたルール
– Drawcall は 50 を目安
– リアルタイムライティングなし
– テクスチャは可能な限り小さく
グラフィック(キャラクター)
• パーツをプログラムで結合
– 髪の毛、顔、上半身、下半身、右手武器、左
手武器

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

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

• ザコ
– テクスチャサイズは 128 * 128
– ポリゴン数は約 500 〜 1500
– 一度に十数体出現する
グラフィック(モンスター)
グラフィック(背景)
• テクスチャ
– 1024 * 1024 を約 2 枚
– 1024 * 1024 ライトマップ 1 枚
– 512 * 512 マップ上のオブジェクト用

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

• 可能な限り ...
グラフィック(背景)
グラフィック(エフェクト)
• パーティクルで作成

• テクスチャは複数のエフェクト間で使い
回している
• 半透明、加算がやっぱりきつい
グラフィック(エフェクト)
グラフィックを振り返って
• 描画速度は良好
• キャラクター構築の負荷が高い
• スキニングの負荷が高い
– ポリゴン数が多いと特に顕著

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

• エフェクトのロードタイミング
– 初め...
3. メモリ使用量
メモリ使用量
• 全体の使用量目安
– 200 MB 程度

• おおよその内訳
– メッシュ: 3 MB
– テクスチャ: 40 MB
– アニメーション: 10 MB
– サウンド: 10 MB
メモリ使用量を振り返って
• ガベージコレクト
– プレイ中に関しては問題になっていない
– シーン切り替え時や大量のリソースをアン
ロードしたときには結構時間がかかる

• Animation.AddClip でもりもりメモリ使われ
た
– ...
4. ユーザインターフェイス
ユーザインターフェイス
• NGUI を使用
• 基本ルール
– 位置はアンカーを使って指定
– 縦の比率を基準にスケール
ユーザインターフェイス
ユーザインターフェイス
• ワークフロー
– プログラマがモック作成(機能のみ入ったも
の)
– グラフィッカーが見た目、位置等修正

• スクリーンサイズによって重ならないよ
うにするのはグラフィッカー頼み
• 日本語はビットマップフォントを...
ユーザインターフェイスを振り
返って
• NGUI はまあまあ良い
• パネル間の優先順位付け
• ビットマップフォントでは文字数が足り
ない
– チャット、掲示板等自由入力以外は問題ない
– ダイナミックフォントにしたい
5. リソースのダウンロード
リソースのダウンロード
• アセットバンドルを使用
– 現在総ファイル数約 2000!

• LoadFromCacheOrDownload を使用
• 設定ファイルはアセットバンドル化して
いない
• Editor 上では Resources...
リソースのダウンロード
• AssetBundle の分け方
– 背景:クエスト単位
– モンスター:1体
– 装備:1個
– アニメーション:職業
– サウンド:1曲(SE はまとめている)
– エフェクト:同テクスチャ
– UI:アトラス単...
リソースのダウンロードを振り
返って
• ダウンロード時間が長い
– エリア解放等のタイミングに合わせる形で分
割してはいるものの・・・

• アセットの更新判断
– 限りなく自己申告に近い・・・
– テクスチャからどのプレハブで使われている
...
6. Unity への要望
「こうなったらうれしいなー」
Unity への要望
• Mono のバージョン上げて欲しい!
– 非同期処理関係の強化

• アセットバンドルを再設計しませんか?
– バージョンごとの互換性
– キャッシュの仕組み
– もともとあくまで WebPlayer 用
ご清聴ありがとうございました!
Upcoming SlideShare
Loading in …5
×

Aiming 開発ゲームの裏側

17,843 views

Published on

Published in: Technology
  • Be the first to comment

Aiming 開発ゲームの裏側

  1. 1. Aiming 開発ゲームの裏側 株式会社 Aiming リードソフトウェアエンジニア 牧野 克俊
  2. 2. 今日のテーマ 幻塔戦記グリフォンが どう作られているかざっと話しつ つ 振り返ってみる
  3. 3. 目次 1. 2. 3. 4. 5. 6. プロジェクトの概要 グラフィック メモリ使用量 ユーザインターフェイス リソースのダウンロード Unity への要望
  4. 4. 1. プロジェクトの概要
  5. 5. プロジェクトの概要 • オンラインアクションゲームの開発 • スマートフォン(iOS,Android)で遊べる – 動作端末の目安は iPhone4S 程度 • 開発期間は約1年2ヶ月(リリースま で)
  6. 6. メンバー構成 • MMORPG やブラウザゲームの開発経験が あるメンバーが中心 • 人数 – 企画:6人 – プログラマ:9人 • クライアント5人、サーバ4人 – グラフィッカー:10人 + α
  7. 7. 2. グラフィック
  8. 8. 基本ルール • 最初に決めたルール – Drawcall は 50 を目安 – リアルタイムライティングなし – テクスチャは可能な限り小さく
  9. 9. グラフィック(キャラクター) • パーツをプログラムで結合 – 髪の毛、顔、上半身、下半身、右手武器、左 手武器 • テクスチャは 1024 * 1024 を 1 枚 – 結合後に収まるようにパーツを割り振る • ポリゴン数は約 2000 – パーツによっては増減有り
  10. 10. グラフィック(キャラクター)
  11. 11. グラフィック(モンスター) • ボス – テクスチャサイズは 512 * 512 – ポリゴン数は約 3000 • ザコ – テクスチャサイズは 128 * 128 – ポリゴン数は約 500 〜 1500 – 一度に十数体出現する
  12. 12. グラフィック(モンスター)
  13. 13. グラフィック(背景) • テクスチャ – 1024 * 1024 を約 2 枚 – 1024 * 1024 ライトマップ 1 枚 – 512 * 512 マップ上のオブジェクト用 • ポリゴンは数千程度 – 基本的に板です • 可能な限り α で抜かない
  14. 14. グラフィック(背景)
  15. 15. グラフィック(エフェクト) • パーティクルで作成 • テクスチャは複数のエフェクト間で使い 回している • 半透明、加算がやっぱりきつい
  16. 16. グラフィック(エフェクト)
  17. 17. グラフィックを振り返って • 描画速度は良好 • キャラクター構築の負荷が高い • スキニングの負荷が高い – ポリゴン数が多いと特に顕著 • エフェクトの描画負荷 – 数が多いのでカリングをした • エフェクトのロードタイミング – 初めてエフェクトが発生するときに読み込ん でいるがいまいち
  18. 18. 3. メモリ使用量
  19. 19. メモリ使用量 • 全体の使用量目安 – 200 MB 程度 • おおよその内訳 – メッシュ: 3 MB – テクスチャ: 40 MB – アニメーション: 10 MB – サウンド: 10 MB
  20. 20. メモリ使用量を振り返って • ガベージコレクト – プレイ中に関しては問題になっていない – シーン切り替え時や大量のリソースをアン ロードしたときには結構時間がかかる • Animation.AddClip でもりもりメモリ使われ た – 登録してある Animation 自体を複製
  21. 21. 4. ユーザインターフェイス
  22. 22. ユーザインターフェイス • NGUI を使用 • 基本ルール – 位置はアンカーを使って指定 – 縦の比率を基準にスケール
  23. 23. ユーザインターフェイス
  24. 24. ユーザインターフェイス • ワークフロー – プログラマがモック作成(機能のみ入ったも の) – グラフィッカーが見た目、位置等修正 • スクリーンサイズによって重ならないよ うにするのはグラフィッカー頼み • 日本語はビットマップフォントを使用
  25. 25. ユーザインターフェイスを振り 返って • NGUI はまあまあ良い • パネル間の優先順位付け • ビットマップフォントでは文字数が足り ない – チャット、掲示板等自由入力以外は問題ない – ダイナミックフォントにしたい
  26. 26. 5. リソースのダウンロード
  27. 27. リソースのダウンロード • アセットバンドルを使用 – 現在総ファイル数約 2000! • LoadFromCacheOrDownload を使用 • 設定ファイルはアセットバンドル化して いない • Editor 上では Resources.LoadAssetAtPath を 使うようにしている
  28. 28. リソースのダウンロード • AssetBundle の分け方 – 背景:クエスト単位 – モンスター:1体 – 装備:1個 – アニメーション:職業 – サウンド:1曲(SE はまとめている) – エフェクト:同テクスチャ – UI:アトラス単位
  29. 29. リソースのダウンロードを振り 返って • ダウンロード時間が長い – エリア解放等のタイミングに合わせる形で分 割してはいるものの・・・ • アセットの更新判断 – 限りなく自己申告に近い・・・ – テクスチャからどのプレハブで使われている かが探しにくい
  30. 30. 6. Unity への要望 「こうなったらうれしいなー」
  31. 31. Unity への要望 • Mono のバージョン上げて欲しい! – 非同期処理関係の強化 • アセットバンドルを再設計しませんか? – バージョンごとの互換性 – キャッシュの仕組み – もともとあくまで WebPlayer 用
  32. 32. ご清聴ありがとうございました!

×