GS2 Blog

Game Server Services(https://gs2.io/) の最新情報をお届けします

【登壇情報】酒とゲームとインフラとGCP

みなさん、こんにちは。GS2 CEO の丹羽です。

来週月曜日に開催される 酒とゲームとインフラとGCP で登壇しますので、お知らせします。

f:id:kazutomo:20170214170457p:plain

題目は『サーバレスとマルチクラウド』です。
GS2 は AWSGCP を組み合わせてサービスを開発しているというのは公表していますが、
それぞれのプラットフォームの類似サービスの性質の違いについてざっと解説することで、どのように使い分けるのがいいのか。というお話です。

ご興味があればお越しください。

connpass.com

それでは、また。

GS2 SDK for Unity のリリースと無料枠の拡大のお知らせ

みなさんこんにちは。GS2の丹羽です。

GS2 SDK for Unity

先日告知しておりました GS2 SDK for Unity と4つの新サービス+未発表の1サービスをローンチしました。
GS2 SDK for Unity の詳細は こちら のドキュメントを参照ください。

4つの新サービス+未発表の1サービス

続けて、新しくローンチしたサービスについてです。

GS2-Account

アカウント管理システムです。
機種変更時にデータを引き継ぎできるようにしたりするのに利用できます。

GS2-Key

GS2サービス内で利用できる暗号鍵を管理し、暗号化・復号化処理をセキュアに実行できます。

GS2-Script

GS2サービス内の様々なイベントをトリガーとて実行できるスクリプトLua言語で定義できるサービスです。

GS2-Variable

一時的(最長1時間)な変数をサーバに保持できるサービスです。
マイクロサービス間のデータのやりとりや、一時的なデータを保持する簡易データベースとして利用できます。

GS2-Formation(今回新規発表)

GS2 のリソースをプログラマブルに定義してデプロイできるようにするサービスです。
当面は GS2 SDK for Unity の初期設定にのみ利用できますが、
将来的には yaml ファイルで独自に定義したリソースのデプロイに利用できるようになります。

無料枠の拡大

よりGS2 をお気軽に利用開始いただけるよう無料枠の拡大を行いました。
改定の内容は以下です。

GS2-Auth API呼び出し回数の無料枠を拡大 1,000回 → 100,000回
GS2-Matchmaking API呼び出し回数の無料枠を拡大 1,000回 → 100,000回
GS2-Matchmaking matchmaking1.nano の無料枠を新設 5円/時 → 月間750時間 無料(アカウント登録から1年間)
GS2-Ranking カテゴリAのAPI呼び出し回数の無料枠を拡大 1,000回 → 10,000回
GS2-Ranking カテゴリBのAPI呼び出し回数の無料枠を新設 0回 → 1,000回
GS2-Ranking カテゴリCのAPI呼び出し回数の無料枠を新設 0回 → 1,000回
GS2-Ranking ランキング集計ユニットの無料枠を新設 0回 → 750回(1時間1回の集計/参加者2万人未満であれば無料)
GS2-Inbox API呼び出し回数の無料枠を拡大 1,000回 → 100,000回
GS2-Inbox inbox1.nano の無料枠を新設 2円/時 → 月間750時間 無料(アカウント登録から1年間)
GS2-Stamina API呼び出し回数の無料枠を拡大 1,000回 → 100,000回
GS2-Stamina stamina1.nano の無料枠を新設 2円/時 → 月間750時間 無料(アカウント登録から1年間)

無料枠の拡大は1月分の請求にも反映されます。

料金計算ツールを公開

無料枠の拡大に伴い、より利用料金の計算が難しくなりましたので料金計算ツールを用意しました。
https://gs2.io/ のトップページ下部に設置してありますので、GS2を使うのにいくらくらいかかるのか?というのを試算するのにご活用ください。

クレジットカードの登録を任意に

これまで、GS2のサービスをご利用いただくにはクレジットカードの登録が必須でした。
よりお気軽にサービスをご利用いただけるように、この仕様を変更し、クレジットカードの登録を任意に変更します。

クレジットカードを登録していない状態のアカウントは トライアルアカウント とし、
登録から半年間、あるいは利用金額が3万円に達するまでGS2のサービスを体験いただけます。
まずはトライアル状態でサービスをご利用いただき、GS2を利用してゲームを開発するのにどのくらい費用がかかるかを体験いただいた上で
今後もつかってみたい。と思われたらクレジットカードを登録いただき、継続利用いただく。という使い方ができるようになります。

この仕様変更に伴い、これまで登録いただいていた皆さんには追加で半年間有効なプロモーションクレジットを5万円分付与させていただきます。
今後ともGS2をよろしくお願いいたします。

それでは、また。

6つの新サービスと1つの機能拡張を発表

みなさん、あけましておめでとうございます。GS2 CEOの丹羽です。

本日は6つの新サービスと1つの機能拡張を発表させていただこうとおもいます。

まずは、機能拡張から。

GS2-Identifier にワンタイムトークン機能を追加

これまで GS2 サービスにアクセスするには GS2-Identifier で発行した GSI を利用する必要がありました。
しかし、GS2 SDK for Unity を設計するにあたって、GSI をクライアントに埋め込むのはセキュリティ的な懸念がありました。
そこで、GS2-Identifier にワンタイムトークン機能を追加し、一時的なGSIに相当するアクセストークンを発行できるようになります。

続けて、新サービスの発表です。

GS2-Account

アカウント管理機能を提供します。
メールアドレス+パスワードやソーシャルアカウントを利用したデータの引き継ぎにも対応しており、
先日発表した GS2 SDK for Unity と組み合わせることで、非常に簡単にアカウント機能付きのゲームの開発を開始できます。

GS2-Variable

一時的な(最長有効期間1時間)変数値の保存・読み出し機能を提供します。
今後GS2の様々なマイクロサービスを利用してサービスを開発するにあたって、マイクロサービス間でデータをやり取りする際に利用できます。
対応サービスの第一弾として、GS2-Matchmaking + GS2-Realtime の連携機能で、マッチメイキング完了後自動的に GS2-Realtime にルームが作成され、
ルームの作成内容(ルームにアクセスするためのIP/ポート/暗号鍵といった情報)が GS2-Variable に書き出される。という形で採用されます。
変数の読み書きは GS2 のサービス内からだけでなく、GS2 SDK を利用して自由に行うことが出来ますので、有効期間付きの簡易データベースとして利用することが出来ます。

GS2-Script

Lua言語で記述した任意のスクリプトをGS2のインフラで実行できるようになります。
このスクリプトは GS2 内の様々なイベントをトリガーとして起動することが出来ます。
例えば GS2-Ranking にスコアを登録する際に呼び出されるスクリプトを定義し、スコアの値が不正な値の場合は登録を失敗させる。というような実装が行えるようになります。

GS2-Key

GS2 内のサービスで利用できる暗号鍵を管理し、暗号化/復号化できるサービスです。
例えば、GS2-Account の認証結果として、アカウント情報を暗号化した文字列を返します。
その文字列を GS2-Auth に渡すことで、GS2 の各サービスにアクセスするためのアクセストークンが得られる。というような
GS2 のマイクロサービス間で安全にデータをやりとりする使い方が出来ます。

GS2-Money

資金決済法の前払式支払手段に該当する仮想通貨を取り扱うためのサービスです。
各アカウントごとに単価ごとの仮想通貨を管理することが出来ます。
未使用残高が1000万円を超えると供託金を用意する必要が出てくるため、未使用残高の管理機能も提供されます。
仮想通貨の消費アクションに Webhook または GS2-Script を設定することで、仮想通貨の消費時に任意のアクションを取ることができるようになります。

GS2-Inventory

消費型アイテムの所有数を取り扱うためのサービスです。
クライアントでアイテムの所持数を管理すると、容易に改ざんされてしまいますが、サーバで所持数を管理することで不正行為を行えなくすることが出来ます。
既存サービスである GS2-Inbox の Webhook の代わりに、メッセージ開封時に GS2-Inventory の消費型アイテムを付与する。という連携を行うことが出来るよう GS2-Inbox が拡張される予定です。


各サービスの提供開始時期についてですが

  • GS2-Identifier にワンタイムトークン機能を追加
  • GS2-Account
  • GS2-Variable
  • GS2-Script
  • GS2-Key

これらのサービスは GS2 SDK for Unity と同時期の公開を予定しており、1月中に提供を開始したいと考えております。

のこる

  • GS2-Money
  • GS2-Inventory

については 2月中に提供を開始したいと考えております。

それでは、また。

名古屋スタートアップニュースさんにインタビューを受けました

みなさん、こんにちは。GS2 CEOの丹羽です。

名古屋スタートアップニュースさんにインタビューをしていただきました。
今後の展望なども含めてお話させていただきましたので、よろしければ御覧ください。

nagoyastartupnews.com

それでは、また。

GS2 SDK for Unity の発表

みなさん。メリークリスマス! GS2 CEO の丹羽です。

今日はサンタさんがとてもいい発表を持ってきてくれました。
GS2 SDK for Unity です。

http://japan.unity3d.com/resources/favicons/fb-icon.png

GS2 をより簡単に多くの開発者のみなさんにご利用いただけるよう
現状の GS2 はサーバ間通信が前提となったアーキテクチャになっていますが、
Unity で制作されたゲームクライアントから直接 GS2 のサービスをご利用いただけるよう開発を進めています。
GS2 SDK for Unity を使えば、サーバを一切持つことなく GS2 の提供するサービスがご利用いただけるようになります。

サンプルとして、GS2-Stamina を GS2 SDK for Unity で使う場合どうなるのか。を示させていただきます。

// ユーザ固有のIDを生成(userIdをデバイス内に保存してください)
// 既にアカウントシステムをご利用の場合は、そのアカウントシステムで払い出されたユーザIDをご利用いただけます。
string userId = System.Guid.NewGuid ().ToString ();

// クライアントSDKを初期化
Gs2.Client gs2 = new Gs2.Client (new Gs2.Profile ()
	.ClientId (CLIENT_ID)
	.ClientSecret (CLIENT_SECRET));

// GS2 にログイン
Gs2.GameSession session = gs2.Auth.Login (userId);

// 現在のスタミナ値を取得
Gs2.Stamina.Value stamina = gs2.Stamina.Get (session, "stamina-0001", 30);

print ("現在のスタミナ値: " + stamina.Stamina + ", 次回スタミナの回復: " + stamina.NextIncreaseTimestamp);

// スタミナを5消費
stamina = gs2.Stamina.Consume (session, "stamina-0001", 30, 5);

print ("現在のスタミナ値: " + stamina.Stamina + ", 次回スタミナの回復: " + stamina.NextIncreaseTimestamp);

チート行為など、セキュリティ的な懸念への対応策も含めて開発を進めておりますので、
リリースまではもう少々お時間をいただきたいと思いますが、来年早々ご利用を開始いただけるよう準備を進めておりますので、お楽しみに。

それでは、また。

GS2-Realtime リリースのお知らせ

こんにちは。GS2 CEOの丹羽です。

お待たせしました。
βテスト開始時点でのリリースを見送っていた GS2-Realtime をβテストメニューに追加しました。
これで GS2-Matchmaking と組み合わせてマルチプレイヤーゲームの開発をすることができるようになります。

それでは、また。

Developers.IO に寄稿しました - サーバレスで変わるサーバ開発の未来と、GS2が変えるゲームサーバ開発の未来

みなさんこんにちは。GS2 CEO の丹羽です。

βテストの開始のお知らせに続いて本日2本目のエントリです。

クラスメソッドさん が運営されている Developers.IO に
「サーバレスで変わるサーバ開発の未来と、GS2が変えるゲームサーバ開発の未来」と題しまして、寄稿させていただきました。

dev.classmethod.jp

サーバレスを軸に今後サーバ開発技術がどのように変わっていくことが予想されるかをテーマに記事を執筆しました。
よろしければ、御覧ください。

それでは、また。

(C) Game Server Services, Inc.