Weitere ähnliche Inhalte Ähnlich wie Unity×HTMLで作るiPhone オンラインゲーム開発事例 (20) Kürzlich hochgeladen (11) Unity×HTMLで作るiPhone オンラインゲーム開発事例4. この発表のターゲット
● ある程度Unity触ってる人
● オンラインゲームの作り方に興味ある人
● iPhoneアプリを出そうとしてる人
● 開発の開始からリリースまでのプロセスに興味
がある人
時間がないので
細かい実装の話は次の機会に
19. 基本設計
● MVCっぽく依存を分離
○ Model,View,Controllerにクラスを分けて役割を明確化
■ ロジックはModelで管理。Unityに依存しないように
■ Modelの変更はイベントでViewに通知、反映
■ Viewにロジックが必要な場合はViewModelをつくる
■ 複数のView間でデータを取り回す場合もViewModel
■ ControllerはViewの出し入れModelの呼び出しなど
● ソートや検索などのデータ処理はLINQを活用
○ クライアントで処理するのでサーバーの負担が減る
20. HTML連携
● Native Pluginでインゲームブラウザを実装
● Unity、HTML間で情報を相互に通信
○ shouldStartLoadWithRequestを使ってパース
■ クエリストリング(?aho=hoge&foo=barの部分)をクリッ
クや画面ロードのタイミングでパース
○ UnitySendMessageでパースしたデータを送信
● ブラウザが操作不能になる問題が出た
○ Unity側が自動生成するAppCotroller.mmの描画フラグ
を変更(@Unity3.4)
■ #define USE_DISPLAY_LINK_IF_AVAILABLE 0
21. サーバーとの通信
● JSON-RPC形式
● 通信実装コードの自動生成
○ ppcuni/rpcoderを使った
■ githubに上がってる自社制ライブラリ
■ https://github.com/ppcuni/rpcoder
■ アプリケーション層で通信実装を気にする必要はな
いようになってる
● Mockを使ったスタンドアローン開発
○ サーバーの実装スケジュールとの依存が少ない
○ 異常系の確認も手軽にできる
32. 社内テストとブラッシュアップ
● 数十人規模で同時にプレイ
○ 倍速モードでテスト時間短縮
● テストプレイヤーには別プロジェクトやバックオ
フィスの人もいた
○ ガチプレイしてもらえた
● バグと要望の収集にはSkypeとグーグルスプ
レッドシートを使用
○ 報告を集めやすかった
↓
優先度をつけて以降のマイルストーンに反映
35. 審査について
リリースまでにリジェクト3回されました
● リジェクト理由
a. キャッシュファイルの保存場所が悪くてアウト!
■ 永続化用と一時用があるので気をつける
b. 審査専用アカウントを使ってくれなくて審査用サーバー
にログインできなくてアウト!
■ アカウントで審査版かどうかを判断しないように
c. 審査中にメンテしたら問題おきてログインできなくなった
■ In Reviewになったら予定しているメンテがあってもリ
スケする
39. まとめ
● Unityの癖を知り乗りこなそう
○ Unity助け合い所助かってます
● なるべく早くテストプレイできるようにしよう
○ ブラッシュアップのサイクルは多いほどいい
● Appleでのリリースは地雷が多いので早く踏む
○ オンラインゲームのリリースはいろいろ大変