KLab株式会社

お問い合わせはこちら

モバイルゲーム開発SDK『KG SDK』

エンジニアが使いやすいをコンセプトに、各種ゲーム共通で必要な機能をまとめたソフトウエア開発ツールキットです。ゲーム開発の際、どのゲームでも必要な機能は開発済みのライブラリであるKG SDKを活用し、スクラッチから開発するのはそのゲームに特有の機能だけになります。
これによって開発スケジュールの短縮、開発コストの削減、開発品質の安定といった効果を期待できます。

「KG SDK」はそれぞれ独立したSDK・API/ライブラリ群のため、「ゲーム内チャット機能」や、「端末間データ引き継ぎ機能」など、必要なものだけを選択して導入する事が可能です。「KG SDK」はパブリッシング事業における共同開発パートナーにも提供しています。


パブリッシング事業の詳細はこちら▶

KLabGames Tech BlogKLabGames Tech Blog

KLabGames Tech Blog

KG SDKの開発に携わったエンジニアも執筆してます。
ブログ内のカテゴリ「KG SDK」にて、KG SDK開発時の苦労話から技術情報まで掲載中です。

モバイルゲーム開発SDK「KGSDK」

主要機能の紹介

統合アカウントシステム

複数アプリを横断してユーザーを一意に管理できるシステムです。多言語にも対応しております。これによりユーザーに対してアプリ内外を問わず様々なサービスを提供可能にします。例えば、KG SDKが提供しているデータ引き継ぎ機能を用いることで、より簡単に、端末間のデータ引き継ぎを実現できます。

主要機能(ユーザー向け)

  • アカウント登録・変更機能

    メールアドレス・Facebook・Googleによるアカウント登録。 登録情報の変更ができます。

  • 認証機能

    IDとパスワードで認証します。登録情報の変更・アプリ連携する際に必要となります。

  • 連携機能

    アプリとの連携・連携状態の確認ができます。

主要機能(サービス運営者向け)

  • ユーザー管理機能

    登録されているユーザーの検索ができます。 ユーザーの登録情報・対応履歴などが確認できます。

  • 管理者機能

    管理者の登録・権限設定ができます。

  • お知らせ機能

    メンテナンス告知、障害報告、規約改定報告などをサイト上でお知らせすることができます。

特徴

  • 統合アカウントシステムの保守をKLabにて実施

    統合アカウントシステムではサーバシステムが必須ですが、この部分はKLabにて保守・運用を行います。

イメージ図

統合アカウントシステムイメージ図

運営管理システム

モバイルゲームの運営で必要な機能を集約したものです。最小限のカスタマイズで利用可能です。利用するプロジェクト毎の差異を吸収するために、バッチスクリプトの実行や独自機能の追加もできます。また、KG SDK提供のチャットサービスの管理機能も提供しています。

主要機能

  • マスター管理

    GoogleDrive・ローカルファイルからの更新、更新履歴、SQLite生成・暗号化などができます。

  • NGワード管理

    NGワード・フィルター設定、NGワードランキングの確認などができます。

  • お知らせ管理

    お知らせの追加・編集・削除ができます。

  • 運用管理

    ユーザー検索、強制アップデート、メンテナンス、BAN、仮想時計(※)などができます。

  • チャットサービスの管理

    チャットルール・トーク検索、テストユーザー・BANユーザーの確認などができます。

  • HTMLファイル管理

    WebViewに表示するHTMLファイル・テンプレートの管理ができます。

  • サウンド管理

    アップロードされたサウンドファイルからゲーム内で使用するマスターデータを自動生成します。

  • 運営管理システムの設定

    DB接続先などの設定、設定変更履歴、権限管理などができます。

※ 仮想時計・・・開発・デバッグ時に、現在の時刻を仮想的にずらす機能

運営管理システム図

UI開発コンポーネント

uGUIの開発を行う上で、共通として必要になるUIコンポーネント、及び実装ノウハウを集約したものです。以下のような機能を集約しています。

主要機能

  • テキストビュー

    修飾付きテキストの表示、ルビ対応、禁則処理に対応したコンポーネントです。 HTMLによく似たタグで、サイズや色、スタイルを指定できます。

  • ベーシックボタン

    入力イベントの管理、同時押し、連打対策などの排他制御を考慮したボタンコンポーネントです。

  • トグル

    ベーシックボタン同様に、排他制御を考慮したトグルコンポーネントです。

  • タブペイン

    タブの切り替えに合わせて対応するコンテンツを表示するコンポーネントです。

  • ゲージ

    簡単な設定で、線形、円形といったゲージを提供します。

  • スクロールビュー

    メモリの消費を抑えたスマートフォン向けのスクロールビューコンポーネントです。

  • カルーセル

    現在のゲーム・ウェブサイトにおいて、よく使われているカルーセルを実現したコンポーネントです。

  • タイルビュー

    単一の大きさの複数のUIをタイル状に並べて表示するコンポーネントです。スマートフォン向けにメモリの消費を抑えた設計になっています。

  • トゥイーン

    トゥイーンアニメーションの作成をサポートします。NGUIやuGUIに可能な限り依存せず、Unityのバージョンにも互換性を保てることを優先して設計されています。

  • シーン遷移管理機構

    シーン間のデータの受け渡し、シーン切替わり時の演出の差し込みなど、シーンの遷移および管理に必要な仕組みを提供します。

UI開発コンポーネント図

クライアント開発基本ライブラリ

Unityを用いたスマートフォンゲーム開発において共通して必要になる機能、及び実装ノウハウを集約したライブラリ群です。KG SDKの他の機能のクライアント部分を含め、以下のような機能を集約しています。

基本機能

  • コアユーティリティ群

    ファイル管理、オンメモリキャッシュ、ロケール取得、タイムゾーン取得、といった、アプリケーション開発で必要となる基本的な機能をまとめています。

  • サーバクライアント間認証ライブラリ

    KLabのこれまでの開発ノウハウを元にした認証処理方式のクライアント部分を提供するライブラリ

  • 通信ライブラリ

    HTTPやHTTPS通信に纏わる機能(クライアントタイムアウト、リトライ処理等)を提供するライブラリ

  • WebViewライブラリ

    iOS/AndroidのWebView機能をOSによらず透過的に扱えるようにするライブラリ

  • ローカライズテキスト管理ライブラリ

    文字キーと表示言語の組に対応するローカライズテキストを管理するライブラリ

  • PFアチーブメント対応ライブラリ

    Google Play Game Servicesと Game Centerのアチーブメント機能を透過的に扱えるようにするライブラリ

  • Bluetooth Low Energyライブラリ

    iOS/AndroidのBluetooth Low Energy機能をOSによらず透過的に扱えるようにするライブラリ

KG SDKの提供機能のクライアント機能

  • チャットシステム
  • アセット管理システム
  • ストア課金処理
  • データ引き継ぎ
クライアント開発基本ライブラリイメージ図

データ引き継ぎ機能

一つのゲームデータを複数の端末間で共有する機能を提供します。この機能を利用することで、端末の買い替えの際のデータ引き継ぎのほか、自宅と移動中で違う端末でゲームをプレイする等、同じゲームを複数の端末で遊べる環境も提供できます。具体的な提供機能は以下の通りです。

同一OSの端末間でのデータ引き継ぎ

iOS同士、Android同士のデータ引き継ぎを実現します。OSごとに以下の手段をサポートしています。
 
  • iOS同士  :Game Center 、Facebook
  • Android同士:Google Play Game Services、Facebook

異なるOSの端末間でのデータ引き継ぎ

iOSとAndroidの間でのデータ引き継ぎを実現します。以下の手段をサポートしています。
 
  • Facebook

データ引き継ぎ機能の動作イメージ図

データ引き継ぎ機能の動作イメージ図

チャットシステム

ゲーム内でユーザ同士のチャット機能を提供する際に必要な機能をまとめたクライアントのライブラリとサーバシステムです。チャットシステムの主要な機能・特長は以下のとおりです。

主要機能(ユーザ向け)

  • チャット基本機能
  • ユーザ同士でテキストのメッセージをやりとりする機能です。1対1のチャット、複数人のグループチャットが実現できます。
  • スタンプ機能
  • ユーザ同士で画像メッセージをやりとりする機能です。テキストと同様、1対1のチャット、複数人のグループチャットで利用できます。

主要機能(サービス運営者向け)

  • NGワード設定機能

    チャットで利用できないワード(NGワード)を登録できます。

  • チャット検索、削除機能

    条件を指定したチャットの検索、不適切なチャットの削除ができます。

  • チャット禁止機能

    特定のユーザのチャット利用を禁止できます。

  • テストユーザ登録機能

    商用環境でテストユーザ同士のみやりとりができるチャットを作ることができます。

チャットシステムの動作イメージ

チャットシステムのイメージ

特長

  • チャットサーバの保守をKLabにて実施

    チャットシステムではサーバシステムが必須ですが、この部分はKLabにて保守・運用を行います。
    このため、クライアントライブラリの組み込みと簡単なサーバ間通信の組み込みだけでチャット機能を実現できます。

  • 柔軟なUI設計が可能

    クライアントのライブラリはユーザインターフェース(UI)と独立なため、他の機能のUIと整合のとれたUIを設計して組み込むことが可能です。

チャットシステムの構成図

チャットシステムの構成図

KPI レポートシステム

モバイルゲームの運営で必要な各種KPI(重要業績評価指標)を集計、レポートするシステムです。ゲームの改善、イベント運営、広告宣伝を効率よく行うためにはKPIの活用が欠かせません。どのKPIから何を読み取りどう改善するかもゲーム会社にとって重要なノウハウになっており、KPIレポートシステムにはKLabのKPI活用ノウハウが凝縮されています。
どのゲームでも取得すべきKPIを網羅した本システムを活用することにより、個別に開発するよりも少ない工数でこうした活用ノウハウに基づいたKPI取得のシステムを実現することができます。

KPIレポートシステムで取得可能なKPI

以下の代表的なKPIに加え、KLabのモバイルゲームの運営経験に基づいた各種KPIを取得することが可能です。

  • 仮想通貨消費数(時間毎、日毎、月毎等)
  • 仮想通貨購入数(時間毎、日毎、月毎等)
  • アクティブユーザ数(日毎、月毎等)
  • インストール数(時間毎、日毎、月毎等)
  • 課金ユーザ数(時間毎、日毎、月毎等)
  • 課金率(日毎、月毎等)
  • ARPU / ARPPU(日毎、月毎等)
  • 継続率(一定期間毎)
KPI レポートシステム

ストア課金処理ライブラリ

App Storeの In-App Purchase、Google Play の In-App Billing を利用してアプリ内課金を行う際に共通で必要となる機能をまとめたサーバサイド、クライアントサイドのライブラリです。アプリ内課金で必要となる、購入情報の検証や一般的なチート行為への対策について、KLabのこれまでのモバイルゲームの開発・運営経験に基づいた機能を提供します。

ストア課金処理ライブラリ

仮想通貨管理ライブラリ

ゲーム内仮想通貨の管理機能は、ユーザ様の仮想通貨の保有数を確実に管理することに加え、資金決済法への対応も必要です。本ライブラリでは、サービス運営でこれらの要件に対応するのに必須な以下の機能を提供します。

仮想通貨管理ライブラリ

購入仮想通貨の付与、消費機能

本ライブラリの基本機能です。実際に購入された仮想通貨の付与・消費機能を提供します。

テスト用仮想通貨、補填対応用仮想通貨の付与、消費機能

サービス運営時には、運営担当者が利用するテスト用仮想通貨が必要となったり、障害等に起因してユーザ様に仮想通貨で補填を行うことが発生しますが、それらの仮想通貨の付与・消費機能を提供します。この機能により、資金決済法上の供託金の計算対象からこれらの仮想通貨を除外できます。

仮想通貨の履歴管理機能

同じゲーム内の仮想通貨であっても、購入した仮想通貨、補填等で付与された仮想通貨では資金決済法における取り扱いが異なるため、付与と消費の仮想通貨の種類、履歴は個別に管理しておく必要があります。煩雑になりがちなこの履歴管理機能を提供します。

ログ記録機能

重要な箇所でログを記録します。トラブルや想定外の事態が発生した際に、仮想通貨の確実な状況把握が可能です。

アセット管理ライブラリ

現在の一般的なモバイルオンラインゲームでは、アプリ本体の起動後に画像などの追加データファイル(アセットと呼びます)をダウンロードする形が一般的となっています。こうした形式のアプリに必須な以下の機能を提供します。

アセット管理ライブラリ

アセットのバージョン管理機能

運営中のサービスではアプリのバージョンアップに伴い、複数のバージョンのアプリが存在し、各バージョンで必要とするアセットが異なることがあります。このような場合でも、簡単に適切なバージョンのアセットを取得できる機能を提供します。

アセットの差分ダウンロード機能

アセットのバージョンアップでは、一部のアセットだけ追加・更新されることが一般的です。追加・更新されたアセットを検出し、最小限のデータをダウンロードしてバージョンアップを行う機能を提供します。

アセットの暗号化対応インターフェース

キャラクターなどの版権を利用したゲームでは、版権保護の観点からスマートフォン内のアセットの暗号化が必要になることがあります。開発者が適切な暗号および復号の処理を実装するだけで、簡単に暗号化されたアセット管理を実現できます。

 

技術情報関連コンテンツ

資料アーカイブ

資料アーカイブ

KLabのエンジニアが、セミナーや勉強会で発表した資料のアーカイブです。
詳細情報はこちら▶

DSAS開発者の部屋

DSAS開発者の部屋

モバイルオンラインゲームインフラがわかる、DSAS開発者の開発日記!
詳細情報はこちら▶

資料アーカイブ

KLabGames Tech Blog

KLabのゲーム開発・運用の中で培われた様々な技術や挑戦とそのノウハウについて、広く紹介していきます。
詳細情報はこちら▶