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.
モバイルオンラインゲームに
ついて

KLab株式会社 藤田



はじめに

● このセッションの目的

○ モバイルオンラインゲームの概念、その仕組みやメリットについて 

イメージを掴んでもらう 

○ 後のセッションの基礎知識を提供する 

● 今までサーバサイドに触れたことないよって人を想定してお話し...
自己紹介

● 藤田 正樹(ふじた まさき)

○ KLab株式会社 サーバエンジニア 

○ 19年新卒入社(3年目) 

○ プログラミングを始めたのは大学に入ってから 

■ 在学中は趣味でスタンドアロンでのゲーム制作をする(C++、Un...
モバイルオンラインゲーム

とは?

4
モバイルオンラインゲームとは

5
● 概ねクライアント・サーバモデルに基づいて実装したモバイルゲームを指す

○ 対義語:スタンドアロンモデル → おそらく皆さんにとって身近なのはこっち 

○ 当社で配信しているゲームは基本的にクライアント...
クライアント・サーバ/スタンドアロン

● 一般的な意味では

○ PCやスマートフォンなどの端末上で単体で動作するソフトウェアをスタンドアロン、 

○ サーバと通信を行うことを前提としたソフトウェアをクライアント・サーバ方式と呼ぶ 

■ ...
クライアント・サーバ/スタンドアロン

● 一般的な意味では

○ PCやスマートフォンなどの端末上で単体で動作するソフトウェアをスタンドアロン、 

○ サーバと通信を行うことを前提としたソフトウェアをクライアント・サーバ方式と呼ぶ 

■ ...
クライアント・サーバモデルの

メリット・デメリット

8
クライアント・サーバモデルのメリット

 ゲームにおいてクライアント・サーバモデルを採用するメリットは色々ある

● ゲーム内コンテンツを定期的に更新できる

● チート・データの改ざんが比較的困難

● ソーシャル要素の導入



 これらの...
クライアント・サーバモデルのデメリット

 当然デメリットもある

● 開発・運用のコストが大きくなる

● 各種サーバ障害によるプレイ不可のリスク

● 通信を挟むため、プレイの快適さは劣化する場合がある



強力な選択肢だが、デメリットに...
余談

● 一見スタンドアロンに見えてクライアント・サーバを採用している場合も

● たとえば家庭用ゲーム機で動作するゲーム(いわゆるCSゲーム)はスタンドアロン
が基本だが、近年のCS機はインターネット接続機能が標準搭載されているため、ク
ラ...
余談

 結局どういうことかというと

● クライアント・サーバモデルに触れる上で、スタンドアロンモデルとはそこまで別物と
して考えなくてもいいよという話

● とりあえず今回は当社で開発しているような運用型オンラインゲームを想定したク
ライア...
モバイルオンラインゲーム

のしくみ

13
モバイルオンラインゲームのしくみ

14
 もとい、モバイルオンラインゲームにおけるクライアント・サーバモデルのしくみ

○ 色々と用語を言いますがイメージだけでも掴んでもらえると 

クライアント・サーバモデルのしくみ

● アプリケーションの構成要素はク
ライアントサイド・サーバサイドに
分類される

15
クライアント
 サーバ

クライアント・サーバモデルのしくみ

● クライアントサイドはプレイヤーの端
末内に保存されたアプリによって構
成される

○ スタンドアロンとの違いとして、このアプリ
はサーバとの通信を前提としたつくりに
なっている

16
クライアント
 ...
クライアント・サーバモデルのしくみ

● クライアントサイドはプレイヤーの端
末内に保存されたアプリによって構
成される

○ スタンドアロンとの違いとして、このアプリ
はサーバとの通信を前提としたつくりに
なっている

● サーバサイドは複数...
サーバサイドを構成する要素

● サーバサイドは複数のサーバによって構成される

● サーバの種類は色々あるが、ここでは代表的なものを紹介

○ ゲームサーバ

○ データベースサーバ 

18
サーバサイドを構成する要素

● ゲームサーバ

○ サーバサイドにおけるメインの処理を担当するサーバ 

○ クライアントからの通信に対し、必要なデータの読み出しや書き込み、各種計算を行い、クライアン
トへと必要なデータを返すのが仕事 

○...
サーバサイドを構成する要素


 ● データベースサーバ

○ 一般的にはデータを保存、管理、検索する機能を備えたサーバ 

○ 今日はゲームの話なので、ざっくり全プレイヤーのセーブデータを一元管理するものがこいつだと
思ってもらえばOK

○...
サーバサイドを構成する要素

● 最後にetc部分に関連する概念も一
例を軽く紹介

○ アセット配信サーバ

○ マスターデータ

21
クライアント
 サーバ

ゲームアプリ ゲームサーバ
データベース
サーバ
etc…
サーバサイドを構成する要素

● アセット配信サーバ

○ アセットとはキャラクター画像や3Dモデル、音楽といったリソースのこと 

■ Unityやってる人はピンと来るかも? 

○ コンテンツ追加やバグの修正を可能にし、ユーザによる解禁前の...
サーバサイドを構成する要素

● マスターデータ

○ セーブデータとは別に、運営側で用意する 各種の設定データのこと。

■ 例えば敵・味方キャラクターのパラメータ、ステージの構成と報酬、イベントの設定… 

○ セーブデータは「ユーザが遊ぶ...
ゲームの流れに即して考えてみる

 最後に例としてゲームのメインとなる部分をプレイする際にサーバの構成要素がどの
ような役割を果たすかを考えてみる

● 例えばRPGだったらクエスト

● リズムゲームだったら楽曲パート

 

24
ゲームの流れに即して考えてみる

● プレイヤー視点から見たゲームの流れはだいたいこんな感じ


● このときサーバ側では何が起きているか?


25
クエスト一覧を開く
編成を選んでクエスト開始
クエストをプレイ
クエストクリアして
報酬受け...
ゲームの流れに即して考えてみる

● 外見上はクライアント上でゲー
ムが動いているように見える部
分も、背後ではこんな感じのや
りとりをしている

26
クエスト一覧を開く
編成を選んでクエスト開始
クエストをプレイ
クエストクリアして
報酬受...
ゲームの流れに即して考えてみる

● 各種データの取得・保存・処理がサーバ側の主な仕事といえる


● ゲームの中心となる部分では、通信によって快適なプレイを阻害しないためにあえて通信を挟
まないつくりにすることが多い

○ 通信に関してリアル...
まとめ

28
まとめ

● モバイルオンラインゲームではプレイヤーのセーブデータがサーバ上に保存される

● クライアント・サーバ方式を採用することで色々なメリットがある

○ 定期的なコンテンツ更新、チート・改ざん対策、ソーシャル要素の導入など 

● サ...
You’ve finished this document.
Download and read it offline.
Upcoming SlideShare
What to Upload to SlideShare
Next
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

Share

モバイルオンラインゲームについて

Download to read offline

KLab福岡Meetup「作って終わりじゃない!プロのゲームづくり」
https://klab-fukuoka-meetup.connpass.com/event/212061/
のセッション資料です。

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

モバイルオンラインゲームについて

  1. 1. モバイルオンラインゲームに ついて
 KLab株式会社 藤田
 

  2. 2. はじめに
 ● このセッションの目的
 ○ モバイルオンラインゲームの概念、その仕組みやメリットについて 
 イメージを掴んでもらう 
 ○ 後のセッションの基礎知識を提供する 
 ● 今までサーバサイドに触れたことないよって人を想定してお話します
 ○ 興味が生じた人は気になった単語を拾って色々調べてみる取っ掛かりにしていただけると幸いです 
 2
  3. 3. 自己紹介
 ● 藤田 正樹(ふじた まさき)
 ○ KLab株式会社 サーバエンジニア 
 ○ 19年新卒入社(3年目) 
 ○ プログラミングを始めたのは大学に入ってから 
 ■ 在学中は趣味でスタンドアロンでのゲーム制作をする(C++、Unityとか) 
 ○ 入社をきっかけにサーバサイドに転向 
 ■ 研修で触れてるうちになんとなく楽しそうなので 
 ■ なので多分みなさんに近い立場で話せるんじゃないかと… 
 3
  4. 4. モバイルオンラインゲーム
 とは?
 4
  5. 5. モバイルオンラインゲームとは
 5 ● 概ねクライアント・サーバモデルに基づいて実装したモバイルゲームを指す
 ○ 対義語:スタンドアロンモデル → おそらく皆さんにとって身近なのはこっち 
 ○ 当社で配信しているゲームは基本的にクライアント・サーバモデル 
 
  クライアント・サーバモデルってなんぞ?って人 → 次のスライドで説明

  6. 6. クライアント・サーバ/スタンドアロン
 ● 一般的な意味では
 ○ PCやスマートフォンなどの端末上で単体で動作するソフトウェアをスタンドアロン、 
 ○ サーバと通信を行うことを前提としたソフトウェアをクライアント・サーバ方式と呼ぶ 
 ■ その性質上、クライアント・サーバ方式の稼働には一般的にインターネット接続が必須 
 
 6
  7. 7. クライアント・サーバ/スタンドアロン
 ● 一般的な意味では
 ○ PCやスマートフォンなどの端末上で単体で動作するソフトウェアをスタンドアロン、 
 ○ サーバと通信を行うことを前提としたソフトウェアをクライアント・サーバ方式と呼ぶ 
 ■ その性質上、クライアント・サーバ方式の稼働には一般的にインターネット接続が必須 
 ● だが、特にゲームに関しては以下のように考えてもらえばOK
 7 セーブデータを端末上に保存→スタンドアロン方式
 サーバ上もしくは両方に保存→クライアント・サーバ方式

  8. 8. クライアント・サーバモデルの
 メリット・デメリット
 8
  9. 9. クライアント・サーバモデルのメリット
  ゲームにおいてクライアント・サーバモデルを採用するメリットは色々ある
 ● ゲーム内コンテンツを定期的に更新できる
 ● チート・データの改ざんが比較的困難
 ● ソーシャル要素の導入
 
  これらの利点は特に、継続して運用を行うオンラインゲームにて強力に働く!
 
 9
  10. 10. クライアント・サーバモデルのデメリット
  当然デメリットもある
 ● 開発・運用のコストが大きくなる
 ● 各種サーバ障害によるプレイ不可のリスク
 ● 通信を挟むため、プレイの快適さは劣化する場合がある
 
 強力な選択肢だが、デメリットについても理解して運用を行う必要がある
 10
  11. 11. 余談
 ● 一見スタンドアロンに見えてクライアント・サーバを採用している場合も
 ● たとえば家庭用ゲーム機で動作するゲーム(いわゆるCSゲーム)はスタンドアロン が基本だが、近年のCS機はインターネット接続機能が標準搭載されているため、ク ライアント・サーバモデル的な要素も多く取り込まれている
 ○ 定期的なイベント配信 
 ○ セーブデータのオンラインバックアップ 
 ○ 対戦・協力プレイのマッチング、ランキングなど 
 
  
 11
  12. 12. 余談
  結局どういうことかというと
 ● クライアント・サーバモデルに触れる上で、スタンドアロンモデルとはそこまで別物と して考えなくてもいいよという話
 ● とりあえず今回は当社で開発しているような運用型オンラインゲームを想定したク ライアント・サーバモデルについて話す
 12
  13. 13. モバイルオンラインゲーム
 のしくみ
 13
  14. 14. モバイルオンラインゲームのしくみ
 14  もとい、モバイルオンラインゲームにおけるクライアント・サーバモデルのしくみ
 ○ 色々と用語を言いますがイメージだけでも掴んでもらえると 

  15. 15. クライアント・サーバモデルのしくみ
 ● アプリケーションの構成要素はク ライアントサイド・サーバサイドに 分類される
 15 クライアント
 サーバ

  16. 16. クライアント・サーバモデルのしくみ
 ● クライアントサイドはプレイヤーの端 末内に保存されたアプリによって構 成される
 ○ スタンドアロンとの違いとして、このアプリ はサーバとの通信を前提としたつくりに なっている
 16 クライアント
 サーバ
 ゲームアプリ
  17. 17. クライアント・サーバモデルのしくみ
 ● クライアントサイドはプレイヤーの端 末内に保存されたアプリによって構 成される
 ○ スタンドアロンとの違いとして、このアプリ はサーバとの通信を前提としたつくりに なっている
 ● サーバサイドは複数の種類のサー バによるネットワークで構成される
 → 次ページ以降で詳しく解説
 17 クライアント
 サーバ
 ゲームアプリ ゲームサーバ データベース サーバ etc…
  18. 18. サーバサイドを構成する要素
 ● サーバサイドは複数のサーバによって構成される
 ● サーバの種類は色々あるが、ここでは代表的なものを紹介
 ○ ゲームサーバ
 ○ データベースサーバ 
 18
  19. 19. サーバサイドを構成する要素
 ● ゲームサーバ
 ○ サーバサイドにおけるメインの処理を担当するサーバ 
 ○ クライアントからの通信に対し、必要なデータの読み出しや書き込み、各種計算を行い、クライアン トへと必要なデータを返すのが仕事 
 ○ クライアントからの通信のほとんどはここに集約されるのでとても負荷がかかる 
 ■ 負荷軽減、故障対策としてゲームサーバは並列に複数台設置することが多い 
 ○ ゲームサーバというと抽象的な表現だが、概ね実態は webサーバ
 ■ 一般的なwebサイトを提供するサーバとやってることは同じ 
 ■ webページ(htmlテキスト)をやりとりするか、データ(json等)をやりとりするかの違い 
 19
  20. 20. サーバサイドを構成する要素
 
 ● データベースサーバ
 ○ 一般的にはデータを保存、管理、検索する機能を備えたサーバ 
 ○ 今日はゲームの話なので、ざっくり全プレイヤーのセーブデータを一元管理するものがこいつだと 思ってもらえばOK
 ○ サーバ上ではデータベース管理システム が稼働しており、これがデータの管理や検索を効率よく行 うための機能を提供してくれる 
 ○ 世の中で使われているデータベース管理システムにはいろいろ選択肢がある 
 ■ MySQL、PostgreSQL、Redis、etc… 
 ● それぞれ利点があるので、併用することも多い 
 20
  21. 21. サーバサイドを構成する要素
 ● 最後にetc部分に関連する概念も一 例を軽く紹介
 ○ アセット配信サーバ
 ○ マスターデータ
 21 クライアント
 サーバ
 ゲームアプリ ゲームサーバ データベース サーバ etc…
  22. 22. サーバサイドを構成する要素
 ● アセット配信サーバ
 ○ アセットとはキャラクター画像や3Dモデル、音楽といったリソースのこと 
 ■ Unityやってる人はピンと来るかも? 
 ○ コンテンツ追加やバグの修正を可能にし、ユーザによる解禁前の解析を防ぐため、これらのリソー スはアプリとは独立してダウンロードし、サーバ側から適宜更新できるようにする場合が多い(いわ ゆるデータダウンロード)。それを配信するためのサーバ 
 22
  23. 23. サーバサイドを構成する要素
 ● マスターデータ
 ○ セーブデータとは別に、運営側で用意する 各種の設定データのこと。
 ■ 例えば敵・味方キャラクターのパラメータ、ステージの構成と報酬、イベントの設定… 
 ○ セーブデータは「ユーザが遊ぶことで変化するデータ」なのに対して、マスターデータは「不変の データ」であるためこれらは区別して扱うことが多い 
 ○ ゲームの中身が詰まっているのでゲームの運用にはとても大事な概念 
 23
  24. 24. ゲームの流れに即して考えてみる
  最後に例としてゲームのメインとなる部分をプレイする際にサーバの構成要素がどの ような役割を果たすかを考えてみる
 ● 例えばRPGだったらクエスト
 ● リズムゲームだったら楽曲パート
  
 24
  25. 25. ゲームの流れに即して考えてみる
 ● プレイヤー視点から見たゲームの流れはだいたいこんな感じ 
 ● このときサーバ側では何が起きているか? 
 25 クエスト一覧を開く 編成を選んでクエスト開始 クエストをプレイ クエストクリアして 報酬受け取り
  26. 26. ゲームの流れに即して考えてみる
 ● 外見上はクライアント上でゲー ムが動いているように見える部 分も、背後ではこんな感じのや りとりをしている
 26 クエスト一覧を開く 編成を選んでクエスト開始 クエストをプレイ クエストクリアして 報酬受け取り マスタデータからクエスト一覧を取得 データベースからクリア状況を取得 現在遊べるクエストの一覧を計算する データベースから編成データを取得・保存 マスタデータから報酬を取得 報酬の抽選をする クリア状況をデータベースに保存
  27. 27. ゲームの流れに即して考えてみる
 ● 各種データの取得・保存・処理がサーバ側の主な仕事といえる 
 ● ゲームの中心となる部分では、通信によって快適なプレイを阻害しないためにあえて通信を挟 まないつくりにすることが多い
 ○ 通信に関してリアルタイム性が高いゲームの場合は話が変わってきたりも 
 ● クライアントとサーバで適切に役割を分担してゲームを作っていくことが大事 
 27
  28. 28. まとめ
 28
  29. 29. まとめ
 ● モバイルオンラインゲームではプレイヤーのセーブデータがサーバ上に保存される
 ● クライアント・サーバ方式を採用することで色々なメリットがある
 ○ 定期的なコンテンツ更新、チート・改ざん対策、ソーシャル要素の導入など 
 ● サーバサイドは複数台のサーバによるネットワークで構成される
 ○ 主なサーバとしてゲームサーバ、データベースサーバがある 
 29

KLab福岡Meetup「作って終わりじゃない!プロのゲームづくり」 https://klab-fukuoka-meetup.connpass.com/event/212061/ のセッション資料です。

Views

Total views

115

On Slideshare

0

From embeds

0

Number of embeds

61

Actions

Downloads

1

Shares

0

Comments

0

Likes

0

×