![見出し画像](https://assets.st-note.com/production/uploads/images/80735483/rectangle_large_type_2_55999df6e591b7be6f2c6375ff482bb8.png?width=1200)
ゲームにブロックチェーントランザクション機能を実装する方法|Unity × Moralis Metaverse SDK
この記事は「How to Do Blockchain Game Transactions with Unity」を日本語訳したものです。
Web3ゲームは巨大な業界であり、そのユーザーベースは日々成長を続けています。ブロックチェーンゲームと「通常の」Web2ゲームに参加するWeb3とゲーマーの指数関数的成長は、ブロックチェーンゲームの分散化された側面と収益の可能性が原因である可能性があります。
さらに、ゲーム内のアセットを所有し、それらを実際のお金に交換することも非常に有益です。ただし、ブロックチェーンゲームトランザクションを実行する機能は、開発者がWeb3MMORPGゲームなどのプロジェクトに実装するのが難しいと感じるものです。
幸い、適切なWeb3技術スタックツールを使用すると、UnityでWeb3トランザクションを実装するのは簡単なプロセスになります。MoralisのMetaverseSDKに感謝します、数回のクリックといくつかの基本的な設定で、ブロックチェーンゲームのトランザクションをカバーできます。
今後は、Unityを使用してWeb3トランザクションを数分で実装する方法を説明します。
既存のプロジェクトの1つである単純なMMORPGを使用し、この追加機能を追加します。ただし、過去のサンプルプロジェクトを完了していなくても、問題なくフォローできます。
GitHubを使用して、必要なコードとファイルにアクセスする方法を説明します。また、Moralisの初期設定を完了する方法についても学習します。そうすれば、この「 Firebaseforcrypto」プラットフォームのフルパワー にアクセスできるようになります。
さらに、この例では、WebGLプラットフォームに焦点を当てます。そのため、適切なWeb3認証方法を使用します。それでも、この記事を読むだけでなく、行動を起こすことを強くお勧めします。
ここでの手順を自分で実装してください。そうすることで、この経験を最大限に活用し、ブロックチェーンゲームトランザクションの設定を学ぶことができます。
Unityを使用したブロックチェーンゲームトランザクションが簡単に
次のセクションでは、ブロックチェーンゲームトランザクションをWeb3MMORPGゲームに追加するために知っておく必要のあるすべてのことを説明します。
私たちのコードを使用できるので、約15分ですべてを実行できます。途中で、MoralisとPhotonに必要なセットアップを完了する方法も学習します。
前者はブロックチェーン関連のバックエンドのニーズをすべてカバーし、後者はマルチプレイヤーソリューションになります。ただし、Unity内のセットアップと調整に進む前に、Web3ゲームの例を簡単にプレビューしてみましょう。
動作中のブロックチェーンゲームトランザクション–UnitydAppプレビューの例
ユーザーが最初に表示するログイン画面は次のとおりです。
![](https://assets.st-note.com/img/1655276931224-36BukuQNmJ.png?width=1200)
上のスクリーンショットでは、ゲームの例がユーザーのログインから始まることがわかります。これにはさまざまな方法がありますが、MetaMaskで認証することにしました。後者は、Webユーザーにとって最良の代替手段です。認証するには、ユーザーは「ログイン」ボタンをクリックしてから、 Web3ウォレットを使用してWeb3ログインを確認する必要があります。
Web3ユーザーのオンボーディングを行うもう1つの優れた方法は、QRログインコードを作成することです。そうすれば、ユーザーは自分のデバイスを使用してコードをスキャンするだけで済みます。幸い、これらのオプションはすべて、MoralisのSDKとその統合によって提供されます。MetaMaskはWebユーザーに最適なソリューションですが、WalletConnectはモバイルユーザーに最適です。ただし、ユーザーは使い慣れたWeb2ログイン方法を好む場合があることに注意することが重要です。したがって、 Moralisは、電子メールおよびWeb3ソーシャルログインを介したWeb3認証も可能にします。
デモを続けます。新規ユーザーがログインすると、「JOIN ROOM」ボタンをクリックして、ゲームに参加する機会があります。
![](https://assets.st-note.com/img/1655276968935-gANqh7LmQL.png?width=1200)
上の画像を見ると、画面の下部にもメッセージが表示されています。後者は、ログインが成功し、ウォレットアドレスがゲームに接続されたことをユーザーに通知します。そのため、彼らはゲームに参加することができます。ユーザーが「JOINROOM」ボタンをクリックすると、「ゲーム」シーンがロードされます。
![](https://assets.st-note.com/img/1655279477886-Rxs81ri1Jn.png?width=1200)
さらに、ゲームは、シーンにドロップされるキャラクターをユーザーにランダムに割り当てます。
![](https://assets.st-note.com/img/1655279490823-T1fQobUJGQ.png?width=1200)
UnityとのWeb3トランザクションはどのように機能しますか?
シーンがロードされ、ユーザーのキャラクターが追加されると、ユーザーはキャラクターを移動できます。さらに、下のスクリーンショットでわかるように、文字の上に表示されるユーザーのアドレスの一部もあります。
![](https://assets.st-note.com/img/1655279512164-8fuiLsy7PU.png?width=1200)
さらに、キャラクター間の相互作用に関しては、基本に固執することにしました。ただし、これはブロックチェーンゲームトランザクションを実行するのに十分です。プレイヤーが他のキャラクターの近くにいるとき、彼らはそれらをクリックすることができます。これにより、ユーザー名とウォレットアドレスが表示されます。
![](https://assets.st-note.com/img/1655279531098-mKIiVbgbqK.png?width=1200)
上の画像でわかるように、ユーザーのユーザー名とアドレスの他に、[トランザクション]ボタンもあります。したがって、このボタンをクリックすると、ユーザーはブロックチェーンゲームトランザクションを実行できます。
![](https://assets.st-note.com/img/1655279988448-lS9VN1o38e.png?width=1200)
「ネイティブトランザクション」のタイトルが示すように、Unityを使用したこれらの種類のWeb3トランザクションは、ネイティブトークンまたはコインをサポートします。ユーザーが送信したい金額を入力し、「実行」ボタンをクリックすると、MetaMaskは確認を求めます。
![](https://assets.st-note.com/img/1655280005640-0tMeh22o5U.png?width=1200)
もう1つの優れた機能は、Moralisのクロスチェーン相互運用性です。後者を使用すると、他のチェーンで上記のブロックチェーンゲームトランザクションを実行できます。これを行うには、ユーザーはMetaMask拡張機能を使用して別のネットワークに切り替えるだけです。
![](https://assets.st-note.com/img/1655280016134-X1g6rjTl4T.png?width=1200)
上記の手順をもう一度繰り返すと、ETHの代わりにBNBを送信できるようになります(BNBチェーンネットワークがすでにMetaMaskに追加されている場合)。
![](https://assets.st-note.com/img/1655280025454-UHIDoC3UHH.png?width=1200)
UnityとMoralisを使用したブロックチェーンゲームトランザクション
Moralisは究極のWeb3開発プラットフォームです。したがって、UnityとのWeb3トランザクションを可能にするツールです。ただし、上記のサンプルゲームを自分で作成するには、PhotonとMetaMaskも必要です。Photonがマルチプレイヤーのニーズに対応しますが、ブロックチェーンゲームのトランザクションを可能にするのはMoralisです。この最高のWeb3バックエンドプラットフォームにより、dApp(分散型アプリケーション)の作成が非常に簡単になります。全体として、Moralisを使用すると開発時間を87%節約できます。さらに、前述のように、Moralisはクロスチェーンの相互運用性があります。したがって、dAppを複数のプログラム可能なチェーンに簡単にデプロイできます。さらに、この驚異的なWeb3ツールを使用すると、RPCノードのすべての制限を克服できます。。バックエンド開発に時間とお金を節約することで、フロントエンドに最大限の注意を向けることができます。そのため、優れたWeb3UIを作成する可能性があります。
![](https://assets.st-note.com/img/1655280061680-r4c43FPEjn.png?width=1200)
幸いなことに、Moralisの無料バージョンはあなたが始めるために必要なすべてをあなたに提供します。無料のMoralisアカウントを作成すると、Moralisサーバーを作成し、そのデータベース(Moralisダッシュボード)にアクセスできます。次に、MoralisダッシュボードをMoralisの「同期」機能と組み合わせると、スマートコントラクトイベントを簡単に同期してインデックスを作成できます。これはまた、Moralisをブロックチェーンに簡単にインデックスを付けるための最高のツールにします。それでも、まだ行っていない場合は、先に進む前に、必ず無料のMoralisアカウントを作成してください。
Unityサンプルプロジェクトをダウンロードする
前に触れたように、以前に提示されたWeb3MMORPGのコード全体をGitHubで利用できるようにしました。これはUnityでWeb3トランザクションを実装するためのベースであるため、以下の手順に従うことをお勧めします。実際、これを実行する最良の方法は、サンプルプロジェクトのZIPファイルをダウンロードすることです。
![](https://assets.st-note.com/img/1655280086203-aYvwwB03Td.png?width=1200)
ZIPファイルをダウンロードしたら、解凍してUnityで開きます。次に、MoralisSDKがプロジェクト内にすでにインポートされていることを確認できます。
![](https://assets.st-note.com/img/1655280252392-J2HHQrvccu.png?width=1200)
ただし、このサンプルプロジェクトでは、「Project」フォルダーに焦点を当てます。後者の中には、「ゲーム」と「ログイン」のシーンを含む「シーン」フォルダがあります。後者から始めましょう:
![](https://assets.st-note.com/img/1655280263329-b2Z0F3OlUr.png?width=1200)
Unityを使用したWeb3トランザクションの実装–「ログイン」シーン
「ログイン」シーンを開くと、階層内の「MoralisSetup」プレハブにアクセスできます。さらに、そのプレハブを選択することで、「MoralisController」に着陸します。これは、必要なバックエンドサポートを取得するためにMoralisサーバーの詳細を入力する必要がある領域です。
![](https://assets.st-note.com/img/1655280285691-SUk5yzmZkj.png?width=1200)
上の画像は、「MoralisSetup」プレハブの詳細を明確に示しています。MoralisサーバーのURLとアプリケーションIDが必要であることがわかります。したがって、これは、独自のMoralisサーバーを作成してその詳細を取得するための手がかりです。
モラリスの初期設定
Unityまたは他のdAppを使用してWeb3ゲームを作成することに興味があるかどうかにかかわらず、Moralisの初期設定から開始する必要があります。これを簡単に行うための手順は次のとおりです。
1 Moralisアカウントにログインする–この時点で、すでにアクティブなMoralisアカウントを持っている可能性があります。したがって、ログインするだけです。ただし、Moralisアカウントをまだお持ちでない場合は、上記の「無料のMoralisアカウントを作成する」リンクを使用すると、登録ページに移動します。そこで、メールアドレスを入力し、パスワードを作成し、メールアドレスに送信されるリンクをクリックしてアカウントを確認します。
![](https://assets.st-note.com/img/1655280302998-fT5SNLGQln.png?width=1200)
2 Moralisサーバーの作成– Moralis管理エリア内に、[サーバー]タブ内の右上隅にある[+新しいサーバーの作成]ボタンが表示されます。新規ユーザーとして、ページ上のチュートリアルに従うことができます。
![](https://assets.st-note.com/img/1655280461328-tmNZAtSF69.png?width=1200)
次に、適切なネットワークタイプを選択する必要があります(下のスクリーンショットを参照)。サンプルプロジェクトで作業したり、dAppをテストしたりする場合は、「TestnetServer」または「LocalDevchainServer」が最適なオプションです。ただし、稼働するときは、「メインネットサーバー」オプションを使用する必要があります。
![](https://assets.st-note.com/img/1655280470246-6jcx6ulVRh.png?width=1200)
次に、サーバーの詳細を尋ねるポップアップウィンドウが表示されます。したがって、サーバーの名前を入力してから、地域、ネットワークタイプ、およびチェーンを選択します。最後に、「インスタンスの追加」をクリックしてサーバーを実行します。
![](https://assets.st-note.com/img/1655280478638-WAV5JaOOy1.png?width=1200)
3 サーバーの詳細へのアクセス–サーバーが稼働状態になったら、[詳細の表示]ボタンを使用してサーバーの詳細にアクセスできます。
![](https://assets.st-note.com/img/1655280498146-IpVtpbs0P7.png?width=1200)
そうすることで、新しいウィンドウに詳細が表示されます。右側のコピーアイコンを使用すると、サーバーのURLとアプリケーションIDをコピーできます。
![](https://assets.st-note.com/img/1655280506714-0GZKrUgnWW.png?width=1200)
4 Unityにデータを入力する–あとは、上記でコピーした詳細をUnity内の適切なフィールドに貼り付けるだけです。
![](https://assets.st-note.com/img/1655280522925-LeVeAht4l9.png?width=1200)
WebGLでのブロックチェーンゲームトランザクション
このプロジェクトを完了するには、設定にいくつかの初期調整を加える必要があります。デフォルトでは、WalletConnectを使用してユーザーを接続できます。これは、AndroidおよびiOSデバイスに最適です。ただし、この例では、Webユーザーに焦点を当てたいと思います。したがって、[ファイル]> [ビルド設定]に移動し、[WebGL]を選択して、[プラットフォームの切り替え]ボタンをクリックします。
![](https://assets.st-note.com/img/1655280549206-ZxlC7Dj1Na.png?width=1200)
次に、Unityに任せます。次に、「ビルド設定」ウィンドウの左下隅にある「プレーヤー設定」ボタンをクリックします(上の画像を参照)。「プロジェクト設定」ウィンドウ内で、サイドメニューから「プレーヤー」を選択します。次に、「解像度とプレゼンテーション」の下にある「MoralisWebGL」テンプレートを選択します。
![](https://assets.st-note.com/img/1655280559242-UOOZEAeMSl.png?width=1200)
Unityを使用したWeb3トランザクションとマルチプレイヤーニーズの基礎
これまでに何度か述べたように、私たちの例のWeb3ゲームはMMORPGです。そのため、マルチプレイヤー機能が適切にカバーされていることを確認する必要があります。そのため、Photonを使用します。必要なのはPhotonアプリIDだけで、後でUnityの「Photonサーバー設定」に貼り付けます。ただし、最初にPhotonアカウントを作成する必要があります。Googleを使用して「フォトンエンジン」を検索できます。次に、そのホームページへのリンクをクリックして、アカウントを作成します。サインインしたので、ダッシュボードに移動する必要があります。
![](https://assets.st-note.com/img/1655280585346-rEtUah3ZMZ.png?width=1200)
ここからPhotonアプリIDにアクセスします。ただし、Photonを初めて使用する場合は、最初に新しいアプリケーションを作成する必要があります。
![](https://assets.st-note.com/img/1655280594188-AMSq9LovBK.png?width=1200)
次に、「フォトンタイプ」の下の「PUN」を選択します。
![](https://assets.st-note.com/img/1655280603215-48XQmngX5N.png?width=1200)
他の詳細はあなたが望むものなら何でも構いません。最後に、「作成」ボタンをクリックします。新しいアプリを作成したら、そのIDをコピーしてUnityに貼り付けることができます。
![](https://assets.st-note.com/img/1655280634953-z7sav4deJQ.png?width=1200)
そのため、Unityの検索ツールを使用して、「設定」と入力します。提供された結果の中で、「PhotonSer…」を開きます。
![](https://assets.st-note.com/img/1655280648311-k69LzcX66v.png?width=1200)
このサンプルWeb3ゲームのバージョンをテスト実行するには、「ログイン」シーンと「ゲーム」シーンの両方を「ビルド設定」に追加してください。したがって、「ファイル」メニューから「ビルド設定」を開きます。次に、両方のシーンを「ScenesInBuild」の下のフレームにドラッグアンドドロップします。
![](https://assets.st-note.com/img/1655280657942-uRMxvC1vmR.png?width=1200)
注:Web3ゲームの実行方法の詳細については、08:14から始まる以下のビデオを使用してください。
Unityを使用したWeb3トランザクションの実装–「ゲーム」シーン
今こそ、ブロックチェーンゲームトランザクションを実装する方法に焦点を当てるときです。これは「ゲーム」シーン内で行います。そのため、このシーンを開くことから始めます。「Canvas」プレハブの下に、次の3つのパネルが表示されます。
![](https://assets.st-note.com/img/1655280805585-2dOJHyqmTA.png?width=1200)
他のプレーヤーをクリックするとアクティブになるのは「OtherPlayerPanel」です(記事の冒頭のデモを思い出してください)。そのため、必ず「OtherPlayerPanel」ボックスにチェックマークを付けてください。
![](https://assets.st-note.com/img/1655280816722-79Oo5iIfaE.png?width=1200)
次に、「TRANSACTION」ボタンをクリックし、「TransactionPanel」プレハブ内の「TransactionPanel」の横にあるチェックボックスをオンにします。これにより、「トランザクション」パネルが開きます。
![](https://assets.st-note.com/img/1655280835712-3K69idyKX3.png?width=1200)
これで、「TransactionPanel」ボックスと「OtherPlayerPanel」ボックスのチェックを外すことができます。上記の目的は、パネルがどのようにアクティブ化されるかを示すことでした。さらに、これらすべてが「OtherPlayerPanel」内で管理されていることがわかります。それでも、これを実現するコードの詳細に興味がある場合は、10:33に以下のビデオをご覧ください。そのビデオでは、Moralisの専門家が「OtherPlayerPanel」スクリプトを詳しく見ていきます。ここでは、「MoralisInterface」メソッドと、「SendTransactionAsync」を含むいくつかの実用的なMoralisSDKエンドポイントについて学習します。最後になりましたが、最終結果を表示するには、12:29のビデオ命令を使用してください。
これが、記事全体で参照しているビデオです。
Unityでブロックチェーンゲームトランザクションを実行する方法–まとめ
この記事では、かなり多くのことを取り上げました。Unityでブロックチェーンゲームトランザクションを簡単に行う方法を学びました。また、MoralisとPhotonの初期設定を完了することで、テンプレートを使用して、サンプルのWeb3ゲームを数分で作成する機会がありました。さらに、私たちの先導に従って、ゲームを自分の側で起動し、UnityでWeb3トランザクションを実行することもできます。
この例があなたにインスピレーションを与え、MoralisのMetaverseSDKの可能性を示したことを願っています。したがって、物事を次のレベルに引き上げ、Web3ゲームのアイデアを実現し始めるのはあなた次第です。ただし、他のUnity Web3の例を取り上げたい場合は、メタバースdAppの作成方法を学ぶことをお勧めします。
または、おそらく中世のメタバースゲームを構築します。一方、ブロックチェーン開発の他の側面に興味があるかもしれません。もしそうなら、MoralisのYouTubeチャンネルとMoralisのブログをチェックしてください。
これらのアウトレットは両方とも、高品質の説明とガイドを提供します。たとえば、最新のトピックのいくつかは、Web3音楽プラットフォームを作成する方法をカバーしています。
ガスレスメタバースインタラクション、ERC-721 NFTの作成方法、ホワイトラベルNFTマーケットプレイスのランチ方法、メタバーススマートコントラクトの例。
ただし、最短時間でWeb3開発者になりたい場合は、より専門的なアプローチをとる必要があるかもしれません。その場合、モラリスアカデミーに登録するのがあなたにとって正しい道かもしれません。
一流のコースの他に、高度なコミュニティのメンバーになり、パーソナライズされた学習パスを取得し、専門家の指導を受けます。