Upgrade to Pro — share decks privately, control downloads, hide ads and more …

スマホゲームサーバーのしくみをしってみよう

 スマホゲームサーバーのしくみをしってみよう

Takuma Kajikawa

October 29, 2018
Tweet

More Decks by Takuma Kajikawa

Other Decks in Programming

Transcript

  1. スマホゲームのゲームサイクル - キャラ育成 → バトル/クエスト → キャラ育成 →.. - シングル

    + マルチプレイモード - マルチプレイではよりリアルタイム性が求められる
  2. 課金モデル - 無料 + アプリ内課金 - ガチャ、スタミナ回復、時短など - 高可用性が求められる -

    ガチャが引きたい時に引けない… - せっかく時短したのにサーバー障害…
  3. データストア - DB (MySQLやPostgreSQLなど) - 永続化データ - KVS (RedisやMemcachedなど) -

    キャッシュ、アクセス頻度が高く消えても問題ない - ログ(BigQueryなど) - 分析用のデータ
  4. ルーム入場からバトル開始まで 1. CL → API: パーティ参加リクエスト 2. API → DB:

    パーティがあるか確認、なければ作成 3. API → CL: Battleサーバーの接続先を返す 4. CL → Battle: ルーム作成リクエスト 5. CL → API: Battle開始
  5. バトル中 1. CL → Battle: コマンドを送信 2. Battle → CL:

    バトル情報を返す 3. Battle → CL: イベント発生を通知
  6. バトル終了 1. CL → Battle: バトル終了リクエスト 2. Battle → CL:

    ルームを削除し、切断 3. CL → API: リザルトのリクエスト 4. CL → API: パーティを解散