前回に引き続きランダムについて書きたいと思います。
コンピューターにはランダムに物事を決めることはできない、ということを書きました。
しかしこれではテレビゲームとしての面白みにかけてしまうため、ゲーム開発者大まかに分けて、以下のふたつの方法で、プレイヤーから見ればランダムに見えるような細工をします。
方法1:プレーヤーが簡単には解明できないルールを用意する。
方法2:ゲームソフトを作る道具にある、予め用意された暗号を使う。(開発言語のランダム関数を使用する)
どちらも、突き詰めていくとランダムでは決してない原理です。
方法2は今度のネタにするとして、今回は方法1について書いていきます。
方法2ではコンピューターにかかる負荷が比較的高くなってしまうため、テレビゲームでは主に方法1を使用します。
何気なくプレイしていると運不運で決め付けてしまう結果には、実は運などではなく予め決められた結果である、ということです。
例をあげるとキリがありませんので、思いつく有名な何例かを挙げてみました。実際にベネリ本人が確認したものでもあります^^;
例1:PS2版ドラクエ5のスロットマシン
ドラクエ5のゲーム内にはカジノがあり、そこのスロットマシンでは一回ごとにランダムに絵柄が表示され、特定の並び順になったときに儲かる仕組みとなっています。なんてことはない普通のスロットですね。
ですが実は、スロットの結果はランダムでは全然ありません。
まず第一に、絵柄の表示される順番がすでに決まっています。例えば最初に絵柄の並び順がAというパターンでしたら、次はBパターン、次はCパターンと続いていき、数百回ぐらいでしょうか、そのうちまたAパターンとなって、BCと続いています。
これは、スロットの台によって必ず儲かるか損するかを予め決めておくためだと思われます。ゲーム中の人物がどこどこのスロット台は儲かりやすい」と教えてくれるのですが、その台は必ず儲かるようになっているのでしょう。
そして次にスロット台が一番最初に表示している絵柄ですが、これはゲームデータロード後の経過時間によって決定されています。
ある街でゲームデータをロード後、一定の時間ちょうどにスロット台のところに行くと似たような絵柄となります。
タイミングを合わせると、簡単にスロットの絵柄が揃って儲かります。
攻略サイトでは実際に設ける詳細の方法が書いてあることが多いですので、運を天に任せて?スロットをするのは馬鹿らしいわけです^^;
例2:ウルティマオンラインのスキル上げ
ウルティマオンラインというゲームでは、魔法などの能力(スキル)は使うごとに成長していきます。成長するかどうかはそのスキルを使用する毎にランダムに決定され、使い続けることでだんだんと成長していくわけです。
……だと最初は思われていましたが、どこかの勇士?が成長するかどうかのルールを解明しますw
実は、スキルがあがるかどうかは”スキルを使用した座標”で決定されていることがわかりました。
例えば、マップの上から100マス、左から200マスで魔法を使った際に魔法スキルが成長したならば、そこから上または下8マスに移動して魔法を使うとほぼ確実にまた成長します。一度成長した位置が分かれば、あとは8マスの移動を繰り返せば簡単に成長するのです。
なぜ成長するのかの考察を書くと長くなるので省略しますが、サーバー負荷との兼ね合いを考えてあまり複雑な成長ルールにしたくなかったのだと思います。
例3:リネージュⅡのイベントアイテムドロップ
これは今では使用できませんが、昔はものすごく活用させていただきました……
オンラインゲームのリネージュⅡでは記念日など特定の期間に、モンスターを倒した際にランダムで特別なアイテム(文字アイテムと呼ぶ)が手に入ることがあります。分かる人には分かると思いますが文字イベントというものです。
その文字アイテムは何かしらのアルファベットが書いてあり、特定の文字列を揃えると完了というものです。で、そのアイテムは普通にモンスターを倒しているとなかなか手に入らないので、集めるのに苦労するわけです。
まぁ、実際はランダムドロップではないので方法さえ知っていればいとも簡単に揃うのですが……
文字アイテムがドロップするかどうかは、ランダムではなく何時に倒されたかで決定していました。43.2秒周期というものです。
24時間で2000個のドロップ率と見込んだのでしょうか、何かモンスターを倒して文字アイテムがドロップされた場合、その43.2秒後にモンスターを倒すと必ずまた文字アイテムがドロップされました。誤差は0.5~1秒ぐらいだったと記憶しています。
やり方としては、まず自分の一回の攻撃がボタンを押して何秒後にダメージを与えられるかを計測しておきます。確か4秒だったと思います。そして適当にモンスターを倒し、文字アイテムがドロップされたタイミングでタイマーをスタートし、モンスターをあと一撃で倒せるという時に、タイマーが40.3秒(周期の43.2から攻撃の3秒を引いたもの)を示すタイミングで攻撃ボタンを押します。
慣れてくると、たくさんのモンスターを範囲攻撃で同時に倒し、一気に何個も文字アイテムを手に入れ続けていました。
例4:ファイアーエムブレム~聖戦の系譜~の確率
自分が知っている数あるランダムルールの中でも、ゲーム中のプログラム的にはひときわ飛びぬけたルールです。通称「詰めエムブレム」と呼ばれるもので、開発者は意図しなかったでしょうが、個人的には「詰めエムブレム」は芸術的センスの高い感動の宝庫だと?思います。
もっとも、コンピュータ-技術者という視点で見れば一番コンピューターらしさのあるランダムでもあります。
ファイアーエムブレムはシミュレーションRPGで、攻撃の命中率やキャラクターの成長度合いなど、数あるゲームジャンルの中でもひときわ確率が重要視されるゲームです。
そんなゲームのひとつであるファイアーエムブレム~聖戦の系譜~の確率結果計算は、実は最初からすべてはっきり決められているのです。もはやランダムのラの字もありませんwww
ようするに、ランダム要素を使用する場面が最初に出てきたときは20%以上なら成功するとか、三回目なら70%以上で、一万回目なら10%以上で成功する、という感じにすべて決まっています。乱数表ってやつですね。
ちょっと文章では分かりにくいかも知れませんが、ようは同じ操作をすれば必ず同じ結果となるわけで、例えば命中率が50%と90%のふたつの武器があったとして、50%の武器を実際に使用して命中しなかった場合、リセットしてゲームデータをロードし、再度50%の武器を使用しても絶対に命中しないわけです。
命中させるためには90%の武器を試してみるか、一度別のことをしてランダム計算の
順番を書き換える必要があります。
このランダムルール(同じ操作をすれば同じ結果となる)を利用することで、完全無欠の操作手順・クリア方法が確立されました。
それが「詰めエムブレム」です。
「詰めエムブレム」で一番有名なのは、攻略本にオマケとして書いてある、通常クリア用の詰めエムブレムですが、ネット上では
主人公キャラだけを使ってクリアする詰めエムブレムや、パンピーのみの
平民オンリープレイだとか、ものすごい天才策士さんたちがいることにびっくりです。
上記以外にもいろいろたくさんありますので、やりこみたいゲームなどがあれば、ランダムそうに見える部分を自分の手で解明してみてはどうでしょうか?
特にコンピューターへの負荷やゲームバランスには注意を払うネットゲームではこのようなランダムルールを用いていることが多いですので、頭をひねりながら探してみては? と思います。