BF6 Portalの説明
ルールエディタとは何?
BF6 Portalにおいて、一連のルールを設定するための「ルールエディタ」というものが存在しています。
これは、ビジュアルプログラミングで書くことができますが、他にも、TypeScriptで書くこともできます。
本記事では、ビジュアルプログラミングではなくTypeScriptで書くときのプログラミングの仕方を説明いたします!
TypeScriptとは何?
プログラミング言語の1つです。Webサービス開発やスマートフォンアプリケーション開発において使われることが多い言語と言われています。(これ以上書くとあらゆるところから刺されそうなので、黙ります)
今回のBF6 Portalにおいては、ルールエディタを用いる場合に使います。
TyeeScriptを使うために必要なツール群
TypeScript(以降、TSと呼ぶ)では、使うのに当たって、ほぼ必ず必要なツールが1つあります。
それが、VSCodeです。
これには、関数・変数名などの推測文字表示機能やデバック機能などがあり、BF6 Portalのルール編集ではデバック機能などの多くの部分が役に立ちませんが、「関数・変数名などの推測文字表示機能」がとてつもなく役に立ちます。
また、おすすめするVSCodeのプラグインがあります。こちら「Codex – OpenAI’s coding agent」があります。
こちらは、OpenAIが用意しているプログラミング用のAIが使用できるようになるプラグインです。
文法など分からない点があれば、聞くことができますので、おすすめです。OpenAIのChatGPT Plusでも使えるので、金銭的にも楽だと思います。
環境構築をしてみよう!
1. VSCodeのインストール
下記のリンクから、ダウンロードしてインストールしてください。
完成品には関係ないのですが、開発中には欲しいので、インストールしておきます。
2. BF6 PortalからSDKをダウンロード・解凍
下記リンクに行くとBF6 Portalのページに飛び、「SDKをダウンロード」で、SDKをダウンロードしてください。
また、ダウンロードしたものは、zipファイルなので、解凍もしてください。
3. サンプルテンプレートをダウンロード
私が、「Battlefield6-SampleTemplate」というBF6 Portalのルールエディタのサンプルテンプレートを用意したので、ダウンロードしてください。
zipでダウンロードした場合は、解凍してください。
4. VSCodeでサンプルテンプレートを開く
サンプルコードのフォルダを、VSCodeで開きます。
5. サンプルテンプレートに、SDKを設置する
サンプルテンプレートには、BF6 PortalのSDKが含まれていないので、サンプルテンプレートのcodeフォルダに、SDKのcodeフォルダの中身をコピー&ペーストします。
大体、下記のようなファイル構成になっていれば大丈夫です。
(※ test.mdは要らないです)

6. テストプログラムを書いてみる
「sample.ts」というテキストファイルを用意してください。そこに下記のように書いてみてください。
export function OnPlayerJoinGame(eventPlayer: mod.Player) {
mod.DisplayNotificationMessage(mod.Message(mod.stringkeys.start1, eventPlayer), eventPlayer);
}
また、「sample.strings.json」というテキストファイルを用意して、下記のように書いてください。
{
"start1": "Hello World {}"
}
入力する際に、「mod.」と書いたときに、「DisplayNotificationMessage」や「AIBattlefieldBehavior」などの文が出てきませんでしたか?
これが、統合開発環境が持つ、「関数・変数名などの推測文字表示機能」です。
わざわざ、どんな処理群(関数)があるか?などと探す必要がなくなります。
作ったファイルは、ルールエディタから「スクリプトの管理」アイコンをクリックし、sample.tsを、カスタムスクリプトとして登録。sample.strings.jsonをテキスト文字列として登録してください。

そして、プロジェクトを保存すれば、ゲーム内のマイ・エクスペンス欄で登録したものが確認でき、ゲームとして使用することが出来るようになります。
7. 自分のルールを実行してみよう
BF6を起動し、ゲーム内のメニューにある「マイ・エクスペンス」をクリック。
保存しておいたプロジェクトをクリックすると、自分が作ったエクスペンスが動きます。
なお、正常に動くと動画のように、ゲームに入った瞬間に、右下に「Hello World 自分の名前」と表示されます。
確認してみてください。間違っている場合、プロジェクト保存する段階にエラーが出たり、ゲーム内で実行した時では何も表示されません。
以上、環境構築終了
本記事では、環境構築を行いました。
これで多少は、TypeScriptでのプログラミングが楽になりました。
ぜひ、お試しください。
後日、BF6 Portalで使えるプログラム群の解説をしたいと思います。