There are a couple of reasons for not drawing the numbers ahead of time. Security is probably the most important one. Numbers that are drawn ahead of time need to be stored before the player made that choice. Storing those numbers opens room for a security leak where a malicious casino or a malicious player finds or alters the numbers before making the choice. Secondly there's the play experience, clearly the options can't be transmitted to the game client before the choice is made (again - to easy to hack), so that means that the communication can only happen after you do the click.. which results in a deteriorated play experience with potential 'connecting dialogs' and hickups at each e.g. squirrel you hit.
That's a fallacy. Their choice wouldn't make any difference since its a random choice. There is no difference between a random sequence and the sum of two random sequences. Look at it the quantum physics way - the universe where the player would have made another choice is also a universe where the choices were different.
Let me try to illustrate. Game with two treasure chests.
Code:
scenario A.
server picks two random prizes : $4 for chest 1 and $11 for chest 2.
user picks chest 1.
server sends $4 as prize and $11 for the reveal. (server can only do its bookkeeping here, after the choice).
user gets jerky anim because of wait for server.
now lets transform that a tiny little bit ..
Code:
scenario B.
server does nothing.
user picks chest 1.
server picks two random prizes : $4 for chest 1 and $11 for chest 2.
server sends $4 as prize and $11 for the reveal. (server can only do its bookkeeping here, after the choice).
user gets jerky anim because of wait for server - same result.
that's interesting .. we solved the storage problem .. but not the connection/smoothness one. I think
everyone will agree that this is the same as scenario A.
lets transform it a tiny bit more ..
Code:
scenario C.
server does nothing.
user picks chest 1
server generates random prize for user choice : $4, and random prize for the other chest : $11
server sends $4 as prize and $11 for the reveal. (server can only do its bookkeeping here, after the choice).
user gets jerky anim because of wait for server - same result.
Subtle difference .. but imho still clearly 100% equivalent. No more storage problem .. but still a connection problem.
and after a last modification :
Code:
server generates random prize for user choice : $4, and random prize for the other chest : $11
server sends $4 as prize and $11 for the reveal. (server can do its bookkeeping here, before the choice - in fact can do it as soon as the bet is received.).
user picks chest 1
user gets smooth anim - same result.
Now we solved both problems, and still did exactly the same as in scenario C, which was the same as B, which is the same as A ..
Long story short the fallacy is ofcourse thinking the choice makes a difference in scenario A .. so let me just say this :
if it makes a difference in A, then it makes a difference in D .. if it doesn't in A .. it doesn't in D.
so,
Even in scenario A the user's pick doesn't matter - the user that believes that simply does not understand random - which is not a requirement at all
to appreciate the game - but deducing the user's random choice makes a difference in any scenario is a perception mistake. (its a common one - this
is one of those contra-intuitive things that makes gambling interesting)
Cheers,
Enzo