「rng」とは
唐突ですが、トランプでハイアンドロー(High and Low)というゲームをしたことがあるでしょうか?トランプ52枚をよく切って、親が一番上のカードを1枚引いて表にして、子はその次のカード(全体としては二番目)を1枚引いて裏返して置きます。
子はカードを表にする前に、自分のカードの数字が親の数字よりも上(High)か下(Low)を宣言し、当たれば子の勝ち、外れれば親の勝ちというのが基本的なルールです。
この最初の「カードをよく切る」という操作が、今回解説する「rng」に関わる部分です。「rng」とは「Random Number Generator」の略で、日本語に訳すならば「乱数発生器」です。
乱数(Random Number)とは
乱数とは、0から9までの十種類の数字を不規則に、かつ、同じ確率(1/10)で現れるように並べられた数列を指しています。
しかし、私たちの身の回りにある乱数に用いる数字(数値)の範囲は、必ずしも0から9ではありません。例えば、サイコロを振って出目を記録するという動作を延々と繰り返せば、1から6が不規則かつ同じ確率(1/6)で現れる数列が出来上がります。
また、先ほどのハイアンドローであれば、よく切ったカードの並びが乱数に相当します。トランプの場合は、各マークごとに1(A)から13(K)の範囲で乱数を生成しますから、サイコロよりはやや複雑ですね。
そして、親が一番上のカードを一枚を引くのは、その乱数の先頭の数字を得ること、子が二番目のカードを引くのは乱数の二番目の数字を得ることで、プログラム上でゲームを実現できます。
発生器(Generator)とは
発生器(発生機)と一口に言っても、発生させるものは様々です。一般名詞や機械工学系の用語としては、電気や振動、蒸気、ガスを発生させる装置を指します。
また、IT関連では、ある条件などに基づいて、プログラムやデータを生成する働きをするプログラムのことを言います。「rng」においては、IT用語としての発生器の意味です。
「rng」の使い方
- このRNGは数値の範囲指定を間違えてないか?
- コンピュータゲームにおいて、RNGは、予測不能な要素を楽しんでもらう点では有効だ。
- コンピュータによる抽選にもRNGが用いられている。
「rng」を利用したシステム
わたしたちの身の回りにある「rng」の 代表格といえば、スロットマシンやカードゲームやすごろくゲームといったコンピュータゲームでしょう。つまり、プレイヤの技量や熟練度よりも運任せの要素が多いゲームです。
たとえば、先ほどのハイアンドローの場合、親の手札が7よりも小さければ「ハイ」、大きければ「ロー」を宣言すれば勝率を上げることはある程度はできますが、やはり、技量よりも運の要素が強いと言えるでしょう。
また、ゲーム全体でなくとも、アイテムのドロップやガチャ、戦闘でクリティカルヒットが発生するかどうかなど、ゲームのある部分に「rng」が関わっているケースも多くあります。
「運ゲー」とは
カードやすごろくのように、プレイヤの技量よりも運によって勝敗が決まるタイプのゲームを「運ゲー」と言います。
「やりこみ系のほうが好きだからRNGはあんまりやらない」というように、「運ゲー」という意味で「rng」という言葉を使用することもあるようです。
また、ここから派生して、現実世界においても運に左右される要素が多い事柄に対して「運ゲー」を使う場合があります。「人生なんて運ゲーじゃん」といった使い方ですね。