確率に変化をもたらす経験蓄積型の獲得因子
ウゴカッタン
百面体以上のサイコロを振り続けること
ゲームってのは山ほどの要素で出来ている、アイテム、マップ、キャラクター、イベント、エフェクト、サウンド、BGM、効果音、テーマ曲、シナリオ、システム、それを小説で再現するのは難しいっつうんで、大体、端折ってゲーム世界を描いた作品が多い、ただゲームも同様に小説の世界を完全に再現したゲームってものもなかなか難度が高いという具合。
ただ、自分にとっちゃサイコロを振ってるだけでもゲームなんだ。
サイコロの確立を延々とはかり続けるってのを試したことは無いか?
サイコロの目がそれぞれ出ればそれという答えだってな具合で、サイコロの目それぞれの出やすさみたいなのをずっと数えていくだけの遊びだ。
まあ大体、それぞれの目が平均的な数字になって終わりなんだけど、要は、そういうのはゲームって呼ばないって人がほとんどだ。
ただ、ゲームってな、アイテムが百種類あるなら、その百種類のアイテムからランダムに一個手に入れるみたいなのを繰り返し続けて、目的のアイテムにたどり着くまでひたすら探索を続けたりとかしまくるもんだろ?
さっきのサイコロ延々と振るのとそんなに中身は変わらねえんだ。
ってな具合で、今回はゲームのプログラムの話。
みんなは経験値って言葉を聞いたことが無いか?
けいけんち、けいけんちだ、EXP、ゲームでいうところの成長に使われる値だ。
ようは経験値が一定溜まるとレベルアップするって仕組みを取ってるものが、
RPG、ロールプレイングゲームってのでは大半なんだが、今回はこの経験値ってやつを単純な数字からのアプローチではなく、文字通りの経験則からプログラムを組む話になる。
まず、百種類のアイテムがあるとしたら、君はどうやって全種類コンプリートする?
まあ百個のアイテムがそれぞれ出る確率が同じなら、ずっと探索し続ければ、
全種類コンプリート出来るよな?
でも世の中そう甘くはねえ、ゲームの世界ではアイテムの出る確率にレアリティってもんがついてる、要するに十個に一つしか出ないとか、千回に一回しか出ないとか割と大雑把に確率を設定してある。
これはアイテム側がそもそも価値によって絶対数が少ないってことを、確率によって表現したものだ、が、今回の話ではこういうレアリティについては抜きにする。
理由は簡単だ、自分はアイテムの入手確率は初めに手に入れられたかどうかで大体決定すると考えている。
どういう意味だと思う?
要するに、初めに薬草という名前の回復アイテムを手に入れることが出来た人間は、経験則に基づいて薬草を何度でも手に入れられるという考え方で、アイテム側に価値が決まってるのではなく、何を見つけることが出来る人間なのか? という部分、経験のほうでアイテム入手の確率が変動するというものの事を言ってる。
勘のいいひとは大体わかったとは思うが、まあ、ちょっと試してみるか。
まずカードを用意してくれ、そのカードは三枚で種類は三つ、薬草、パン、唐辛子だ。
君は君からは内容が見えない三つのカードから一枚引く、すると一枚目のカードが何だったかが分かる。
一枚目のカードはパンだった!
この時、パンのカードを一枚増やして、君のカードも相手に戻す。
次引くときにはカードは四枚になっている。
薬草、パン、唐辛子、パン。
四枚のカードだ、では、最初に引いた時と次に引くとき、パンを入手できる確率はどう変化した?
一回目は三枚のカードにいちまいのパンだから、三分の一の確率。
二回目は四枚のカードに二枚のパンだから、二分の一の確率だ。
これが経験蓄積型の獲得因子ってやつだな。
要はこれを百種類や千種類のアイテムで行ったらどうなるのかという話だ。
答えとしては君は初めに手にしたアイテムに関してどんどん詳しくなり、
最終的にはそのアイテムを入手するために探索をしているようになる、だ。
まあ、これは疑似的に経験を作り出したもので、これ単体で見ても、偏りのある確率を延々と見せられてるだけで面白みがよくわからないとは思う。
しかし、アイテムを手に入れれば入れるだけ、それを手に入れる確率が高まるというのは僕からすれば面白いし、逆に言うと他のアイテムに対して興味を失ったように入手確率が下がるというのはなかなか楽しめそうじゃないか?
まあこのプログラムを実装するのはそんなに難しくはないが、実際、今だから出来ることであって、最近までは工夫がいって、結果として再現しにくかったものなのかもしれない。
さてプログラムの部分を簡単に文章にして記述しておく。
変数の中に配列というものを設けて、その配列の中にアイテムの品番を格納する、1から100までの番号それぞれに違うアイテムを引き出す引き出しのようなものを設けておく、で、この変数の配列の最新の部分にさっき言った、手に入れたアイテムの品番をアイテムを入手するたびに格納していって、更に一回ごとにアイテムの数が増えるのでサイコロの面もちゃんと配列に格納されたものの分だけ増やしておく、これで経験則に基づいたアイテム入手プログラムの完成だ。
どんなプログラムかというと、まあさっき話した通り、
パンツを一番最初に手に入れたやつはパンツを手に入れる確率が上がっていき、パンツを引き当てるのが上手くなり、最終的にパンツマスターになり、アイテム探索の試行回数を増やしていけば、ほぼパンツしか手に入れられない存在になる。
はい、どうやってこのプログラムを楽しめばいいのか分かりましたね、
たとえばブラジャーばかり手にいれる盗賊に、肉ばかり手にいれる女剣士だったり、他には妙にグルメな勇者と、えっちな本をゲットしまくる賢者、ベジタリアンな武闘家、武器にしか興味のない錬金術師、盗品ばっかり扱ってる商人に、防具だけ立派な勇者、古文書ばかり読んでる魔法使いに、魔法の杖に頼り切りな戦士、銃火器ばかり集めてる僧侶、靴にしか興味のない魔物使い。
まあ普通に手に入るアイテムにすると面白みが欠けるので、アイテムのほうも色々と盛ってみましょう、うんこ、とかもいいかもしれない。
うんこばっかり手に入れる、剣聖とか。
小便ばかり集める尿飲家の、聖女とか。
なんか現実では全然、手に入らないものとかもいいかもしれないですし、
爆弾とか核爆弾とか、宝くじとか、コンドームもありかもしれない、ファンタジーだと避妊具はレアアイテム、コンドームを一杯持ってるのはある意味、金持ちの証かもしれない。
まあこれが大体、入手確率を経験で操作する方法みたいなもんですね、悪かねえとは思うが、ちょっと前にやらかしたので、あれと同じ結果になっちまうと厄介だ。
ということでまあ来年の課題にしておきます。
で、この経験則ってのをプログラムに実装してもですね、百回以上試行しないと、
なかなか効いてこないし、アイテムの数が増えれば増えるほどに試行回数を増やさないと実感できない、先に上げた薬草とパンと唐辛子のカードゲームほど簡単に、確率を支配できないわけです。
かといって、アイテムの個数を少なく抑えてしまうとこれはこれで、さてどうしたものでしょうね? どういう遊びにするか?
これもゲームマスターの裁量という部分ですね、いや、また課題が増えました。
さて今回の確率に関しての話は大体ここまでになります。
これ以降はまあ、適当に文章つづってるだけの話となるのでまあノイズとして聞き流してください。
プログラムやゲームを作るにあたって、どれだけ簡単な方法でそれらしく作るかというのが問われていますし、実際、あまりに複雑なものをプログラムで再現するというのは、もともとプログラムやゲームが持ってる気軽に遊べるという部分や、膨大な計算を代替してくれるという、人間にとってのありがたい要素を度外視して、プログラマーを何でも屋みたいにしてしまって、結果としてはゲーム作るんだから全部出来て当然でしょう見たいな形になりますが、それは違いますからね。
音楽やイラストや果てはポリゴン、3Dモデリングまで、何でもやるのがゲームプログラマーみたいになってしまって、得意分野のはずのプログラム部分にあんまり着手できないってのはそりゃプログラマーを何でも屋さんにしてしまったから出てくる弊害だと思うのです。
プログラムとかゲームとかって、割と簡単な方法でゲーム性や仕掛けを設けて、それを遊んでもらうのが楽しいじゃないですか、最悪、ゲーム台とかってアナログなもので、ワニワニパニックとかもぐらたたきとか、そういうののプログラムとかって本当に簡素でメインにあるのは叩けるものだったりします。
なので僕がやりたいプログラムとかゲームとかっていうのは、人間にとってはとても簡単で、プログラマーにとってもなんだそういうことかくらいの、再現性があるものという具合になります。 まあ楽したいからそういう話をしてるだけなのかもしれませんけどね。
さて、ノイズはこれから2400字続きますが、耐えられそうでしょうか?
ちょっとずつ物語を書いていきましょう、まずプログラムで冒険者ナプパクの五千年に及ぶ探索の歴史を描きました、それによって大量のアイテムがこの世に生まれて、
その結果として今度はアイテムを分類する必要が生まれました。
彼が手に入れたアイテムには名前はありません、ただ剣は剣、槍は槍、ですが、そのものの特性や種類、素材が存在しているのが絶対であり、また、それの状態もまた見る人が見れば、分かるものだったのです。
鉄は素材としては固く、触ると熱伝導で冷たいと感じ、そして舐めると鉄の味がします、それは血の味と似ると言いますが、また鍛え方の甘い鉄は簡単に錆びてしまいます、もともと金属は熱伝導の関係で大気中の水分を引き寄せやすく、水滴がつき、水との化学反応で腐食しやすいといいますか、いわいる劣化しやすいので管理が難しいものであります。 錆びつかないように油が必要になったりもします。
じゃあ鉄じゃなくて別のものなら大丈夫でしょうか?
たとえば木製の剣だったらどうなのでしょうか?
木は鉄とは違うので熱伝導とすると、そこまで冷たくない、そして何より金属より本当は身近な存在です、ですが、木材は生きている木ならばその寿命は長いものなのですが、鉄の腐食とは違い、木材もまた腐食します、要するに有機物というものはそれを分解する微生物が豊富に存在しているので、やっぱり簡単に腐食して無くなってしまったり、扱えなくなったりするのです。
つまりこれは有機物で出来た、布、革、などのものは大体この通りになるということです。
さて、ナプパクの物語の中では多くが語られませんでしたが、有機物のものの多くは彼の冒険の中で五千年の冒険の中で劣化して腐食して喪失してしまったはずです。
残されたものはなんでしょうか?
有機物は残りにくいですが、特別な性質を持ってるものは残ります。 金、ゴールデンはこの世界で腐食させるものがほとんど存在しておらず、太古の昔に作られた金貨が現在でも存在しているという具合です。
なので仮にナプパクが最終的に冒険を終えたときに彼の残された遺産、アイテムとは何だったのかというと、大半は金で出来たアイテムだったのです!
これにより物語は一層深まります、この世界で五千年間、アイテムを収拾し続けた結果として、この世界の限りある元素である金を大量に手に入れたという具合である、ナプパクの遺産は恐らく、人間にとってはのどから手が出るほど欲しいもののはずです。
さて、五千年も冒険を続け、探索を続けることは我々には出来ないにしても、この先何百たびの経験を繰り返した結果として、最終的に耐久性や劣化しないという特性を持つものが残っていきます、これは宝石などでも同じことなのです。
たとえばダイヤモンドは硬度としては最高のものを持っているので、ありとあらゆるものを、傷つけることや摩耗させることは出来ますが、同時にダイヤモンドを傷つけることが出来るのはダイヤモンドぐらいでしょう、ただ問題としてはダイヤモンドは叩き潰したりする衝撃に対して絶対的に強いわけでは無いので、ダイヤモンドは砕けることがあります。 なのでダイヤモンドの扱いは色々頑張らないとですね。
で、ダイヤモンドのかけらやバラバラなものがあれば、一応色んなものの硬度をはかることが出来るように、宝石の硬度をそれぞれはかって、バランスを取ってって具合に鉱石をどんどんと判定する方法ってのもあるわけですね、まあそのたびに宝石と宝石の硬さを比べて傷が出来てしまうのはどうかと思いますけど。
またちょっと話がそれましたが、つまりナプパクの遺産はゴールドだけにはとどまりません、各種、宝石や装飾品もまた彼の残したものです、ですが、その大半である、有機物のものはもう劣化して形を残していないでしょう、そう、もはやあの懐かしいパンティーはここには残っていないのです。
さてなに言ってるかわっかんねえなこれ、で、この先どうなるのか、なんか物語ることがあるのかって話になりますが、ナプパクが五千年探索を続けれる場所って何だと思います?
いやそりゃ五千年寿命があるだけでもう化物なんですよ、でもそれだけじゃない、五千年間かけても探索が終わらずアイテムが出続ける場所、それは、迷宮の中でも最高峰の古代から歴史の続いてる迷宮なのではないだろうか? つまり超すごいダンジョン、完全にもうプログラムが作り出した無限のダンジョン、そんな夢のダンジョンがあったら、そこを探索したくなってきたりしませんか? あなたは五千年探索し続けた冒険者の彼岸ともいえる、五千年迷宮の謎を解くために皆でファイトリバティという具合になりますね、、では、またプログラミングする気が湧いてきたら、一緒に頑張りますか、迷宮探索のプログラムとかやってみたかったのですよね、あとは迷宮で手に入れた遺物を鑑定する鑑定士のプログラムとかも面白そうではないでしょうか? それは武器である、それはこちらより重い、それはこの材質より硬い、故に鉄である、とか、そういう具合に判定していってアイテムを鑑定してくれる鑑定屋さんとか、単純にそれだけでも一大産業なわけでして、はい。
あとは五千年続く迷宮があるということは五千年の間にそこで命を落とした冒険者が山のようにいるということでして、つまり遺体を鑑定して個々人の事を判別する役割を持つひとも必要となるのです。 それはどうすれば叶うでしょうか? まず大事なことですが、遺体を漁る敗残者狩りをやるような人間が多いと、遺品はばらばらになってしまい個体識別が出来なくなるので、ある程度の倫理観が冒険者にあることが大事です、まあ、モンスターが存在したのなら、冒険者の遺骸自体は食い散らかされたりしてえらいことになってしまうのかもしれないですけど、まあその点に関しては、ある程度、原型をとどめることが出来るぐらいの余裕があったという話にしましょう。
さて、大体、お話しはまとまってきましたね、ナプパクの五千年迷宮、これが世界の経済を大きく回してるというファンタジー世界が、先ほどやっていたプログラミング小説とやらでぶちあがりました、これだけでプロットけっこう、面白いと思うのですよ、かつてカクヨムで探索を続ける伝説の冒険者が居た、かの名をナプパクといい、五千年間冒険を続けたのち、突如として消息を絶った、隔世夢より隔てられた迷宮ともなる場所、さて、皆でどれくらいさまよえば、どれだけの人数でどれだけの冒険を重ねれば、その偉業に到達するのか?
八億字にとどいたその冒険活劇を駆け抜けるためにただ読者と冒険を求めるものだけに答えは委ねられた、願わくば五千年迷宮を紐解き、ナプパクが消えたその場所にたどり着くことを、願わくば、彼の安否を確認し、この世界に多大なるアイテムを残したその足跡にきちんとした答えを得たい。
これはまあ僕が願った最低限のお話しではありますね、本来八億字もやるってなったら、それに見合ったシナリオを設けるのがゲームクリエイターとかとしては必要最低限の作法みたいなところはありそうですし、ゲームマスターとしても、八億字も冒険した男を無碍に扱ったり邪剣にするものではないと思っているので、なので、まあ邪険邪険、頑張って彼を探し出す冒険譚でも綴るのでも面白いかもしれない。
これもまあプログラム小説の持つ世界観というわけであります。
遠大なる世界観構築のためにものすっごいプログラムの試行回数を求められる、
そういうのってなんか浪漫あるじゃないですか、それをたった一つのパソコンが成し遂げたとかたった一つのノパソまじパねえとか思うところありますよね、頑張った頑張った。
絵を描くとかも好きだけど文章書くのも楽しいですよね、こういう馬鹿みたいな計画を描くのとかなんとなく楽しめるってな具合で、やりたいことをつらつらとつづれば圧倒的に世界を広げられるよいですよね。
さて、あとにひゃじくらいのお付き合いですが、皆さん、執筆するにあたって、書きだしと終わりの二百字は決まった感じでやりたい感じですね、さあお終いまで来ました、自分の制約上、七千字書かないといかんなって具合で長話になりましたが、それもまあ一興という具合、さあ、やりたいようにやんなさいな、皆さん、ありがとうございました。
じゃ、ま、クリスマスに向けて、クリスマスっぽいことやりたいと思うんで、しばらく隔世夢には顔出さないっですが、元気しておいてくださいな、元気元気ガンバ元気ガンバ元気ー。
あ、ちなみにクリスマスっぽいことについてですが、まあ、はっきり言うと、クリスマス衣装をキュラリアさんに作るという具合でして、ドールのコスチュームを色々頑張ってるって話です、まあ、関係ない話でしたね、ではでは。
確率に変化をもたらす経験蓄積型の獲得因子 ウゴカッタン @kak16kyou
★で称える
この小説が面白かったら★をつけてください。おすすめレビューも書けます。
カクヨムを、もっと楽しもう
カクヨムにユーザー登録すると、この小説を他の読者へ★やレビューでおすすめできます。気になる小説や作者の更新チェックに便利なフォロー機能もお試しください。
新規ユーザー登録(無料)簡単に登録できます
この小説のタグ
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます