ソーシャルネットワークでのゲームの発売の歴史



2013年の春の終わり頃、私はGoogle Playのスタートがうまくいかなかっという話をしました 。 iOSヒッチでは、VKでゲームを投げてOKにすることにしました。 この記事では、ソーシャルネットワークでアプリケーションを起動する機能を共有したいと思います。また、リリース前後に発生した問題について説明します。



Webプレーヤーバージョンの機能





このプラットフォームでは、「ソウルレス」なプロジェクターだけでなく、 動的なシャドウを有効にして、テクスチャの鮮明度を高め、グローバルな品質パラメーターを改善することが可能になりました。 Androidに「Fast」があった場合、ここで「Good」を安全に選択できます。



また、ゲームのフッターも必要でした。 通常、有用な情報、友人を招待するボタン、グループへのリンクが含まれています。 Unity3dにだまされないことを決め、HTMLで直接作成しました。





サーバー側の準備



ウェブ版では、キャリア、格付け、支払いの信頼できる保存について疑問が生じました。 これがないと、アプリケーションは劣っています。 おなじみのPHP + MYSQLバンドルに目を向けましたが、これはすでに少し知っていました。 出版社はこの決定に否定的に反応しました(PostgreSQLに切り替えることをお勧めしました)が、私にとっては簡単だったので、私は耳を傾けず、自分のやり方でそれをしました。



DB構造、必要なデータはすべてここに保存されます






メインのserver.php ファイルは約300行で出力され、次の機能について説明しています。



プレーヤーはこのファイルにPOSTを介してデータを送信し、データベースに書き込みます。 非常に安全ではありませんが、md5を介して署名するなど、学童から保護する簡単なチェックがいくつかあります。



答えは次のようなものです。

{"id":"4","name":"Nolex","lvl":"7","coins":"9034","stamina":"40000","kill_zombies":"6952"}
      
      





これはJSONです。Unity3dの場合、JsonFx.Jsonライブラリを使用することをお勧めします。



評価はゲームの重要な要素であり、プレイヤーがそこでどのように競争するかを常に監視しているため、rating.phpスクリプトについて言及します。 8つのデータベースクエリがあり、そのうちの4つが後で気になり始めました。



 SET @rownum:=0; SELECT r2.`rank`, r2.`name`, r2.`points` FROM (SELECT @rownum:=@rownum+1 as rank, `salto` as `points`, `name`, `id` FROM `players` as `r1` WHERE `sn` = '1' ORDER BY `salto` DESC) as `r2` WHERE `id` = '999'
      
      





これは、選択したカテゴリ内の現在のプレーヤーの位置を決定するための問題のあるクエリの1つです。 プレイヤーがほとんどいなかった場合、すぐに合格しましたが、後でプレイヤーが増え、すべてが遅くなり始め、このオプションを削除しました。 ここで、プレイヤーがトップ100に入らなかった場合、下から「> 100」と表示され、その隣に獲得したポイントが表示されます。 私は別の解決策を思い付くことができませんでした。



その後、リリース後、 ゲームの別の管理者が登場し 、最新のデータの概要、すべてのソーシャルネットワークの統計セクション、データベースへのログ記録を伴うアラートの送信を実装しました。



バランス



Androidでのコンバージョン率が低いことと、ソーシャルネットワークでの偏狭な視聴者を考慮して、バランスを確認することにしました。 「エネルギー」の類似物-ガソリンを作りました。 終了すると、プレーヤーは待機するか寄付するかを選択できます。



消耗品を紹介した後、最も痛みがあり、同時に面白いことが始まりました-数字を設定します。 出版社( Herocraft )はより緊密なバランスを主張しましたが、反対に私はより柔らかかったです。 会話や論争は良いものにつながらなかったので、テストを信頼することにしました。



これを行うために、すべてのレースの完全なロギングを構成しました。 テスターが乗ってデータが表示されたので、平均的なプレーヤーがコインを獲得する量と各レベルでガソリンを消費する量を知ることができました。 次に、各レベルの燃料をカットします。 「降下」のレベルが過ぎず、プレーヤーがトラックの終わり近くで停止したことを確認する必要がありました。 これは、プレイヤーを引き付けることを目的とした最初のレベルには適用されません。 これは重要です。



低燃料警告ウィンドウ






ソーシャルネットワーク統合



最初はVKに統合しましたが、初めてではないので簡単でした。 APIから私は少し必要でした:



それから私はOKに進みました、ここではすべてがより複雑です。 APIは馴染みがなく、サンドボックスは不快ですが、すぐに慣れます。 まず、法人(ここに出版社)が必要です。 OK機能のうち、四角いアイコン(エッジの鋭い)、ロシア語でのゲームの名前、細心の注意(5回目から合格)を選択できます。



ゲームの発売



静的ファイルがパブリッシャーにクラウドにアップロードされました(サイズが22 MBの* .unity3dファイルといくつかの写真があります)。 PHP + MYSQLは脆弱なサーバーでホストされており、パートナーと一緒に月40ドルでレンタルします。 すべてが正常であることを考慮して、私たちはローンチを開始しました。



VKではすべてが非常に迅速に行われ、チェックボタンをクリックしました(手順は無料で、10ボイスがデポジットとして受け取られます)。 同日、申請は承認され、「新規」ブロックに分類されました。 最初のトラフィックが行きました。





サーバーは正常に動作しましたが、望みどおりには動作しませんでした。 リクエストはかなりゆっくりで、時には3秒の遅延があったので、私は友人に頼みました。彼はヘッツナーで良い関税計画を立てていました。

トップのゲームは約1週間続き、毎日低下しました。 1日5〜7kのインストールがありましたが 、その後2kに落ちました。



ほぼすぐに、アラートのメーリングリストを設定し、毎日ガソリンを回収したプレーヤーにアラートを出そうとしました。



次に、打ち上げはOKで計画されました。 リリースは27日に割り当てられましたが、なんらかの理由でゲームがリリースされ、7月24日に「New」にヒットし、その後多数の人々の流入によりサーバーが病気になりました。



MySQLデータベースのダウンロード






このように、私の友人のサーバーは屈み、彼に「ありがとう」と言いました(ところで、サーバー上にお金をもたらす大きなプロジェクトが1つありました)。 ブレーキが現れ、時々 「502 Bad Gateway」というエラーノックアウトされました。 この状況は約1日でした。



このようなイベントの変化を期待せずに、ゲームをサーバーに戻すことにしました。 引っ越してから20分後に転んだので馬鹿だった。



最近プレイして「遅れ」に直面したすべてのプレイヤーに、私は1000枚のコインを投げてニュースレターを作成しました。 これは、そのような状況では良い習慣です。



最終的に、パブリッシャーのサーバーに移動しました。パブリッシャーでは、今日までゲームが適切に機能しています。 ところで、サーバーは非常に興味深いものであり、常にキャッシュされています。 Sftp phpファイルの編集は、数分後に有効になります。 あまり便利ではありませんが、負荷を最適化するためのある種の「トリック」のようです。



ゲームの登録のグラフ、ここでは、VKとOKでのトラフィック量をおおよそ見ることができます






支払いの場合と同じ状況について、OKにはさらに多くの状況があり、そこからトラフィックが「太っている」と結論付けることができます。



いくつかの数字と結論





要約すると、ソーシャルネットワークで同様のゲームを公開することにはあまり意味がなく、より多くのスポーツへの関心があったと安全に言うことができます。 いずれにせよ、プロセス全体を観察し、影響を与えることは非常に楽しかったです。



All Articles