アカウント名:
パスワード:
ソシャゲのサーバはほぼLinuxなので、/dev/urandomをつかったり、OpenSSLライブラリの乱数を使ったりすればいいのに
サーバがPHPで動いてるなら、random_intを使えばガチャように最適な乱数発生源となる
『一回だけ高レア確定の10連ガチャ』とかを実装するにあたって、
10回乱数振って1回も高レア出てなければ再抽選、とか、9回目までで1回も高レア出てなければ高レアテーブルで抽選、みたいな処理をやるよりも、
10回に1回以上の割合で高レアが指定されたテーブルから10個持ってくる。
の方が実装が楽なんじゃないか、とは思うよ。『高レア確定』以外の特殊条件でも、テーブル内容変えるだけで、抽選処理は共通で行けるだろうし、総合的な排出確率とかもきっちり想定通りにできるしな。
ガチャを何回も回すヤツや、自分の結果を公開するヤツもいる、という現状に対して、用意されたテーブルの件数があまりにも少なすぎたようだが。
昔むかし、手伝いでパチンコメーカーに行ってた時、展示会用デモ機作ってテストやった事が有る。5台作ってテスト用の島にセットして3時間ほど。「あ、当たらん。なんでだ?確率10倍の筈なのに??」
まあ昼食後に再度スタートして夜迄には、ほぼ確率通りにはなってたけど。
確率ってのは偶にそういうイタズラをするんだよな。でもこれ、パチンコ屋のオープン時に起こったと思うと恐怖しかない。そのテストをやる前、面白がってオープンの時に連れて行ってもらうと、「店長が用意したウン千万円を客に持って帰らせなかった」って事で主任さんがクビにされていたの見てたので。
確率としてはあり得る、ってエピソードで問題の矮小化を図る人、良く見ますよね。というか馬鹿正直な実装でやる以外の方法にしようとするときに、書いてあることと矛盾しないような違う抽選方式を取るにはそれなりに確率の知識が必要だけど、ゲーム関連企業にその知識を持っていることを期待するのは無茶だから、馬鹿正直な実装もしくは確率部分は外部化するしかないかと思うんですけどね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家
OSやライブラリを使えばいいのに (スコア:0)
ソシャゲのサーバはほぼLinuxなので、
/dev/urandomをつかったり、OpenSSLライブラリの乱数を使ったりすればいいのに
サーバがPHPで動いてるなら、random_intを使えばガチャように最適な乱数発生源となる
Re: (スコア:0)
「パターンを限った方が作業量を少なくできるため」なんてのは言い訳で。
Re: (スコア:1)
『一回だけ高レア確定の10連ガチャ』とかを実装するにあたって、
10回乱数振って1回も高レア出てなければ再抽選、とか、
9回目までで1回も高レア出てなければ高レアテーブルで抽選、
みたいな処理をやるよりも、
10回に1回以上の割合で高レアが指定されたテーブルから10個持ってくる。
の方が実装が楽なんじゃないか、とは思うよ。
『高レア確定』以外の特殊条件でも、
テーブル内容変えるだけで、抽選処理は共通で行けるだろうし、
総合的な排出確率とかもきっちり想定通りにできるしな。
ガチャを何回も回すヤツや、自分の結果を公開するヤツもいる、
という現状に対して、
用意されたテーブルの件数があまりにも少なすぎたようだが。
Re:OSやライブラリを使えばいいのに (スコア:2, 参考になる)
昔むかし、手伝いでパチンコメーカーに行ってた時、展示会用デモ機作ってテストやった事が有る。
5台作ってテスト用の島にセットして3時間ほど。
「あ、当たらん。なんでだ?確率10倍の筈なのに??」
まあ昼食後に再度スタートして夜迄には、ほぼ確率通りにはなってたけど。
確率ってのは偶にそういうイタズラをするんだよな。
でもこれ、パチンコ屋のオープン時に起こったと思うと恐怖しかない。
そのテストをやる前、面白がってオープンの時に連れて行ってもらうと、
「店長が用意したウン千万円を客に持って帰らせなかった」
って事で主任さんがクビにされていたの見てたので。
Re: (スコア:0)
確率としてはあり得る、ってエピソードで問題の矮小化を図る人、良く見ますよね。というか馬鹿正直な実装でやる以外の方法にしようとするときに、書いてあることと矛盾しないような違う抽選方式を取るにはそれなりに確率の知識が必要だけど、ゲーム関連企業にその知識を持っていることを期待するのは無茶だから、馬鹿正直な実装もしくは確率部分は外部化するしかないかと思うんですけどね。