2018/12/05

Uniteいってきました。はつさんか!おもしろかった〜!
以下とりいそぎログです。
うちはデザイナーなのでUI,UX,GUI,そのた画像系できになったことをピックアップしていっています。
後日講演内容やスライドは公式サイトで公開されるので行けなかった人は要チェックです。
コロプラのアプリの開発体制
プロトタイプ開発
2〜3名
α版 アクションの基礎が楽しめる完成度
10〜13名
4ヶ月
β版 ゲームサイクル完成
開発版 15~18名
β版の時に全社員に配布>非ゲーマーの反応を見る
子供レビュー 小学校高学年にやってもらい理解できるかを見る
パフォーマンス・チューニング
原因:ほとんど重いのはInstantiate
一番重かったのはダメージ表記
ボトルネックはload
対策:キャッシュしまくる
エフェクトはキャッシュできなかった(タイミングがずれる・画面外に出ることが多いため)
GPU側ボトルネック
事象:マップ画面での処理落ち
原因:広範囲での波の描画がやばかった
コードがサイン・コサイン系で書かれていたため重くなる
フラグメントで計算する必要はなかった
対策:別の書き方に変更
対策:余計な使っていないカラー情報がはいっていたので一括で削除
起動時間の短縮化
事象:起動まで1分かかっていた
原因:AssetBundleがクソ重かった>3万個 現在10万個ある
Catching.radyがクソ重い
対策:自力でキャッシュシステムを作った。バージョン管理もできる
1.バージョンを読み取る
2.ユーザー内にはいっているバージョンを見る
3.はいっていないものだけダウンロード
これによってiOSは1分から8秒(!)に
思い切って自分でつくるといいよ
最初の物語の入りの部分で
裏でこっそりダウンロードしている
デメリット
iOSで同時に描画できるのは256個
読み込んでいる途中で落ちたりする
対策:不必要なdll コードの削除
Assetのサンプルなどいらないものがバイナリをふくらませている
.jsがあると変に膨らむ
メモリリークの修正
事象:Releaseがうまくいかないパターンがある
追うのが非常に難しい Unityだと特定するのが難しい
対策:Xcoadを使って調査
今後やりたい
Character Controllerやめたい(重い)
エフェクトのキャッシュ化
ダメージパケットのバッチング
リアルタイム通信のチューニング
(´-`).。oO(ここは絶対メモを見るよりスライドの図を見た方がいいです サーバー構成とかいろいろ。やしこの戦闘力たったの5の状態ではなるほどわからん状態でした)
通信保証データ
受け取れないと進行不能になる系のデータに特殊な処理をしている
クライアントとサーバーのデータ不一致
事象:いわゆる2重リクエストに対する対策
対策:tokenを付与して2重であることを確認する
上限値を入れてテストすること
サーバー側の数値上限が922京 対してクライアント21億
上限を超えた数値を送るとぶっ壊れる