Hi Guys,
This topic keeps coming back and it always feels like the audience gets split in two groups that are - imho - talking about two completely different things. So I thought I'd tackle this issue once and for all and instead of just telling you what I think predetermined means - lets just skip the semantics and detail exactly when exactly what gets determined - and why.
I'll explain what the situation is for 3Dice software, but since the principles behind the decisions are of a technical nature (response time, server load etc), I suspect other casino software developers to have made the same choices.
scenario 1. Regular Slot Spin.
1. customer presses spin in casino client software.
2. casino client software transmits bet info to the server.
3. server generates random result : it generates the position of the 5 reels at once and sends it back to the client.
4. the client receives the result and shows the reels one by one
In a physical old-style slot machine, the position of a reel is only determined when that reel stops. In the electronical version that would be the equivalent of the server sending 5 individual posts back, one for each real. Because that means much more communication, and would make your slot machine jittery - the casino collapses those 5 communication steps into just one and sends you the position of the 5 reels all at once. (it actually uses the spinning reels to 'hide' waiting for the server .. sending the bet and receiving a response can take up to 2 or 3 seconds, doing it for each reel seperately would mean slow games ..)
This implies that the moment your first reel stops, the software on your computer has already received the information on all the reels so if someone wants to call it that - by the time your first reel stops in a regular spin - the last reel is predetermined. This of course changes nothing about the fact that the reel positions are completely random, it only means the random positions of those reals were determined slightly earlier.
Scenario 2. Free spins.
1. customer presses spin in casino client software.
2. casino client software transmits bet info to the server.
3. server generates random result : it generates the position of the 5 reels at once and sends it back to the client.
4. the client receives the result and shows the reels one by one - it also receives from the server how many freespins are still left.
5. if there are still freespins left it sends a 'next freespin' communication to the server. Then repeat step 4 and 5 until no more freespins left.
As you can see, this scenario is completely the same as that of a regular spin. If you have already received say 6 of 10 freespins, and you unplug your power, the outcome of the following freespins is not yet determined. The casino client software will communicate with the server for each spin, and each spin the server will generate and send the next outcome.
When you hit 3 scatters, the server does not know how much you will win. Just like you it has to wait till all the spins are executed.
Scenario 3. Bonus Game
1. customer presses spin in casino client software.
2. casino client software transmits bet info to the server.
3. server generates random result : it generates the position of the 5 reels at once and sends it back to the client. If a bonus game is triggered, it also generates random bonus outcomes and sends those back. (e.g. the money won per squirrel)
4. the client receives the result and shows the reels one by one
5. client software displays bonus game and awards prizes as received from the server.
6. client software transmits to the server that the user has finished the bonus game.
As you can see, for a bonus game, the winamounts are determined together with the spin. This is because delaying determining the amount until you actually hit the squirrel would make the game unplayable .. it would mean clicking a squirrel and then sending the info to the server to see how much that squirrel is worth so that up to two seconds later you see the result... So instead, on the spin the winamounts for the squirrels (or equivalent) are generated and the client can display them instantly as you click.
The fact that the info gets generated on the spin makes no difference at all .. if we would do it per squirrel, we would send a packet to the server 20 times who would draw a random number for each request and reply 20 times (average time spent in communication : 20*2 seconds = 40 seconds of waiting ..). Now, the server generates 20 random numbers at once and sends them to the client it even sends them together with the reels that trigger it so no extra time is spent waiting.. It would be no fun to get a 'connecting..' box in all the bonus games ..
In general, the 3Dice software will try to generate its random numbers as close as possible to the moment you bet or click. If things are generated ahead of display, then this is always to avoid communication stalls. (like sending the 5 reels in one post instead of 5). To end with a philosophical note, things are always generated before you perceive them as information cannot travel faster than the speed of light. How long ahead of time something is generated and how random it is are two completely unrelated things.
Hope this sheds some light
Regards,
Enzo