Unityのモバイルゲーム。 最初のパンケーキ...

画像



Unityでパズルゲームの作成を完了し、Google PlayとAppStoreでリリースした後、体験と感想を共有したいという要望がありました。 そして建設的なコメントや提案があれば、それを入手してください。





チームワーク



そのため、このプロジェクトはUnity 4.5 Freeで行われ、仕事と家事の自由時間に5人の人々が努力しました。 チームワークを整理するために、Bitbucketサービスを使用しました-最大5人までが無料でプロジェクトに追加できます。 バージョン管理システム-Git。 私が理解しているように、Unity PROには独自のバージョン管理システムがありますが、PROを購入せず、ハッキングしないことに決めました-yuzali Free



最初に遭遇した問題は、さまざまな開発者によって行われた変更のマージがかなり難しいことでした。 Unityプロジェクトファイル-フォーム、プレハブなど。 -独自の形式があり、テキストファイルがマージされない方法。 その結果、私たちは単に責任を共有しました。1人のフォームまたは1つのプレハブを同時に複数の人が支配しませんでした。 これは、タスクが正しく分散されていれば簡単に実現できます。 もちろん、C#のスクリプトファイルに問題はなく、同時に修正されました。



性能



彼らはプロジェクトを2Dで行うことにしました。 最終的な画像は、3つの層で構成されています:基板、要素の影、要素



画像



後でデバイスでゲームをテストしたところ、FPSが非常に低く、約20で、バッテリー消費が非常に少ないことがわかりました。 問題は、半透明の影のレイヤーを表示することにあることが判明しました。 レベルではそれらの多くはありませんが、Unityではパフォーマンスが完全に低下します



最適化を開始しました-要素のテクスチャのサイズを縮小し、アトラスでテクスチャを収集しました。 FPSは高くなりましたが、バッテリーはまだ非常に速く着陸しました。 次に、ユーザーが要素を動かさず、アニメーションがない瞬間にFPSを下げるメカニズムを作成しました



これは次のようなものです。さまざまなアニメーションとユーザーアクションがキーとして機能する辞書があります。 各キーは整数(カウンター)に関連付けられています。 アニメーションまたはアクションはカウンターを増加させ、完了すると減少します。 すべてのキーにカウンター== 0がある場合、FPSを下げます。



Application.targetFrameRate = Constants.CountFPS_Min; // == 10、この場合



何かが発生するとすぐに、同様に制限を削除します。 この簡単なトリックの後、バッテリーの問題を忘れました



個別のトピックは、Unityのフォントと一般的にGUIで突き合わせて使用​​できます。 非常に簡単な仕事ではありませんでした。 しかし、幸いなことに、Unity 4.6では、すべてが大幅にやり直されて改善されたので、そこで止まりません。



リリース



Google Playでのリリース時に、私たちはいくつかのサイトやフォーラムでゲームについて書きました。 これにより、ダウンロードの最初のピークが得られました。



画像



それから、パズルセクションの「人気上昇中」に到達しました。 その後、すべてが1日あたり150ダウンロードのレベルで落ち着きました。 次のピークは3週間後です。主要な競合他社である「Lazors」と「Dr. レーザー。」 現在、1日あたり200回のダウンロードがあります



ゲームには内部購入があります。レベルを経ることなくチャプターを開いたり、ヒントを購入したりできます。 ヒントは最も需要があり、特に最小のパッケージ-1ドルで20ヒントです。 1日あたりの純利益は約200ルーブルになりました。



興味深い観察:ゲームの改善、音楽の追加、より複雑なレベル、デザインの変更など。 -ゲームの評価(検索の場所)およびダウンロード数の増加にはつながりませんが、購入数は増加します。 このように



プロのデザイナーがいない場合、自分でアイコンをいじる:



画像



別の興味深い観察結果:コマーシャルを作成するために数日を費やした後、アプリケーションページにアクセスする非常に少数の人々がそれを閲覧していることがわかりました。 それは価値がありましたか?



Google Playのリリースから1か月後、AppStoreに行くことにしました。 また、いくつかのフォーラムで最小限の広告で。 出力は次のようになりました。



画像



ローズアンドフォール...最初の5日間でダウンロード数が1.5千ドル、45ドルになりました。その後、すべてが1日あたり30ダウンロード、1日の収入が2ドルになりました。



次の決定が行われました。AppStoreからゲームを削除し、ファイナライズして新しい名前で投稿しました。 Double#2ができました。少し後で、この決定がもたらしたものを説明できます



分析とショッピング



ある時点で、ゲームに分析コレクションを追加することにしました。 Unity GoogleAnalyticsV3のプラグインを使用してGoogleアナリティクス(以降-GA)を追加しました。 分析の統合はまったく複雑ではありません。 興味がある場合は、別の記事でこれがどのように最適であるかを説明できます



GA Webインターフェースでのデータの表示は、最も便利ではないことに注意してください。 データをXLSにエクスポートし、Excelで既に使用しています。 また、GAでの分析の記録は、指定されたテンプレートのフレームワーク内でのみ可能です。 ユーザーの行動を真剣に分析する場合は、おそらく統計サーバーを使用して、必要な形式で情報を収集する必要があります。 まあ、まだ他の統計サービスがあります-同じFlurry。 しかし、彼らについては何も言えません。



最後に、私たちが遭遇した1つの問題についてお話しします。 私の警告が誰かを助けることを願っています



内部購入を整理するには、Soomlaプラグインバージョン1.5.3を使用します。 一週間前、私たちはゲームに新しい購入を追加しました-第6章のオープニング。 彼らは自分自身を電話にインストールし、すべてが機能することを確認しました。 Google Playに注いだ。 そして、たくさんの怒ったレビューを得ました! なんで? -結局のところ、ゲームの最初のインストール中に、すべての購入が正常に機能するためです。 しかし、ゲームを更新するときに、Soomlaは新規購入を選択せず​​、ユーザーは第6章で興味深いバグを発見しました。 おそらく事実は、Soomlaが買い物リストを電話にキャッシュし、更新時に新しいリストを見つけられないということです...



次のアップデートでこの問題を回避しました。 しかし、グローバルな結論はそれ自体を示唆しています。ゲームを更新するとき、ゲームが「クリーンインストール」でどのように動作するか、更新がどのように正しく行われるかをテストする必要があります。



エピローグ



このプロジェクトは私たちにとってデビューです。 私たちは一緒に働くことを学び、UnityとMarketでいくつかのコーンを埋めました。 別の、大きくて深刻なプロジェクトが先にあります。 そして、うまくいけば成功です!



私は経験を議論し、交換できることを嬉しく思います!



All Articles