ちょっと前にネットゲーム中に、ランダム要素”確率”について話が出たのでその事について書いてみようかと思います。
ほとんどすべてのテレビゲームにおいて「確率」による作用が存在しているかと思います。
代表的なのは戦略シミュレーション系の”命中率”だとか、RPGでのモンスタードロップなんかはまさに確率そのものですね。
ファイヤーエムブレムには”味方の命中率99%は命中しないときがあるが、敵の必殺率1%は発動するときがある”なんて格言?はありますし、
ドラゴンクエストでははぐれメタルがエンカウントする確率が高いところ、なんてのが攻略本に書いてあったりします。
まぁ一人用のコンシューマーゲームでは低い確率といっても数十時間はプレイしていれば発生する程度ですが、これがネットゲームとなると話が違います。
ひとつの世界に何千人もの人が同時にプレイするからでしょうが、入手困難なアイテムはどのネットゲームでもものすごく確率が低く、
数年プレイしていたって一度も入手したことがない装備なんてのがあるぐらいです。
大まかな計算ですが、特定のアイテムなんてのは敵を倒したときに数千万分の1の確率でしか入手できないものだとも思います。
また、特に大多数でプレイするオンラインゲームではアイテムが増え続けてしまうことを考え、確率によってアイテムを消滅させてしまう仕様なんかが入っています。
図:Heroes in the Sky内での、装備強化時に一定確率で消滅してしまう旨の説明の図。他のネトゲでも似たり寄ったりな仕様があります。
さて、こんな感じでゲーム内のいろいろなところで使用されている”確率”ですが、そもそもこの確率の結果はどうやって計算されているのでしょうか?
命中率50%の攻撃が当たるか当たらないか、はぐれメタルが現れるか現れないかはどうやって決定しているのでしょうか?
ランダムに決定されることなんだから誰にも分からない、と思う人がいるかと思いますが……でも実を言うと、
コンピューター自身には”完全なランダム”の計算ができません。
そもそもゲームを動かしているコンピューターはすべて人間が決めたとおりにしか動くことができず、そしてあいまいな命令は一切受け付けません。
ゲームの設計書には「1~9の適当な数字を表示する」とか「10回に1回割合で敵が現れる」なんて書くことはできますが、
実際にはコンピューターには無作為な選択なんてものはできないため、どんな結果にも何かしらの計算ルールが存在しています。
(よくテレビなどでの電話調査アンケートで”コンピューターにより無作為に選択した電話番号”とか言われますが、あれは細かいことを言うと
コンピューター自身が無作為に選んだのではなく、”電話する人自身には分からない計算方法で計算した結果で求めた電話番号”になります)
でも実際にゲームではランダムに物事を決定しているときがあるじゃないか……
ということで、次回は各種ゲーム(というかコンピューター)での確率の結果の計算方法を分かる範囲で書いてみたいと思います。
ほとんどすべてのテレビゲームにおいて「確率」による作用が存在しているかと思います。
代表的なのは戦略シミュレーション系の”命中率”だとか、RPGでのモンスタードロップなんかはまさに確率そのものですね。
ファイヤーエムブレムには”味方の命中率99%は命中しないときがあるが、敵の必殺率1%は発動するときがある”なんて格言?はありますし、
ドラゴンクエストでははぐれメタルがエンカウントする確率が高いところ、なんてのが攻略本に書いてあったりします。
まぁ一人用のコンシューマーゲームでは低い確率といっても数十時間はプレイしていれば発生する程度ですが、これがネットゲームとなると話が違います。
ひとつの世界に何千人もの人が同時にプレイするからでしょうが、入手困難なアイテムはどのネットゲームでもものすごく確率が低く、
数年プレイしていたって一度も入手したことがない装備なんてのがあるぐらいです。
大まかな計算ですが、特定のアイテムなんてのは敵を倒したときに数千万分の1の確率でしか入手できないものだとも思います。
また、特に大多数でプレイするオンラインゲームではアイテムが増え続けてしまうことを考え、確率によってアイテムを消滅させてしまう仕様なんかが入っています。
図:Heroes in the Sky内での、装備強化時に一定確率で消滅してしまう旨の説明の図。他のネトゲでも似たり寄ったりな仕様があります。
さて、こんな感じでゲーム内のいろいろなところで使用されている”確率”ですが、そもそもこの確率の結果はどうやって計算されているのでしょうか?
命中率50%の攻撃が当たるか当たらないか、はぐれメタルが現れるか現れないかはどうやって決定しているのでしょうか?
ランダムに決定されることなんだから誰にも分からない、と思う人がいるかと思いますが……でも実を言うと、
コンピューター自身には”完全なランダム”の計算ができません。
そもそもゲームを動かしているコンピューターはすべて人間が決めたとおりにしか動くことができず、そしてあいまいな命令は一切受け付けません。
ゲームの設計書には「1~9の適当な数字を表示する」とか「10回に1回割合で敵が現れる」なんて書くことはできますが、
実際にはコンピューターには無作為な選択なんてものはできないため、どんな結果にも何かしらの計算ルールが存在しています。
(よくテレビなどでの電話調査アンケートで”コンピューターにより無作為に選択した電話番号”とか言われますが、あれは細かいことを言うと
コンピューター自身が無作為に選んだのではなく、”電話する人自身には分からない計算方法で計算した結果で求めた電話番号”になります)
でも実際にゲームではランダムに物事を決定しているときがあるじゃないか……
ということで、次回は各種ゲーム(というかコンピューター)での確率の結果の計算方法を分かる範囲で書いてみたいと思います。