【考察】ゲームで望ましい乱数の活用
<注意事項>
・ウディタ脳寄り(個人で楽しむゲーム制作)の話になってる可能性
・内容はザックリ&雑&ニュアンス
・統計をかじったような忘れたような人間の戯言
<前置き>
予想外なゲーム展開は乱数によって引き起こされる。
その乱数をゲーム制作する側に立って、モヤモヤしたので書いた記事。
<先に結論>
①乱数は刺激。確率だけでなく演出にも概念を応用できる
②うまく調整してゲームを面白くしよう、したい
③ただし、胡散臭い確率操作はしないようにしよう
<概念的なこと>
①ゲームの乱数
乱数というのは、要するに確率に使われる。
RPGやSRPGで言うところの
命中率だったり、アイテムドロップ率だったり
ガチャの確率だったりと……低確率ほど驚きが発生する。
②確率は収束する
確率というのは回数を重ねるほど
必ず理論値の誤差内に収束する性質がある。
仮に「1%が連続で当たった!」などの段階で
回数をストップすると、ズレが生じたりはする。
③乱数は期待値の範囲内か外である
乱数は、予想できる結果と予想できない結果のどちらかが出る。
それは期待値におさまるかもしれないし、ならないかもしれない。
<気にしておくこと>
①乱数の仕様は平等である
例えば、0~99の数字が書かれた100個のボールが箱の中にあるとする。
このボールをランダムに1個取る。
出たボールの数字を商の余り計算で
%5した場合(数字を5で割った余りの数)を結果の値とするなら
どの数字が出る確率も同じため、平等と思えるだろう。
ただし、%3や%6などの100を割り切れない数は、微妙に低い数字に偏り
不均一な比率=不平等(=バレづらいインチキ)になってしまう。
プログラミングでサイコロの1~6を出すことを考えると
プログラム側では100個の乱数ボールというレベルではなく
もっととてつもなく大きい数の範囲から
それっぽく見える乱数(疑似乱数)を作った値を作る。
その値を%6した数値に+1したものを出していると考えられる。
このとてつもなく大きい数字も
正確には平等かどうかは実際には分からない。
だが、無視できる誤差=平等という扱いになる。
②乱数の結果は不平等である
確率や比率が理論的には平等であっても
運が……悪い人、良い人の偏りは必ず出てくる。
ある程度の年齢の人ならば経験的にわかるはず。
ゲーム内では個人が確率収束するまで
回すことはほとんどないと思われます。
仮に、1/100が差異±10%内になる回数は……
正規分布で考えると
約40000回の試行で約95%の確率で収まる
=>平等(理論値)に近い結果になるようです。
※あくまで確率に収まる確率
(ガチャなら、そんなに回してられるかっ!!状態ですよね…)
③この確率はおかしい?
とあるゲームでの出来事。
命中率98%で2連続で外れた。
これはどちらも、結果を受信した側の
状況によって変化した感想であって
ここだけで判断できる内容ではないです。
まあ、状況を左右する一撃だったなら
「おかしい!」という心情にはなりますね。
<結局、何が言いたいか?>
①ゲームを面白くするのが重要
乱数が絡む要素として、
ゲームが面白くなるのは下記と思う。
・思った通りの出来事が起きる(高確率、予想内、通常)
・予想外の出来事が起きる(低確率、予想外、イベント)
この2つの出来事=乱数による相互作用は
ターゲットやジャンルによって比率を変えて生きている。
大まかなジャンル分けによって例を上げてみた。
ニュアンスで書いてるので、雑な内容なのはご容赦を。
ゲーム外での乱数も登場してメチャクチャですが
数字的な乱数だけで考えるのではなく
ゲームを遊ぶ流れで
ランダムな経験を与える、乗り越える
またはランダム要素を抑制してバンバン遊べることが
面白い乱数ということではないか?との結論に至りました。
②乱数をうまく使う
前記の<気にしておくこと>で触れた内容に戻る。
乱数の仕様は平等だが、結果は不平等にもなる。
結局は受信側の気持ち次第である。
=>なら乱数をうまく使って、面白くしよう!
<乱数を回避させる>
通常時は確率で判定させてスパイスに
イベント時はスキルや装備などの選択肢も与える。
例:確率命中を必中にするスキルや装備
例:クリティカルを喰らわないスキルや装備
<理論値を上昇させる>
通常時は確率で判定させて仕様把握させ
イベント時はスキルや装備などで確率調整させる
例:命中率を上昇させるスキルや装備
<乱数での失敗/成功を制限する>
20回中、1回だけの失敗/成功の確率に抑える
例:クジ引きのようにDBにアタリ/ハズレを入れておく
一時的に連続で失敗しないようにする。
例:2発目は外さないスキル
例:4連続失敗は防ぐ内部処理
例:クリティカルは1ターンに1回の制限
<乱数を使ってるように見せかける>
実際に乱数は使ってないが、期待値を煽る
例:ここでオバケが出てくる雰囲気→出てきたり出てこなかったりする
例:救助ヘリに乗ってる→不運にも墜落した
例:遭難して誰も来ない場所→幸運にも人が居た、クマに助けられた
いずれも状況によって使うかどうかよく考える必要がある。
あまりにもあからさまで白けたり
逆に他人の不幸……低確率で失敗する様を見て
面白いという場合もあったりとケースバイケース。
何にしろ、どれも文章説明でフォローしたり
ゲームシステムとして特徴説明したりするのが良いと思う。
(結局、普通のゲーム制作の話に戻った気がする)
<気をつけたいこと>
①ガチャを始めとする景品の確率・印象操作
景品表示法に近いような話だが、
確率は正確に表示し、その確率を偽ってはいけない。
また、その確率が正しいか必ず検証すること。
無料・有料に関わらず心がけたい部分だと思う。
課金要素のないゲーム、例えば
SFCのDQ5にあったようなカジノをモチーフにしても
ユーザーに不利な確率は作らないほうが賢明だろう。
ただ、有利すぎる確率も白ける原因になりそうなので
バランスを取った誠実なシステムが無難なのかもしれない。
②過度な確率操作をしない
前記の『②乱数をうまく使う』部分でも書いたが
違和感のある説明のない確率操作はしないほうが良い。
もし特殊な乱数や確率操作をしたいなら
そういうシステムとして組み込むか
オプションとしてON/OFFできるようしたりして
必ず説明を付け加えるのが肝要だと思う。
③確率がボトルネックのゲームを作らない
これは個人的な経験や感想に近いかもしれないけど
運ゲーで突破できるかどうかなゲームは面白くない。
そこだけに焦点を当てれば面白くなる要素はあるので
一概には勿論言えないが、要約すると
「5%のドロップ率の素材が5個あればシナリオ進行する」
「突破率0.01%(ほぼ突破できない構成のランダムダンジョン)」
とかのゲームは勘弁して欲しいということだけ。
④現実は乱数で動いていない
これも個人的な経験や感想に近いかもしれないけど
自然や現実は、確率論や乱数で動いてるものではなく
確定的に動いた相互作用の結果である。
乱数はその動きを説明/観測できないものの証明や
あるいは意識なき数字として扱われるだけ。
ゲームで得られる乱数は、現実の過程を省略した
シミュレーション体験のようなもの。
その辺を念頭に入れておきたい。
この記事が気に入ったらサポートをしてみませんか?