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.
ゲーム開発しくじり先生
「War of Zodiac」
-UNITY初仕事でアウトゲームのUI全て一人で製作した為にやらかした話-
荻野雄季
自己紹介
▪ 荻野雄季(おぎのゆうき)
▪ 今年からフリーランス、EDEN合同会社の業務委託社員
▪ 屋号「ゲームスタジオおぎのけ」で活動中
▪ 今年からUnityを仕事にしてます。
▪ Twitter:@YuukiOgino
アジェンダ
▪ War of Zodiac紹介
▪ 開発に使用したアセット
▪ 踏んでしまった地雷一覧
War of Zodiac紹介
War of Zodiac
▪ 30秒程度のPVをご覧ください
War of Zodiac
▪ EDEN合同会社が企画立案、プロジェクトチーム【XRoads】(クロ
スロード)が開発する、独自のファンタジー世界を舞台とした、新感
覚カジュアルRTS(リアルタイムストラテジー)ゲーム
▪ Unity2018....
War of Zodiac
▪ 開発は約2年程(土日の空いた時間でプロトタイプ作成)
▪ 色々あって、昨年の9月頃から本格的な開発を開始
▪ 最終的に8人のチームで開発(自分は1月から合流)
プロデューサー 1名
プランナー 3名
フロントエン...
ここで学んだ、短時間で大量の画面を作るコツ
▪ 自動化できるところは積極的に自動化させる
▪ なる早でUnity(uGUI)の地雷を踏んで耐性をつける
▪ アセットストアをフル活用する
▪ 使えるものは何でも使う。使った後で考える
▪ プロトタ...
開発に使用したアセット
MacでVisual Studio 2019使うのがかなり辛いので、Riderへ
UniRx
▪ みんな大好きUniRx
▪ ReactivePropertyが本当に便利
→これのおかげで、後々の画面更新が非常に楽になった
→Subjectも他の言語でイベントを使用していたので、
何回か使っているうちにすんなりと受け入れられ...
UniRx
▪ 開発時に熟読していました。
https://qiita.com/toRisouP/items/00b8a5bb8e7b68e0686c
UniRx
https://qiita.com/lycoris102/items/1c792c4ba78e564a1b21
Androidの通知で使用
FCMで使用
課金で使用
課金部分のソースを参考にさせていただきました
確率表記、お問い合わせページで使用
踏んでしまった地雷一覧
uGUIの位置等をTransform経由で操作
rectTransformを使いましょう。(自分への戒め)
スクローラーの初期位置等をContentに格納した
Transform経由でなぜか操作
きっと疲れてたんだと思います(自分への戒め)
スクローラーでボタン上手く押せない問題
https://forum.unity.com/threads/buttons-within-scroll-rect-are-difficult-to-press-on-mobile.265682/
Unity IAP Androidレシート検証
▪ Androidのレシート検証で、developerPayloadにプラグイン側で独自
の値を勝手に入れられるために、サーバー側のレシート検証実装に余計
な工数が発生
[Unity IAP 1....
最適化
▪ ホーム画面とデッキ画面の遷移で、ヒドイカクツキが発生
▪ 流石に無視できないレベルだったため、プロファイラー等を使って調査
最適化
▪ 調査したところ、カード画像等で使用していた、Stringの連結で無駄な
GCが発生
▪ StringBuilderで連結するように変更したところ、GCが減少したためカ
クツキが解消
iOS審査
▪ 目に見えるバグは当然NGですが、以下のガイドライン対策で3回
ほどリジェクトをくらいました
▪ ガイドライン 4.2.3
(ii)起動時にAppが正しく機能するよう、バイナリに十分
なコンテンツが含まれるようにしてください。
ガイドライン 4.2.3対応
▪ アプリを新規起動時、アセットを即ダウンロードさせるのはリジェクト対
象になります。
▪ ダウンロード時に「Tips表示して、ボタンを押すと別のTipsが表示」レ
ベルの対応はリジェクトされます
ガイドライン 4.2.3対応
▪ ダウンロードせずプレイできる「最低限の簡易的なチュートリアル
バトルを1戦」入れた後にダウンロードするように修正
とにかく「起動、即アセットダウンロードのみ」がNG
1日で作成
ガイドライン 4.2.3対応
▪ 対応策の参考になる例
理想とも言うべき対応
ガイドライン 4.2.3対応
▪ 対応策の参考になる例
オフラインで遊べるミニゲームを用意して、
バックグランドでアセットをダウンロードさせる良い施策例
Android 9 pie(API 28)
▪ Android アプリの新規リリースを行う場合、今年の8月1日からpieに
対応させる
Android 9 pie(API 28)
▪ WAR of Zodiacのリリース予定日は8月1日
▪ つまり、対応しないといけない
→Unity2018.2はAPI 26以上は指定できない
→28のビルドができる「Unity2018.4(L...
Android 9 pie(API 28)
7/31
リリース日の前日、深夜0時から
「Unity2018.4(LTS)」へバージョンアップさせる狂気
Unity2018.4(LTS)で発生したバグ
▪ ポップアップの拡大縮小アニメーションで、フォ
ントのスケールが0のままで拡大されるバグ
調査の時間が取れなかったので、縮小の最小値を0.8、アニ
メーション再生時間を短くすることで暫定対応
Unity2018.4(LTS)で発生したバグ
▪ Android9の端末で、開発環境に限り通信
が一切できなくなくなる
Unity2018.4(LTS)で発生したバグ
▪ Android9からHttp通信はAndroid Manifestに記載しないといけなくなる
https://qiita.com/tarotarokun/items/926c02b8ab2c8...
Unity2018.4(LTS)で発生したバグ
▪ ただ、リリース日の前日、かつAndroid9を開発環境に繋げた時のみ
(本番は全てHttpsに対応済)と状況のため…
Android 9端末はしばらく開発環境で
使わない
という画期的な方法で...
ご静聴ありがとうございました!
ゲーム開発しくじり先生​ ​ 「War of Zodiac」​ -UNITY初仕事でアウトゲームのUI全て一人で製作した為にやらかした話-​
Upcoming SlideShare
Loading in …5
×

ゲーム開発しくじり先生​ ​ 「War of Zodiac」​ -UNITY初仕事でアウトゲームのUI全て一人で製作した為にやらかした話-​

[非公式] Unite Tokyo 2019 Eve2 LT Fesで発表したスライドです。
一部編集しております。

  • Login to see the comments

ゲーム開発しくじり先生​ ​ 「War of Zodiac」​ -UNITY初仕事でアウトゲームのUI全て一人で製作した為にやらかした話-​

  1. 1. ゲーム開発しくじり先生 「War of Zodiac」 -UNITY初仕事でアウトゲームのUI全て一人で製作した為にやらかした話- 荻野雄季
  2. 2. 自己紹介 ▪ 荻野雄季(おぎのゆうき) ▪ 今年からフリーランス、EDEN合同会社の業務委託社員 ▪ 屋号「ゲームスタジオおぎのけ」で活動中 ▪ 今年からUnityを仕事にしてます。 ▪ Twitter:@YuukiOgino
  3. 3. アジェンダ ▪ War of Zodiac紹介 ▪ 開発に使用したアセット ▪ 踏んでしまった地雷一覧
  4. 4. War of Zodiac紹介
  5. 5. War of Zodiac ▪ 30秒程度のPVをご覧ください
  6. 6. War of Zodiac ▪ EDEN合同会社が企画立案、プロジェクトチーム【XRoads】(クロ スロード)が開発する、独自のファンタジー世界を舞台とした、新感 覚カジュアルRTS(リアルタイムストラテジー)ゲーム ▪ Unity2018.2→2018.4 ▪ 2019/8/1 Androd版リリース ▪ 2019/8/5 iOS版リリース
  7. 7. War of Zodiac ▪ 開発は約2年程(土日の空いた時間でプロトタイプ作成) ▪ 色々あって、昨年の9月頃から本格的な開発を開始 ▪ 最終的に8人のチームで開発(自分は1月から合流) プロデューサー 1名 プランナー 3名 フロントエンジニア 2名(内1人がサーバー兼任) デザイナー 1名 アーティスト 1名
  8. 8. ここで学んだ、短時間で大量の画面を作るコツ ▪ 自動化できるところは積極的に自動化させる ▪ なる早でUnity(uGUI)の地雷を踏んで耐性をつける ▪ アセットストアをフル活用する ▪ 使えるものは何でも使う。使った後で考える ▪ プロトタイプをなる早で作って、問題点を早めに洗い出してもらう
  9. 9. 開発に使用したアセット
  10. 10. MacでVisual Studio 2019使うのがかなり辛いので、Riderへ
  11. 11. UniRx ▪ みんな大好きUniRx ▪ ReactivePropertyが本当に便利 →これのおかげで、後々の画面更新が非常に楽になった →Subjectも他の言語でイベントを使用していたので、 何回か使っているうちにすんなりと受け入れられた ▪ アウトゲームは全てUniRxを使うと決めて実装
  12. 12. UniRx ▪ 開発時に熟読していました。 https://qiita.com/toRisouP/items/00b8a5bb8e7b68e0686c
  13. 13. UniRx https://qiita.com/lycoris102/items/1c792c4ba78e564a1b21
  14. 14. Androidの通知で使用
  15. 15. FCMで使用
  16. 16. 課金で使用
  17. 17. 課金部分のソースを参考にさせていただきました
  18. 18. 確率表記、お問い合わせページで使用
  19. 19. 踏んでしまった地雷一覧
  20. 20. uGUIの位置等をTransform経由で操作 rectTransformを使いましょう。(自分への戒め)
  21. 21. スクローラーの初期位置等をContentに格納した Transform経由でなぜか操作 きっと疲れてたんだと思います(自分への戒め)
  22. 22. スクローラーでボタン上手く押せない問題 https://forum.unity.com/threads/buttons-within-scroll-rect-are-difficult-to-press-on-mobile.265682/
  23. 23. Unity IAP Androidレシート検証 ▪ Androidのレシート検証で、developerPayloadにプラグイン側で独自 の値を勝手に入れられるために、サーバー側のレシート検証実装に余計 な工数が発生 [Unity IAP 1.19] Google Play StoreのdeveloperPayloadに関する変更 より引用 https://nextat.co.jp/staff/archives/204
  24. 24. 最適化 ▪ ホーム画面とデッキ画面の遷移で、ヒドイカクツキが発生 ▪ 流石に無視できないレベルだったため、プロファイラー等を使って調査
  25. 25. 最適化 ▪ 調査したところ、カード画像等で使用していた、Stringの連結で無駄な GCが発生 ▪ StringBuilderで連結するように変更したところ、GCが減少したためカ クツキが解消
  26. 26. iOS審査 ▪ 目に見えるバグは当然NGですが、以下のガイドライン対策で3回 ほどリジェクトをくらいました ▪ ガイドライン 4.2.3 (ii)起動時にAppが正しく機能するよう、バイナリに十分 なコンテンツが含まれるようにしてください。
  27. 27. ガイドライン 4.2.3対応 ▪ アプリを新規起動時、アセットを即ダウンロードさせるのはリジェクト対 象になります。 ▪ ダウンロード時に「Tips表示して、ボタンを押すと別のTipsが表示」レ ベルの対応はリジェクトされます
  28. 28. ガイドライン 4.2.3対応 ▪ ダウンロードせずプレイできる「最低限の簡易的なチュートリアル バトルを1戦」入れた後にダウンロードするように修正 とにかく「起動、即アセットダウンロードのみ」がNG 1日で作成
  29. 29. ガイドライン 4.2.3対応 ▪ 対応策の参考になる例 理想とも言うべき対応
  30. 30. ガイドライン 4.2.3対応 ▪ 対応策の参考になる例 オフラインで遊べるミニゲームを用意して、 バックグランドでアセットをダウンロードさせる良い施策例
  31. 31. Android 9 pie(API 28) ▪ Android アプリの新規リリースを行う場合、今年の8月1日からpieに 対応させる
  32. 32. Android 9 pie(API 28) ▪ WAR of Zodiacのリリース予定日は8月1日 ▪ つまり、対応しないといけない →Unity2018.2はAPI 26以上は指定できない →28のビルドができる「Unity2018.4(LTS)」へ切り替えることに
  33. 33. Android 9 pie(API 28) 7/31 リリース日の前日、深夜0時から 「Unity2018.4(LTS)」へバージョンアップさせる狂気
  34. 34. Unity2018.4(LTS)で発生したバグ ▪ ポップアップの拡大縮小アニメーションで、フォ ントのスケールが0のままで拡大されるバグ 調査の時間が取れなかったので、縮小の最小値を0.8、アニ メーション再生時間を短くすることで暫定対応
  35. 35. Unity2018.4(LTS)で発生したバグ ▪ Android9の端末で、開発環境に限り通信 が一切できなくなくなる
  36. 36. Unity2018.4(LTS)で発生したバグ ▪ Android9からHttp通信はAndroid Manifestに記載しないといけなくなる https://qiita.com/tarotarokun/items/926c02b8ab2c8ec8c5f0
  37. 37. Unity2018.4(LTS)で発生したバグ ▪ ただ、リリース日の前日、かつAndroid9を開発環境に繋げた時のみ (本番は全てHttpsに対応済)と状況のため… Android 9端末はしばらく開発環境で 使わない という画期的な方法でしのぎました (深夜4時頃に調査していたので頭が働いていませんでした)
  38. 38. ご静聴ありがとうございました!

×