そりゃ、自分でも最適解が分からないように作っているからですよ。
作者が何が起きるかを把握できているような浅いプログラムだったら、
すぐにユーザーさんたちには底が割れてしまいますから。
だって、ユーザーは100万人単位で遊んでくるんですよ。
この1対100万というメチャクチャな戦いにおいて、
せいぜい自分が想定していた程度の範囲で面白さを作ったって、
そんな浅はかなものは絶対に勝てっこないと僕は思いますね。むしろ自分の想像をユーザーが超えていく余地を常に残すことでしか、
100万人を面白がらせることなんて出来ないだろうと思います。
僕としては、3連複で100万馬券を出した報告なんかは嬉しいわけですよ。
だって、そんなのほとんど最低人気の馬から3頭が、1〜3着になるくらいでしかあり得ないでしょう。でも、そういう余地を残したプログラムを作っておけば、長い目で見るとあり得ることで、実際にそれが起きたわけです。
そういう話こそが面白いのであって、そんなものはこっち側で完全に制御していては作れません。だから、すごい強い馬が出来る確率にしても、確かに低くは抑えているわけですが、
その可能性を僕は完全に潰したくはないんです。
ユーザーは大体、我々の上をゆくんですよ。
だって、束になってかかってきてるんだから(笑)すべて自分の想定内で面白く作っています……なんて言えたら格好いいけど、そんなことは現実には難しいですよ。
だから、僕はパラメーターに上限も入れていないんですよ。そうすると、ユーザーが作った値が256を超えちゃって、0になってしまうんですね。
本当は255を超えた場合を想定して、if、255と書けばいいのだけど、僕はそれは絶対にやりません。
やりたくないからですよ!
だって、僕は256まで行くはずがないと思って作っているんですよ。
それなのにifを入れるというのは、辻褄があわないじゃないですか。(でも、実際にバグとして報告されてくるわけですよね)
ええ、だから、それを聞いて「ああ今回も超えてきたのか……」と悲しむわけです。
また自分の想像を超えてきてしまった、と。
(薗部博之)