Raspberlyのブログ

Raspberlyのブログ

Unityネタをメインとした技術系ブログです。にゃんこ大戦争や日常なども。そろそろブログタイトル決めたい

勉強会レポ : Indie Games Festival 2019 キックオフ イベント [Unity セミナー]

 

勉強会のレポート(メモ)です。
参加したのはこちら、「Indie Games Festival 2019 キックオフ イベント」、
の午前に開催されたUnityセミナー「ゲーム制作に集中するための便利サービス & 時間節約術」です。

events.withgoogle.comハッシュタグ : #indiegamesfestival

 

 

 

ゲーム制作に集中するための便利サービス & 時間節約術

f:id:Raspberly:20190303155801j:plain

スライドは後日公開されます。
公開されました。

t.co



対象者

・個人開発者
・自作するのがめんどうな方
・ゲーム以外に時間をかけたくない方


話すこと

開発時困ることやビルド時間の節約方法。

まれによくある困ることについて

 

 

 

 

 

Unity Collaborate

ありがちな問題点

・ファイルの同期、バージョン管理ができない。
・名前に日付を含めて保存する。
USBメモリクラウドで受け渡し。
こういう問題に対しみんなはgitを使っているらしい。
しかしgitは学習コストが高い・・・


そこで簡単なバージョン管理方法にcollaborateがあります。

できること

・チームメンバとプロジェクトを共有(エディタの中で完結します)
・ただしこれはgitのように分散管理ではなく一元管理になります。
・さらにリアルタイムで別の人が編集しているファイルを知ることができる。

ただし無料でできる範囲は限られている注意。

できないこと

分散管理ではない、ブランチもきれない。

使いどころ

・プロトタイプ作成
・短期開発
・特に学習コストはない

もっと機能が欲しい時はgitを覚えた方がいい。
こちらのテラシュールブログを読んでおくといいでしょう。

tsubakit1.hateblo.jp

 

 

 

 

Unity Cloud Build

効率よくビルドしたい。しかし実機ビルドは長くなる。
プロジェクトサイズが大きくなると当然長くなる。
しかもビルド中は操作できないため開発が止まる。

これをなんとかして節約したい

 


ビルド専用マシンを用意するという対策もある。
しかしコストがかかるし手間。


いい感じにビルドしたい・・・そういう時にCloud Build
クラウド上でプラットフォームごとのビルドができる機能です。

できること

・開発用のPCを使わずビルドできる
・複数のビルドが同時にできる
・自動ビルド、さらのビルド完了のメールも送ってきてくれる。

しかしそもそも有料、同時ビルド数増やすのもお金がかかる

できないこと

・バージョン管理されてないソースコードからビルドはできない
・そのままストアにアップロードはできない


使いどころ

・環境を用意できない、めんどくさい方
・ゲーム制作に集中したい方に

もっと先のことがしたい

JenkinsなどCI(継続的インテグレーション)について勉強しましょう。
つよつよビルドマシンを買う。
Cloud Buildエンタープライズを使ってみる。

 

 

 

 

 

 

 

Remote Settings

リリース後のお話。

ゲーム内の設定や値を変えたい。
しかしいちいち書き直して再ビルドは時間と手間がかかる。


ではどうするか。
外部のサーバーを用意して、値を取得するようにする。
そういう手段もあるが、これもいろいろ考えることがふえる。つまりめんどくさい。

手軽にやる方法としてRemoteSettingsがあります。
ゲーム内の設定をダッシュボードからリアルタイムに書き換えることができる。
KeyValue形式で値で操作する。

具体的な利用例

・ライフやHPなどで難易度調整
・セリフの差し替え(季節ごとに変えるなど)
・ランダム性のあるくじびきの確率変更(ほんとはやらないほうがいい

できること

・ゲーム内の値をリアルタイムで更新できる
・アプリ更新しなくてもよい
・地域、国ごとに設定できる(IAPを使っている場合は課金勢、無課金勢で値をわけることがきでる)

できないこと

・値の変更はスケジュール管理ができない(自動で値の管理はできない)
・画像を登録することはできない
・ユーザデータの保存はできない

使いどころ

・プレイヤーの反応を見ながら値を調整したい時
・簡単なお知らせメッセージを表示、頑張ればJSONをいれることもできる
・ゲーム内のフラグをダッシュボードから操作する
効果的な利用案募集中です。

もっと先のことがしたい

・結果を分析すること
  値を変更したことによってユーザの動きはどうかわるのか
  ゲーム内のKPIはどう推移したか
・次に生かすためにちゃんと記録しましょう
・ちなみに無料で使えます

 

 

 

 

Unity Diagnostics

エラーやクラッシュのレポートを取得したい

アプリ公開後のユーザからの不具合報告で、
「エラーが出る」「アプリが落ちる」などいろいろレビューがきても、ログをもらえることは少ない。
再現の条件がわかりづらくもっと情報がほしい時にどうするか、自動化できないか。

 

そこで登場するのがDiagnostics(ダイアグノースティックス)です。
クラッシュレポートや例外、任意のフィードバックをもらうことができる機能。
まだpreview版だが使うことはできます。

Crashes and Exceptions

クラッシュと例外のレポートをクラウド上から取得。メタデータを含めることもできる。
シンボルファイルもダッシュボードで設定できる。

User Reporting

ユーザが任意でレポートを送信できる機能、スクショも含めることができる。
レポートはダッシュボードから見ることができる。


できること

・レポートの収集ができる
・ユーザレポートの収集もできる
・起きた瞬間に自動でレポートが送信される(ネットにつながった瞬間)

ただしライセンスによって上限が設定されているので、そこはお財布と相談。

できないこと

・レポートが送られていても返信できない、完全一方通行。
・質問がきても回答できない。

使いどころ

・とりあえずONにしておけばデータが集まる
・不具合報告の機能を簡単にいれることができる

公式のドキュメントにはない(preview版なので)、詳細はgithubに書かれています。
含まれているサンプルをいじっていくといいでしょう。

 

 

 

本日のまとめ

 

 

 

タイムライン

 

 

参考資料

近い内容を取り扱った講演

learning.unity3d.jp

 

 

 

 

 

 

Collaborateは昔コロプラさんの1dayインターン内のゲームジャムで使った記憶。
当時はGitなんてコミットプッシュプルくらいしか知りませんでしたがとても簡単に扱えました。
Gitが使えるのならGitでいいかと思いますが、他の人が編集中のファイルを知ることができるのは便利。
いちいち「これからこのファイルいじります」宣言などしなくていいのも楽ですね。

 

RemoteSettingは大変便利そうですね。
画像を含めることはできないので、画像は最初から入れてフラグ変数の書き換えで表示を切り替えるみたいな処理が必要みたい。
同じ感じで任意のタイミングでステージ解放とかも。