Aiming 開発ゲームの裏側

16,307 views

Published on

Published in: Technology
0 Comments
51 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
16,307
On SlideShare
0
From Embeds
0
Number of Embeds
5,012
Actions
Shares
0
Downloads
66
Comments
0
Likes
51
Embeds 0
No embeds

No notes for slide

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. ご清聴ありがとうございました!

×