見出し画像

[UEFN&Verse]栄誉の仕掛けを使う

開発者サイドから見た栄誉の仕掛けは、自分のゲームをより多くの人に長く遊んでもらえるようにするための貴重な仕掛けだ
遊んでくれたプレイヤーにバトルパスXPをプレゼントすることができる



バトルパスとは

フォートナイトにはバトルパスという機能がある
ゲームを遊ぶことでさまざまな報酬を得られる権利を有料で購入できる機能で、無料で遊べるフォートナイトにとっては重要な集金要素の一つだ
例えばモンストなりグラブルなり日本のソシャゲはイベントで勝つためにガチャを回す
これはイベントの報酬を得るための事前課金なわけだが、ガチャを回さないとイベントの報酬が絶対に得られないわけじゃなが事実上困難なので、結果ガチャを回すというやや回りくどい集金システムだ
バトルパスはストレートにその権限をお金で買う機能だ
バトルパスを購入してフォートナイトをプレイすると様々な条件で、バトルパスXPという経験値のようなものがたまり、80000XPでレベルアップする
その時にバトルスターなるアイテムを取得出来てそれを報酬と交換できる

プロジェクトを作成する

UEFNを起動してプロジェックを作成する
今回はシンプルというテンプレートを使いTestProj01と名前をつけた
UEFNがバージョンアップするたびに新規のプロジェクトを作り直すほうが問題が起きにくいのではないかと思う

今回作成するのはボタンを押したら報酬が得られるだけのシンプルなプロジェクトだ

栄誉の仕掛けを配置する

プロジェクトを作成したら実装に入る
まずはAll > Fortnite > Devicesから栄誉の仕掛けを探してシーンに配置する

アウトライナーからパラメータを調整する
名前
「ボタンの栄誉」
どのような栄誉なのかがわかる名前をつける
XP授与
「中」
極小、小、中、大、特大から選択できるが、得られるトータルのXP値は1つのゲームで決まっており、その範囲内での相対的な量を決める
授与回数
「3」
この栄誉の仕掛けが何回繰り返し使えるか
今回はボタンを3回おすまでXPがもらえる想定
アイコン
適当に錠前のアイコンを選んでみた
どこで表示されるのかよくわからないのだけど小アイコンと大アイコンの二つを指定できる小アイコンには_64を、大アイコンには_128を指定する

ボタンを配置する

All > Fortnite > Devicesからボタンの仕掛けを配置する

Verseコードを編集する

VerseExplorerからTestProj01の下にgame_managerの名前でコードを作成する

コードはこんな感じ
ボタンが押されたらAwardをコールするだけ


using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }

game_manager := class(creative_device):

    @editable Button : button_device = button_device{}
    @editable Accolades:accolades_device = accolades_device{}

    OnBegin<override>()<suspends>:void=
        Button.InteractedWithEvent.Subscribe(InteractedWithButton)


    InteractedWithButton(Agent : agent) : void= 
        Accolades.Award(Agent)

編集できたら保存してVerseコードをビルド
コンテンツブラウザから All > Project01コンテンツ > CreativeDevicesにあるgame_manager Deviceをシーンに配置する

アウトライナーからgame_managerのプロパティを選び、 ButtonとAccoladesを選択する

実装はこれだけだ

動作確認

スイッチを押すと報酬が得られる表示が出る


いいなと思ったら応援しよう!