みなさんこんにちは。GS2 CEOの丹羽です。
本日登壇させていただきました、Gaming Tech Night #2 re:Born (再始動) の登壇資料を公開します。
是非参考にしてください。
それでは、また。
みなさんこんにちは。GS2 CEOの丹羽です。
本日登壇させていただきました、Gaming Tech Night #2 re:Born (再始動) の登壇資料を公開します。
是非参考にしてください。
それでは、また。
みなさんこんにちは。GS2 CEOの丹羽です。
本日は GS2 SDK for Unity の大幅なパワーアップについてお知らせします。
これまで、Unity から GS2 のサービスをご利用いただくには GS2 SDK アセットをインポートし、手順に従ってコーディングを行うことでゲームにネットワーク機能を組み込んできました。
GS2 SDK はより Unity Editor との統合を進め、より簡単にゲームにネットワーク機能を組み込めるようになったことをお知らせします。
本日時点では GS2-Account と GS2-Money の機能をより簡単に組み込めるよう uGUI によるインターフェースやエラーハンドリングの実装が含まれた状態のプレハブが提供されます。
今後対応サービスを拡充していきますが、とりあえずこの2つの機能であればプログラムを一切記述せず GS2 の機能をゲームに組み込めるようになりました。
【GS2】QuickStart GS2-SDK for Unity
こちらの動画がその手順をまとめたものです。
約7分の動画で GS2 SDK のプラグインインストールから、GS2-Account 機能の組み込み。ログイン/機種変更時のアカウント引き継ぎの動作確認までを行っています。
是非お試しいただき、フィードバックをください。
それでは、また。
みなさんこんにちは。GS2の丹羽です。
開催直前となってしまいましたが、来週AWS主催のイベントの登壇情報です。
gamingtechnight.connpass.com
題目はシンプルに『サーバレスアーキテクチャ入門』です。
これまで Serverlessconf などに登壇した際に、ゲーム開発に携わっている方がどのくらいいるか確認してきましたが、それほど多くなかったということもあり、
今回のイベントはゲーム開発者を対象としたイベントですので、サーバレスアーキテクチャって何?これからサーバレスアーキテクチャを実践してみたい。という方を対象とした内容にしました。
ざっくり見出しを紹介すると、こんな感じです。
見出しに興味がわいたら是非上記ページからエントリーしてください。
イベント終了後にこのブログで資料を公開しますので、予定が付かずイベントに参加出来ない場合も見に来てください。
読者登録しておくと更新時に連絡が行くようになります。
それでは、また。
みなさん、こんにちは。GS2 CEOの丹羽です。
本日は新サービスの公開を告知します。
GS-Limit はゲーム内のアクション回数に回数制限をつける時に実行回数をサーバサイドで管理する仕組みです。
これによって、アカウントあたり1回だけ購入出来る商品。のような機能を実現出来ます。
また、回数制限にはリセット周期を定義することも出来ますので、
例えば、毎日3回だけ挑戦出来るデイリークエストの挑戦条件判定や、毎週1回だけ無料でガチャが引ける場合の条件判定といったものを実現することも可能です。
使い方は簡単で、Unity SDK を使用する場合は
yield return Gs2.Limit.Up( r => { if (r.Error != null) { // 例外が発生 } Debug.Log("Counter Value: " + r.Result.Count); }, Session, // ゲームセッション LimitName, // 回数制限名 CounterName); // カウンター名
これで回数制限をインクリメント出来ます。結果にはカウントアップ後の実行回数も返ります。
制限回数をオーバーした場合は r.Error に ConflictException が返ります。
カウントアップせずに現在のカウント値を取得するには
yield return Gs2.Limit.Get( r => { if (r.Error != null) { // 例外が発生 } Debug.Log("Counter Value: " + r.Result.Count); }, Session, // ゲームセッション LimitName, // 回数制限名 CounterName); // カウンター名
これで取得出来ますので、カウントアップ前に条件の確認をすることも出来ます。
GS2-Limit の利用料金は完全従量制で
カウンターの取得 | 1円/1,000回 |
---|---|
カウンターの操作 | 3円/1,000回 |
カウンターマスタのエクスポート | 1円/回 |
で利用出来ます。
GS2-Limit は本日よりご利用いただけます。
それでは、また。
みなさんこんにちは。GS2 CEOの丹羽です。
こちらで告知していたイベントスケジュール管理機能を公開しましたのでお知らせします。
機能の説明について同じ話をしても意味が無いので、今回は実装例を紹介します。
イベントマスターデータの管理については以下のページを参照してください。
現在有効なイベントの一覧を取得する場合のサンプル
yield return Gs2.Schedule.List( r => { if (r.Error != null) { // 例外が発生 } foreach (var eve in r.Result.Events) { Debug.Log("name: " + eve.Name); // イベント名 Debug.Log("meta: " + eve.Meta); // メタデータ Debug.Log("begin: " + eve.Begin); // 開始日時 Debug.Log("end: " + eve.End); // 終了日時 } }, Session, // ゲームセッション ScheduleName, // スケジュール名 new []{EventName1, EventName2}); // イベント名のリスト(省略することで全件取得)
現在有効なイベントを取得する場合のサンプル
yield return Gs2.Schedule.Get( r => { if (r.Error != null) { // 例外が発生 } Debug.Log("name: " + r.Result.Name); // イベント名 Debug.Log("meta: " + r.Result.Meta); // メタデータ Debug.Log("begin: " + r.Result.Begin); // 開始日時 Debug.Log("end: " + r.Result.End); // 終了日時 }, Session, // ゲームセッション ScheduleName, // スケジュール名 EventName1); // イベント名
アカウント登録時に相対時間のイベントを開始する
schedule_client = client('schedule') –- GS2-Schedule のクライアントを初期化 result = schedule_client.pull_trigger({ scheduleName="schedule-0001", -- スケジュール名 triggerName="trigger-0001", -- トリガー名 userId="user-0001", -- ユーザID action="pull_again" -- トリガーの引き方 }) result = {permit=not result.isError} -- トリガーを引くのに失敗した場合失敗とする
このスクリプトを GS2-Script に登録し GS2-Account のアカウント登録イベントでフックすることで、
アカウント登録時にイベントの開始トリガーを引くことが出来ます。
利用料金は完全従量制で
イベントの取得 | 1円/1,000件 |
---|---|
トリガーの操作 | 3円/1,000回 |
イベントマスタのエクスポート | 1円/回 |
+ API呼び出し回数 3円/1,000回
と非常に扱いやすい内容になっています。
それでは、また。
みなさん、こんにちは。GS2の丹羽です。
本日は近日公開予定の新サービス GS2-Schedule を発表いたします。
GS2-Schedule はゲーム内のイベントの管理を行うマイクロサービスです。
イベントは2種類定義することが可能です。
1つ目は絶対時間、2つ目は相対時間です。
絶対時間は開始日時/終了日時を明示してイベントの開催期間を定義出来ます。
相対時間はユーザ毎にトリガーを引いてから一定期間をイベントの開催期間と定義するものです。
前者は一般的なクリスマスやお正月にあわせたイベント開催に、
後者はチュートリアル突破後24時間限定のイベントなどの定義に使用出来ます。
マスターデータはGS2のマネージメントコンソールで定義することも出来ますが、
マスターデータは最終的にJSON形式のファイルにエクスポートして、実サービスに適用するように設計されています。
これは、開発環境で作成したマスターデータを製品環境に適用するコストを最小に抑えるためと、
イベントの定義をGS2のマネージメントコンソールだけでなく、独自のツールを使ってフォーマットに沿ったJSONを出力することでも定義出来るようにするためです。
GS2-Schedule は今後GS2のマイクロサービスと連携することで本領を発揮します。
たとえば、今後GS2の開発マイルストーンには、ガチャ/アイテムショップ/お知らせ といったサービスの開発が計画されています。
これらのサービスと GS2-Scedule を連携されることで、イベント期間のみガチャを解放したり、チュートリアル突破後24時間限定でショップで買える商品を定義することが出来るようになる計画です。
料金や機能の詳細はサービス提供開始にあわせて後日発表しますので、しばらくお待ちください。
それでは、また。
サッカーとチェスを組み合わせたオンライン対戦ゲーム。
相手との読み合いが勝利へのカギとなる。
思考型のゲームだが、試合はリアルタイムで進むため、意外と忙しい。
海外をメイン市場に据えた商品。
基本無料。
消費型アイテム課金制。
アプリ内広告あり。
資金決済法に対応する課金通貨購入、管理してくれるサービスを探していたところ、GS2を見つけました。
SOCCER DUEL ONLINE は Unity で開発を進めており、Unity 向けの SDK を提供している GS2 はすぐに導入できました。
また、初期費用を低く抑えたいと考えており、初期費用が一切必要無い GS2 はその点でも魅力的でした。
ゲームサーバの多くは様々な機能がオールインワンになっているものが多いのですが、
GS2 は機能単位で契約して使用できるため、余計な機能に費用が発生することがないのが魅力的でした。
サンプルを見ながらスムーズに組み込むことができました。
何カ所か実装中につまずいたこともあったのですが、丁寧にサポートしていただけました。
今後導入する方のためにコミュニティがあるといいと思います。つまづいたところなどを共有したいです。
REST API であらゆる機能がアクセス出来るようになっており、好きなように運営ツールも作れそうなのはとてもよい。
反面、マネージメントコンソールでは 絞り込み・ソートなどの検索まわり・エクスポート機能 といった機能が不足していると感じる。
今後の改善に期待しています。
トライアル期間として十分な無料枠があることで導入検討しやすかったです。おかげでリリース直前まで費用が一切かかりませんでした。
ただ、API呼び出し回数などで費用計算されるため、リリース後に、実際はどの程度の費用が発生するかの見積もりが難しかったです。
正直に申し上げて、現時点でのGS2は採用実績が乏しく採用するにあたっては不安がありました。
しかし、いろいろな質問をサポートに問い合わせた際に、設計面や思想まで含めて丁寧に答えていただけたことで安心感につながりました。
GS2 CEO の丹羽さんと直接お会いする機会がありましたが、誠実で信頼のできる方でした。
今ではGS2を選んで良かったと思っています。
Game Server Services は現在アカウント登録していただいた皆様に 30,000円分のクーポン(有効期限: 登録日から3ヶ月間)をプレゼントしています。
この機会にお試しください。
gs2.io