> For the complete documentation index, see [llms.txt](/llms.txt)

# Game Server Services について



## Game Server Services とは何ですか？

ゲーム開発はこの30年間複雑化の一途を辿っています。
そんな環境に一石を投じたのが Unity / Unreal Engine といった汎用ゲームエンジンです。

かつて、ゲーム開発はコンテンツ制作に入るまでに、かなりの時間をかけてグラフィックやアセット管理、サウンドなどのゲームを作るための環境づくりを行う必要がありました。
これらの環境構築はタイトルごとに独立して行われ、タイトル間の情報共有も不十分な状態で開発が進められてきました。
その結果として様々な会社間で、あるいは様々なプロジェクト間で車輪の再発明が繰り返されました。

汎用ゲームエンジンはそれらの問題を解決し、ゲーム開発者はすぐにコンテンツ制作に入れるようになり
会社間・プロジェクト間で同じ技術スタックを採用することで、人材の流動性を高めても生産性を損なわない開発環境を手にすることができました。

しかし、これらのイノベーションの起点は10年以上前です。
この10年間でゲームのとりまく環境は大きく変化しました。それは、オンライン機能が前提となるゲーム開発が求められるようになったことです。

汎用ゲームエンジンのオンラインゲームサポートは不十分で、ゲームサーバーの開発はかつてのゲームエンジンのように各社・各プロジェクトで独自に行っています。
この生産性の低さについては、汎用ゲームエンジンで開発することが当たり前となった今、あえて説明するまでも無いでしょう。

Game Server Services はこの問題を解決するために、汎用ゲームサーバーとしてみなさんの開発効率化を実現するために誕生しました。

## Game Server Services は他のサーバーソリューションと何が違うのですか？

私たちは、長期にわたってゲームを収益化するためのサーバーソリューションを提供しています。
これは Game as a Service や、Live Gaming と呼ばれる領域をサポートするためのソリューションと言い換えることができます。

Game as a Service の代表的なゲームジャンルは MMORPG でしょう。
Game as a Service はゲームの中でもごく一部のジャンルにのみ適用されると考えているなら、それは大きな間違いです。

Game Server Services は日本で生まれました。
日本ではスマートフォンが登場するより前、Facebookゲームから始まったうねりである「ソーシャルゲーム」で芽吹いた Game as a Service が現在のスマートフォンのゲームメカニクスを支えています。
そして、日本では今ではかつてほど家庭用ゲーム機向けのゲームを開発することに熱心ではありません。
ここ数年は揺り戻しで家庭用ゲーム市場を再評価する流れもありますが、企業の収益の源泉はスマートフォンで展開している Game as a Service スタイルのゲームによるものです。

世の中の多くのソリューションは「オンライン対戦」にフォーカスしている中「ソーシャルゲーム」を支えるために必要となるゲームサーバーを提供しているのが最大の特徴です。

### Game as a Service のためにどのような機能が提供されていますか？

他社ソリューションは、プレイヤーデータをバイナリデータとして保存することを基本としたソリューションを提供しています。
この方法は柔軟性がありますが、問題を抱えています。

1つめはデータ分析が困難であることです。Game as a Service を実現するには、ゲーム内で流通している資源の総数や消費量を適切に分析し、健全な環境を作り続ける必要があります。

2つめはチートが可能になることです。Game as a Service を実現するにはプレイヤーの資源は適切に管理し、ゲーム世界の秩序を守らなければなりません。

Game Server Services では、ゲーム内の用途ごとにマイクロサービスを設計し提供するという凄まじく労力のかかる取り組みをしています。
例えば以下のような機能を提供しています。

- ストーリー進行管理
- 所持品
- 図鑑
- アバター・装備・パーティ編成
- 経験値・レベル
- 回数制限
- イベントスケジュール管理

ストーリー進行管理を適切に分析可能な状態で保持することは Game as a Service にとって重要です。
なぜなら、全体の1%しかストーリーを最後まで終えていないのに、追加のストーリー開発のために多大な労力を割いているとしたらどうでしょうか？
それは無駄ですね。
ストーリーの追加より先に「なぜみんな最後まで遊んでいないのか」を分析し、そこを改善しより多くの人が現存するストーリーを終えるようにゲームを改善するべきでしょう。

所持品の管理も重要です。これはプレイヤーが資産を失わないためにサーバーで管理するのはもちろん、ゲーム内で流通しているアイテムの総量や、消費数量を開発側が把握することが重要です。

プレイヤーが最も必要としているアイテムは何か？ゲーム内の通貨が余りまくっていて、もはや存在意義を失った状態になっていないか？
そういった状態を分析し、イベント報酬に最も必要としている資源を追加することでプレイヤーのモチベーションを高めたり、余り気味の資源をより多く消費するためのコンテンツを投入したりすることができます。

このように、Game as a Service はゲーム内の経済をより健全な状態にするためにはデータの分析が必要不可欠です。
しかし、バイナリデータでプレイヤーデータを保管していたのでは、それはままならないでしょう。

## 基本的な用語

GS2 を利用する上で頻繁に登場する重要な用語をいくつか紹介します。

### GS2-Identifier
GS2 のリソースにアクセスするための「ユーザー」や「アクセス権限（ポリシー）」、API呼び出しに必要な「クレデンシャル（クライアントID/シークレット）」を管理するサービスです。

### GS2-Deploy
AWS CloudFormation のように、YAML形式のテンプレートファイルを用いて GS2 のリソース（ネームスペースやマスターデータなど）を自動構築・管理するサービスです。

### ネームスペース
各サービス内で作成される、データや設定を分離するための独立した空間です。例えば「開発用」「本番用」といった用途ごとにネームスペースを作成して使い分けます。

## 準備はできましたか？

あなたの興味に応じて次に読むべきコンテンツは変わります。

- [Game Server Services で出来ることについてもっと知りたい]()
- [Game Server Services を利用した開発の流れについてもっと知りたい]()
- [Game Server Services の利用料金についてもっと知りたい]()
- [Game Server Services の機能拡張についてもっと知りたい]()
- [Game Server Services の SDK をダウンロードしたい]()
- [Game Server Services の APIリファレンスを見たい]()






- [Game Server Services のコンセプト](/ja/overview/concept/)
  
- [開発の流れ](/ja/overview/workflow/)
  
