見出し画像

【超基本編】BF2042のルールエディタを知ろう!

この記事書いたのは、BF2042発売前の2021年11月8日です。

本シリーズでは、プログラミングを触ったことがないが、BF2042で鯖缶をやりたいという人向けの記事です。

なお、この本稿では、「IF文やFOR文、WHILE文、変数概念といった関係について」や「各関数の機能」と言った類には、全く触れません。超概念的な話だけします。

BF2042 Portalのルールエディタを、操作する上で基本的なことを書いていく。本稿は、このルールエディタの概念的な触り方を、説明していく。欲しい情報だけ見たいと思うだろうが、今までプログラミングを触ったことが無い方は、出来るだけ最初から読むことをおすすめする。

ルールエディタの内部動作について

ザックリ専門用語で言うと、BF2042 Portalのルールエディタは、ビジュアルプログラミング言語で、動作はイベント駆動型です。

はい。ここで「わけがわからないよ」と言って、ブラウザバックしないでください。説明します。

ビジュアルプログラミングとは…

ビジュアルプログラミング‐げんご【ビジュアルプログラミング言語】

直感的な視覚表現でプログラム作成が可能なプログラミング言語。動作・命令に対応するアイコンや短文を組み合わせて画面に配置すると、簡単なアニメーションやゲームを作ることができる。初等教育などで利用され、プログラムの仕組みを楽しく学べるよう工夫されている。スクラッチ、プログラミン、ビスケットなどがある。グラフィカルプログラミング言語。

VPL(visual programming language)。GPL(graphical programming language)。

上記は、「ビジュアルプログラミング言語 コトバンク」から引用です。

BF2042 Portalのルールエディタのイメージ図では、こんなのが出てきたと思います。(画像は公式の画像)

画像3

この画像ですが、なんかブロックみたいなものを組み合わせいますよね。
このようにグラフィカルにプログラミングすることを指します。

なお、一般的な、プログラミング言語というのは、下記のようなテキストで書かれた文章を書くことを指します。(画像のソースコードは、自分が以前適当に書いたdiscord Botプログラムの一部)

スクリーンショット 2021-11-08 175432

イベント駆動型プログラミングとは…


イベント駆動

プログラミング言語において、ユーザーやOSなどから入出力などの要求が発生した時点で実際の処理を実行するプログラムの動作方法、または概念のこと。イベントドリブンとも呼ぶ。この概念を用いたプログラムを、イベント駆動型プログラミングという。この場合のイベントとは、マウスのクリックやキーボードのキーを押すことなどを指す。イベント単位でプログラミングが行えるため、処理の分割や開発が容易になる。WindowsやMac OSなどのGUI環境で動作するアプリケーションはこの概念を用いて開発が行われている。

上記は、「イベント駆動 コトバンク」から引用です。

画像3

また、さっきの公式のイメージ図を引用しますが、この図をよく見ると、「MOD」と言うグレーのボックスの中に、「RULE」という紫のボックスがありますよね。(公式の画質が、低すぎてクッソ分かりづらいが…)

画像4

これ1つで、1つのイベントを動作させることになります。例えば、このRULEボックスは、イベント「ゲームが始まった(event [Ongoing] [Global])」が原因になって動作します。そして、この中身(CONDITIONとACTIONS)に入っている内容を実行すると言う形になります。

逆言うと、このRULEボックス内に処理がないと、いくら難解なプログラムを書いたとしても動かすことは出来ません。なぜならば、そのプログラムへの行先が無いからです。問題ない場合をイメージ図にすると、こんな感じです。

スクリーンショット 2021-11-08 185624

この画像では、「BF2042 GameServer」から、「ゲームが始まりました!」という信号が、「ルールエディタ」へ送られます。そして、それが、「該当するRULEブロック」を経由して、「やりたいこと」へ、辿り着きます。

スクリーンショット 2021-11-08 185636

しかし、この上の画像では、「ルールエディタ」の後、「該当するRULEブロック」が存在しないため、「やりたいこと」へ、辿り着けません。

色とりどりのブロックについて

画像8

この画面を見て、ふと、「なんか色とりどりのブロックあるなぁ…」と思った方いると思います。これちゃんと意味あります。

「紫」ー イベント受信
「黄」ー 関数
「緑」ー 変数 / 任意の値 / 演算子
「オレンジ」ー ループ
「青」ー 条件

こんな感じで意味があります。

先ほど、「紫(イベント受信)」ブロックについては、説明しましたが、処理の始まりですね。

「黄(関数)」ブロックですが、何かをBF2042サーバにしてほしい場合に使用します。例えば、「武器の威力を100にして!」という命令を実行する時に使います

「緑」ブロックは、多くの意味があります。

「緑(変数)」ブロックは、何かのゲームシステムが持っている情報が格納されていたり、自分が設定した情報を格納する場所だったりします。

「緑(任意の値)」ブロックは、完全に手で入力した内容です。

「緑(演算子)」ブロックは、そもそも論、「演算子」って何と思われるかもしれませんが、物の比較や、計算の為に使用するものです。

「オレンジ(ループ)」ブロックは、繰り返し何かを行いたい時に使用します。

「青(条件)」ブロックは、「もし~が~ならば」などと言った、条件があって、それを持って判断すると言う場合に用います。

おわり…

あれ!?おわり!?この処理の作り方教えてよ!と思われそうですが、終わりです。これ以上の説明は…他の方が書いた文章を読みたまえ…( ˘ω˘ )