遅かれ早かれ、最も単純なゲームの開発プロセスにおいても、その作成者はデータ管理のタスクに直面します。それはゲーム内アイテム(ユニット、武器、スキル)のパラメーター、ゲームの経済性、ローカリゼーションまたはアプリケーションの動作に必要なデータになります。
スプレッドシートは、この問題を解決するための便利なツールです。 データの視覚表示と視覚化に適しています。 数式の並べ替えと使用は、経済性、ゲームサイクル、レベル管理のレンダリングにおいて数学的な正確さを実現するのに役立ちます。 Googleスプレッドシートの利点は、多数の人がオンラインで同時に作業できることです。これにより、開発速度が大幅に向上し、プログラマ、アーティスト、ゲームデザイナーなどのチームメンバー間で信頼性の高いわかりやすいコミュニケーションが確立されます。
この記事では、スプレッドシートがもたらすメリット、Googleスプレッドシートを操作するためのゲームを準備するときに直面した困難、およびUnityプロジェクトとGoogleスプレッドシートの統合に関する小さなチュートリアルを共有したいと思います。
ゲームのケースを考慮すると、Googleテーブルを使用してデータを保存し、キャラクターの配色を整理し、ゲーム内通貨でその値を計算し、プレーヤーのタスクシステムを構築しました。 アプリケーションのソフトウェア部分の責任者として、テーブルを使用することで、特にグラフィックデータとデザイナーとのコラボレーションに関しては、多くの時間を節約できました。
お気づきかもしれませんが、さまざまな配色により、かなりシンプルなゲームにひねりが加えられ、ユーザーにとっては少し魅力的で興味深いものになりました。 データの体系化がなければ、これは事実上不可能です。
並べ替えの式とテクニックは、ゲーム内のタスク(課題)のすべてのパラメーター(順序、目標、報酬)を計算するのに役立ちました。 経済を構築するための適切なアプローチは、ユーザーをゲーム内に保持するために非常に重要であり、テーブルが提供するデータを変更する際の機動性がこの場合に役立ちます。
次に、GoogleスプレッドシートをUnityと統合する技術的な側面に進みましょう。 Unityゲームエンジンは、Googleスプレッドシートを含むインターネットリソースと対話するための多くの方法を提供します。そのうちの1つは、スタンドアロンアプリケーションに基づく統合です。 ただし、この場合の主な課題は、.NET 2.0エンジンを使用することです。
2015年5月5日に、Googleは従来のOAuth 1.0認証プロトコルのサポートを停止し、新しいOAuth 2.0にアップグレードしなかったアプリケーションはすべて機能しなくなりました。 私が使用した無料のプラグインの開発者である
Unity-GDataと
Unity-Quicksheetの更新バージョンはこれを処理せず、自分で解決策を見つけるしかありませんでした。
最初は、このトピック
に関するドキュメントは網羅的であるため、UnityおよびC#での承認に関する問題は発生しないように思われました。 しかし、それはそれほど単純ではないことが判明しました。
まず、OAuth 2.0リクエストの一部のパラメーター、たとえば「アクセスタイプ」や「トークンタイプ」がGoogleスプレッドシートのドキュメントで指定されていないため、認証プロセス自体に問題がありました。
第二に、モノラル用の
Google Data API SDKからインポートした
Google Data APIの更新された.dllデータライブラリの一部で、Unityでコンパイルエラーが発生しました。Unity-GDataプラグインの古い.dllでも同様です。 私は結合しなければなりませんでした。
第三に、JSONリクエストを処理するために適切なNewtonsoftライブラリを追加する必要がありました。
ビジネスに取り掛かろう 。 GoogleスプレッドシートをUnityと統合するプロセスは、いくつかの段階に分けることができます。
- プリセットGoogleアカウント
- Google Drive APIへのアクセスを設定する
- Googleスプレッドシートからデータを取得して保存する
最初に、必要なすべてのライブラリとスクリプトがすでに含まれている
unitypackageをダウンロードする必要があります。
プリセットGoogleアカウント- アカウントにログインします。
- リンクに従って、新しいプロジェクト「Create new project」を作成します。
- 開発者のコンソールのサイドバーの[APIと認証]セクションで、[API]タブを選択します。
- 「Google Apps Api」グループの「Drive API」設定に移動し、「Enable API」ボタンを使用してこのAPIをアプリケーションに接続します。
- 同じセクション「APIと認証」で、「同意画面」タブを選択します。 製品名「製品名」を入力し、オプションでホームページのアドレス、ロゴ、その他のパラメーターを指定します。
- 繰り返しますが、「API&Auth」セクションで、「Credentials」タブを選択します。 Auth 2.0を使用するための新しいクライアントID、「クライアントIDの作成」ボタンを作成します。 ダイアログボックスで、「アプリケーションの種類」を「インストールされたアプリケーション」としてマークし、「インストールされたアプリケーションの種類」を「その他」としてマークします。 [クライアントIDの作成]ボタンをクリックして確認します。
- 将来必要となるクライアントID、クライアントシークレットの値を取得しました。
Google Drive APIへのアクセスを設定する- unitypackageをインポートした後、Unityの起動時にスクリプト「SpreadsheetEntity.cs」が自動的に起動するはずです。 スクリプトを編集用に開き、承認のための情報を入力します。
- 変数_ClientIdおよび_ClientIdを、開発者コンソールから取得したクライアントIDおよびクライアントシークレットの値に設定します。
- Unityプロジェクトを起動します。 これは自動的にリンクをたどり、認証後にアクセスコードを取得して、アプリケーションがGoogleで正常にログインできるようにします。
- アクセスコードをコピーし、その値をスクリプト「SpreadsheetEntity.cs」の変数_AccessCodeに割り当てます。
- その後、プロジェクトを再度開始し、Googleテーブルへの継続的なアクセスに必要なOAuth 2.0アクセストークンとリフレッシュトークンの値をUnityコンソールログから取得します。 これらの値を変数_AccessTokenと_RefreshTokenにそれぞれ割り当てます。
スクリプト例を示します。
ここにスクリプトがありますusing UnityEngine; using UnityEditor; using System.Collections; using System.Collections.Generic; using Google.GData.Client; using Google.GData.Spreadsheets; [InitializeOnLoad] public class SpreadsheetEntity : MonoBehaviour {
特定の機能に注意してください。このスクリプトは、Unityエディターの起動時に実行され
ます 。メインアプリケーションコードが実行される前にすべてのデータがすでに配置されているため、非常に便利
です 。詳細は
こちら 。
必要なすべての手順を完了すると、プロジェクトはGoogleスプレッドシートで作業できるようになります。
Googleスプレッドシートからデータを取得して保存するGoogleでは、テーブルを操作するプロセスについては、上記の開発者向け
ドキュメントで詳しく説明されています。 しかし、明確にするために、小さな例を示します。 データには、リストベースのフィードを使用し、ストレージにはXMLファイルを使用します。 UnityでXMLを操作する方法の詳細については、
こちらをご覧ください 。
スクリプトはエディターでのみ動作することを追加する価値があります。少なくとも私が見つけたプラグインのバージョンでは、デバイス上のGoogleテーブルの機能を使用できません。これは、一部のライブラリと一部のプラットフォームの互換性の問題によるものです unitypackageで提案したライブラリは、エディター以外のプラットフォームではコンパイルできません。 それでもデバイスでテーブルを使用する必要がある場合、Unityバージョン5では、プラグインインスペクターを使用してプラグインがサポートするプラットフォームを選択できます。以前のバージョンでは、プラグインを目的のフォルダーに配置し
ます 。詳細は
こちら 。
そのため、スプレッドシートはゲーム開発プロセスに不可欠なツールです。 ルーチン作業を最適化し、チーム全体の相互作用を確立し、膨大なデータ配列を視覚化し、数学を使用して計算します。 Google SpreadsheetsとUnityの統合は簡単なプロセスですが、少し知識と努力が必要です。
ここにgithubプロジェクトへの
リンクがあります。
ご清聴ありがとうございました。この記事がお役に立てば幸いです。