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.
『作って壊す』を繰り返せ!Unity スパイラル開発テクニック(カジュアルゲーム)株式会社ポケット・クエリーズ代表取締役佐々木 宣彦Unite Japan (2013年4月16日) 講演資料
自己紹介
本日の講演ストーリUnityの特性を生かしたスパイラル開発とは?短期間(3ヶ月間)で 大幅作り直しを行う為には何が必要か?カジュアルゲーム製作実例を題材に細かなTipsを共有します。
アジェンダ1. 動く企画書を作りまくれ !  (簡易サンプル製作による操作感・爽快感の検証事例)2. 小さく作って使い回せ!   (スクリプト、アセット等の製作・利用単位と工夫)3. 本番仕様のゲームロジック製作事例   (Unityでのゲーム...
1. 動く企画書を作りまくれ !  (簡易サンプル製作による操作感・爽快感の検証事例)
最終的に完成するふたつのゲーム開発全体の流れ
開発全体の流れ サーバ	   連携実装	  GUIデザイン	  全面見直し  プロト	     製作	  企画策定	  	  操作特性	  の策定実装・実装・実装ゲーム	  主要部	  の別案作成ゲーム	  主要部の	  新案プロト	  作成迷...
企画の方向性をよく考える企画の発端: ボルダリングのゲームを作って        entag!(       )にて展開自社(MTI様)ゲーム プラットフォーム
企画の方向性をよく考えようLINE POPを始めとするカジュアルゲーム王道パターンスタートはランキングから(競争心を煽る)競争意欲に火がつく。パワーアップ   アイテム購入あとX回プレイでレベルアップ!(まだまだやりたい)やり込み結果を自慢->...
企画の方向性をよく考えようカジュアルゲームのトレンド と 方向性の決定-> シンプル、短時間プレイ-> とは言え、やり込み要素が必要-> 爽快さ、がちゃがちゃ操作する感じ-> 友達との競争-> もちろんフリーミアムモデル、ゲーム有利化アイテムで...
テーマは確定、ゲーム部の基本特性を決めよう実装を進めた後で後悔しない為に。。。・企画段階で動くサンプルを沢山作って、メンバー(企画・開発・デザイン)共有   -­‐> 特にスマホ実機での操作イメージ確認が重要	     -­‐> 単純なサンプル...
テーマは確定、ゲーム部の基本特性を決めよう操作の気持ち良さをサンプルで確認(上下スクロールの仕組み、パズルフリック当てはめ操作)サンプルレベルで	  ドンドン作り直し	  (=プログラム部品蓄積)  -> フリックでパズルを当てはめる案に決定 ...
テーマは確定、ゲーム部の基本特性を決めようゲーム部分はほぼ完成してきた、この路線で良いのか?  -> ゲーム主要部のロジックを作り直し    (パズルピース入れ替え型へ変更)見た目の変更度合いは少ないが、	  ゲーム個別ロジックの作り直しのため...
ゲーム完成、AppStore審査完了!3月1日、リリースの準備は全て整った。が、話が急展開。カカオゲーム採用の話が舞い込むフラッシュパズルはじっくり型。 ゲームのテンポが悪いので、作り直し!パズルゲーム アクションゲーム
2. 小さく作って使い回せ!  (スクリプト、アセット等の製作・利用単位と工夫)
Unityの特性と目指すべき方向性・エディターでの編集	  	  ・アセットという概念での流用
社内のUnity開発資産(プログラム)を整理してみたUnityで良く使用するプログラム処理(ゲーム・ユーティリティアプリ)を整理ゲーム 処理 GUI	  処理 外部・ネィティブ連携 - 画面タッチ操作系 - オブジェクト出現・破棄 - オブジェ...
社内のUnity開発資産(プログラム)を整理してみたよく使うプログラム部品 ー いつでも使える仕掛け化細分化整理と	  Editor拡張による	  ポン付け容易化座標データから	  GUI.XXXX系の	  スクリプト生成Adobe	  	  ...
その他プログラム以外の面での工夫・チェックリスト・手順書作成も重要  例: GUI担当デザイナが考慮すべき事項を整理・共有     ・画像部品の切り出し単位。       テクスチャサイズに影響     ・16bit活用 = グラデーションはN...
その他GameDrawについてUnityエディター内で 3Dモデルの作成編集を可能にするアセット・メッシュ作成・編集	  ・テクスチャUV編集	  	     etc.	  
3. 本番仕様のゲームロジック 構造説明  (Unityでのゲーム構造実例、作って初めてわかる事)
Unityでのゲーム構造 (①ひらめきボルダリング)背景スクロールロジック【コントローラ】	    BgObjController.cs	    が各ブロックを統合制御	    (Instantiate、Move指示)【ブロックオブジェクト】	...
Unityでのゲーム構造 (①ひらめきボルダリング)パズル(アタッチ側・ピース側)出現ロジック壁の特定行のパズル(アタッチ側)の	  組み合わせから一つだけ正解ピースを	  選択ピース側に並べる必要があるアタッチ側選択ピース側2行分の選択肢を出...
Unityでのゲーム構造 (①ひらめきボルダリング)パズル当てはめ操作ロジックTouchController.cs	  選択ピースの判定と	  フリック移動処理を実施PuzzleMoveController.cs	  フリック終了時の	  パズ...
Unityでのゲーム構造 (①ひらめきボルダリング)パズル当てはめ操作ロジックIKCtrl.cs	  キャラクターの手と顔の向きを、	  フリック操作に合わせて 『	  IK制御	  』	  ゴール時のガッツポーズもIK制御。	  ダミーオブジ...
Unityでのゲーム構造 (②ひたすらボルダリング)ブロック出現ロジック【ブロックオブジェクト】	    BgObjMove.cs	    が自分のブロックをMove	    (ひらめきと同じ)	  	    InitWallBlockCont...
Unityでのゲーム構造 (②ひたすらボルダリング)ブロック出現ロジック【ブロックオブジェクト】	    色んな物が隠れています。	    これもInitWallBlockContinuous.cs	    が制御。	  
Unityでのゲーム構造 (②ひたすらボルダリング)当たり判定キャラクターの頭部に	  コライダーあり穴に落ちたかどうかの	  判定用コライダー突起に衝突したかどうか	  の判定用コライダーキャラ頭部コライダーと	  穴・突起のコライダーの衝突...
Unityでのゲーム構造 (②ひたすらボルダリング)コイン一括取得、デコボコ一括フラットロジックGetCoin.cs	  コイン取得時、一括取得時の	  スコアカウント及び	  デストロイ(+アニメ)制御用	  GameObject.FindG...
その他: 開発時の注意事項(ボルダリングゲーム開発例にて説明)実機確認は頻繁にすべし!いつのまにか重くなってる。①【チェックポイント】DrawCall	  	    -­‐> どうしても大量オブジェクトを	      表示したい場合があるので	...
その他: 開発時の注意事項(ボルダリングゲーム開発例にて説明)実機確認は頻繁にすべし!いつのまにか重くなってる。【チェックポイント】-> FPS (ひたすらボルダリング)-> 見落としがちな、Planeオブジェクト   UnityのPlaneは...
その他: 開発時の注意事項(ボルダリングゲーム開発例にて説明)プラグイン、アセットって良いな!-> entag!SDK Unityプラグイン   - ひらめきボルダリングにて採用     自前サーバ不要のユーザ管理(Friend、Score、R...
最後に技術交流、ビジネス交流、大歓迎です。query@pocket-queries.co.jp本セッションに関するお問合せは こちらまで
Upcoming SlideShare
Loading in …5
×

Unite Japan Presentation (Pocket Queries, Inc.)

1,672 views

Published on

Published in: Technology
  • Be the first to comment

Unite Japan Presentation (Pocket Queries, Inc.)

  1. 1. 『作って壊す』を繰り返せ!Unity スパイラル開発テクニック(カジュアルゲーム)株式会社ポケット・クエリーズ代表取締役佐々木 宣彦Unite Japan (2013年4月16日) 講演資料
  2. 2. 自己紹介
  3. 3. 本日の講演ストーリUnityの特性を生かしたスパイラル開発とは?短期間(3ヶ月間)で 大幅作り直しを行う為には何が必要か?カジュアルゲーム製作実例を題材に細かなTipsを共有します。
  4. 4. アジェンダ1. 動く企画書を作りまくれ !  (簡易サンプル製作による操作感・爽快感の検証事例)2. 小さく作って使い回せ!   (スクリプト、アセット等の製作・利用単位と工夫)3. 本番仕様のゲームロジック製作事例   (Unityでのゲーム構造実例、作って初めてわかる事)
  5. 5. 1. 動く企画書を作りまくれ !  (簡易サンプル製作による操作感・爽快感の検証事例)
  6. 6. 最終的に完成するふたつのゲーム開発全体の流れ
  7. 7. 開発全体の流れ サーバ   連携実装  GUIデザイン  全面見直し  プロト     製作  企画策定    操作特性  の策定実装・実装・実装ゲーム  主要部  の別案作成ゲーム  主要部の  新案プロト  作成迷いが生じる。。。  1.5ヶ月0.5ヶ月 1ヶ月ちょっと延伸中。。。  操作特性の実機検証  を重要視した期間やっぱり作ってみると  色々あるなぁ期間根本的に話が変わって  大きく作り直し期間  色んな検証サンプル製作を通じて  ベース部品を蓄積ポイント①  ベース部品を活用しつつ  更に小分けに部品を蓄積ポイント②ゲーム部新案実装時  かなり楽できた
  8. 8. 企画の方向性をよく考える企画の発端: ボルダリングのゲームを作って        entag!(       )にて展開自社(MTI様)ゲーム プラットフォーム
  9. 9. 企画の方向性をよく考えようLINE POPを始めとするカジュアルゲーム王道パターンスタートはランキングから(競争心を煽る)競争意欲に火がつく。パワーアップ   アイテム購入あとX回プレイでレベルアップ!(まだまだやりたい)やり込み結果を自慢-> 気持ち良い(プレイヤー拡大)どの状態(画面)からでもゲームプレイ権(ハート)が購入・入手(おねだり、友達招待)可能著作権等を考慮し、  ゲーム画面はマスクしました。
  10. 10. 企画の方向性をよく考えようカジュアルゲームのトレンド と 方向性の決定-> シンプル、短時間プレイ-> とは言え、やり込み要素が必要-> 爽快さ、がちゃがちゃ操作する感じ-> 友達との競争-> もちろんフリーミアムモデル、ゲーム有利化アイテムで課金-> パズル要素か? 結局は昔からヒットしているゲームロジックゲームテーマ =『フラッシュパズル』基本は上の概念に習う。ただ、なんとか新しいゲーム要素を作り出したい
  11. 11. テーマは確定、ゲーム部の基本特性を決めよう実装を進めた後で後悔しない為に。。。・企画段階で動くサンプルを沢山作って、メンバー(企画・開発・デザイン)共有   -­‐> 特にスマホ実機での操作イメージ確認が重要     -­‐> 単純なサンプルをとにかく沢山つくる    ・爽快さ と ボルダリング感 って相反するもの?じっくり型のサンプル がちゃがちゃ操作型のサンプル
  12. 12. テーマは確定、ゲーム部の基本特性を決めよう操作の気持ち良さをサンプルで確認(上下スクロールの仕組み、パズルフリック当てはめ操作)サンプルレベルで  ドンドン作り直し  (=プログラム部品蓄積)  -> フリックでパズルを当てはめる案に決定  -> プロトイメージ製作へ
  13. 13. テーマは確定、ゲーム部の基本特性を決めようゲーム部分はほぼ完成してきた、この路線で良いのか?  -> ゲーム主要部のロジックを作り直し    (パズルピース入れ替え型へ変更)見た目の変更度合いは少ないが、  ゲーム個別ロジックの作り直しのため、  結構日数がかかった
  14. 14. ゲーム完成、AppStore審査完了!3月1日、リリースの準備は全て整った。が、話が急展開。カカオゲーム採用の話が舞い込むフラッシュパズルはじっくり型。 ゲームのテンポが悪いので、作り直し!パズルゲーム アクションゲーム
  15. 15. 2. 小さく作って使い回せ!  (スクリプト、アセット等の製作・利用単位と工夫)
  16. 16. Unityの特性と目指すべき方向性・エディターでの編集    ・アセットという概念での流用
  17. 17. 社内のUnity開発資産(プログラム)を整理してみたUnityで良く使用するプログラム処理(ゲーム・ユーティリティアプリ)を整理ゲーム 処理 GUI  処理 外部・ネィティブ連携 - 画面タッチ操作系 - オブジェクト出現・破棄 - オブジェクト移動系 - 見た目の変更系 - アニメーション発動 - サウンド発動 - mecanimアニメーション - ポップアップ画面 - GUISkinでの   定型画面部品表示 - NGUIでの複雑処理   (スクロールなど) - JSONパース - SNS連携 - Asset Bundle - 課金処理  (AppStore、    Google Play、     Amazon) - ローカルデータ管理貼付け  レベル  流用 - 独自サーバAPI との通信  (HTTP、WebSocket)一品    物  加工    流用   - 個別の  ゲームロジック - 新規の   デザイン画面
  18. 18. 社内のUnity開発資産(プログラム)を整理してみたよく使うプログラム部品 ー いつでも使える仕掛け化細分化整理と  Editor拡張による  ポン付け容易化座標データから  GUI.XXXX系の  スクリプト生成Adobe    PhotShop  (レイヤ整理と座標抽出  マクロ作成)テンプレート化  コピーして都度改修
  19. 19. その他プログラム以外の面での工夫・チェックリスト・手順書作成も重要  例: GUI担当デザイナが考慮すべき事項を整理・共有     ・画像部品の切り出し単位。       テクスチャサイズに影響     ・16bit活用 = グラデーションはNG・モデルやGUI部品などのデザイン系部品は、  実装本格化前に仕上げたい   -> 実際問題として難しい部分多い   -> 開発企画早期段階でプログラマの手が空かない様にするため     プログラマが作成できるモデルはUnity内で作成させる     (GameDrawの活用。 モデルの再インポート時の問題も削減)
  20. 20. その他GameDrawについてUnityエディター内で 3Dモデルの作成編集を可能にするアセット・メッシュ作成・編集  ・テクスチャUV編集       etc.  
  21. 21. 3. 本番仕様のゲームロジック 構造説明  (Unityでのゲーム構造実例、作って初めてわかる事)
  22. 22. Unityでのゲーム構造 (①ひらめきボルダリング)背景スクロールロジック【コントローラ】    BgObjController.cs    が各ブロックを統合制御    (Instantiate、Move指示)【ブロックオブジェクト】    BgObjMove.cs    が自分のブロックをMove      InitPuzzleHole.cs    がパズルを初期化、パズルデータ保持  
  23. 23. Unityでのゲーム構造 (①ひらめきボルダリング)パズル(アタッチ側・ピース側)出現ロジック壁の特定行のパズル(アタッチ側)の  組み合わせから一つだけ正解ピースを  選択ピース側に並べる必要があるアタッチ側選択ピース側2行分の選択肢を出す2行分の選択肢ピース情報
  24. 24. Unityでのゲーム構造 (①ひらめきボルダリング)パズル当てはめ操作ロジックTouchController.cs  選択ピースの判定と  フリック移動処理を実施PuzzleMoveController.cs  フリック終了時の  パズル当てはめ正解判定、  ピース移動時のピヨピヨエフェクト  SendMessage()
  25. 25. Unityでのゲーム構造 (①ひらめきボルダリング)パズル当てはめ操作ロジックIKCtrl.cs  キャラクターの手と顔の向きを、  フリック操作に合わせて 『  IK制御  』  ゴール時のガッツポーズもIK制御。  ダミーオブジェクトを  Animationにて移動  IK制御用  ダミーオブジェクト  
  26. 26. Unityでのゲーム構造 (②ひたすらボルダリング)ブロック出現ロジック【ブロックオブジェクト】    BgObjMove.cs    が自分のブロックをMove    (ひらめきと同じ)      InitWallBlockContinuous.cs    がブロックの見栄え、仕掛けの    初期化制御  
  27. 27. Unityでのゲーム構造 (②ひたすらボルダリング)ブロック出現ロジック【ブロックオブジェクト】    色んな物が隠れています。    これもInitWallBlockContinuous.cs    が制御。  
  28. 28. Unityでのゲーム構造 (②ひたすらボルダリング)当たり判定キャラクターの頭部に  コライダーあり穴に落ちたかどうかの  判定用コライダー突起に衝突したかどうか  の判定用コライダーキャラ頭部コライダーと  穴・突起のコライダーの衝突で  ゲームOK・NG判断    3D空間を斜め視点で遊ぶため  ユーザとって自然な当たり判定に  なる様にコライダの大きさ位置を微調整  
  29. 29. Unityでのゲーム構造 (②ひたすらボルダリング)コイン一括取得、デコボコ一括フラットロジックGetCoin.cs  コイン取得時、一括取得時の  スコアカウント及び  デストロイ(+アニメ)制御用  GameObject.FindGameObjectsWithTagの取得順序はInstantiate順(内部ID順)?
  30. 30. その他: 開発時の注意事項(ボルダリングゲーム開発例にて説明)実機確認は頻繁にすべし!いつのまにか重くなってる。①【チェックポイント】DrawCall      -­‐> どうしても大量オブジェクトを      表示したい場合があるので      FPSほどは気にしていない      メモリ使用量、ファイルサイズ   (エディタログにて確認)            
  31. 31. その他: 開発時の注意事項(ボルダリングゲーム開発例にて説明)実機確認は頻繁にすべし!いつのまにか重くなってる。【チェックポイント】-> FPS (ひたすらボルダリング)-> 見落としがちな、Planeオブジェクト   UnityのPlaneは ポリ数大きい   ボルダリングでは40個出現するため   8ポリ版に変更するとFPS = 5 程度変化 Unityで作成Mayaで作成200 ポリ8 ポリiPhone 5iPhone 4SKindle Fire HDiPod Touch (最新)Galexy Tab55 - 6035 ‒ 4545 - 55端末 FPS値
  32. 32. その他: 開発時の注意事項(ボルダリングゲーム開発例にて説明)プラグイン、アセットって良いな!-> entag!SDK Unityプラグイン   - ひらめきボルダリングにて採用     自前サーバ不要のユーザ管理(Friend、Score、Ranking、独自データ)     連携部処理の実装が実質3日程度   - 『ひたすらボルダリング』ではカカオトーク連携として同様の機能を自前製作。     2週間程度(サーバAPI+DB、カカオiOS/AndroidネイティブSDK連携プラグイン開発)-> Prime31の課金プラグイン   - ノンコンシューマブルタイプの課金処理を実装。     iOS、Android、それぞれ1日程度で実装∼テスト完-> FingerGesture   - フリック検出の為に採用。     以前開発したゲームでは自前でフリックロジック(ジェスチャ)を実装。     気持ちのよい操作感実現の為にかなりの時間を費やした。     今回は、単純なフリック方向検出のみの為に採用したが、     検出まではほぼノンコーディング。
  33. 33. 最後に技術交流、ビジネス交流、大歓迎です。query@pocket-queries.co.jp本セッションに関するお問合せは こちらまで

×