external image

Probabilities

Zoozie said:
Actually I was wrong (sorry)

It is you expected loss each MINUTE that is 1.6M$.
Hourly rate is 97M$.

Not that it makes it any better......

I agree it is kind if depressing to see the simulation.. Just no way to get back
up after allready 100000 spins.

I got an idea for next modification. I will also log whenever your payback%
makes a new record, so we can see how late this can happen.

Edit: new program attached with this improvement

It still does not work on my new PC, but it does work on my old one. The two are almost identical, the new one is just a bit faster. Weird.
 
Zoozie said:
This program is an random spin autoplay simulation that also emulates the
free spins and *3 multiplier. Just let it run for some hours if you want to
see if the excact payback is 95.04% or 94.99 %. The longer it runs, the more
digits you will see not changing.

I think it's a clever approach. No complex math, just a perfect simulation, and a humongous number of spins. Practically any non-weighted virtual-reel slot without off-reel bonus features will surrender to this little program!

Cheers,
SM
 
I had the simulation running for 8.5 hours while I was at work making a
total of 3084384030 spins at bet 0.01$ on 9-lines.

And I can now present the payback% for Thunderstuck with incredible
accuracy:
Payback%=95.02% +-0.01% (95.01%-95.03%)

This is of course given that we got the reels correct.

Zoozie
 
Last edited:
A few more facts about Thunderstruck:

Average feature win is:35.3 times bet size. (Simmo was close with 33.5 from his own data)
If you get respins, wins from these do still count as wins for the original feature, and the respin is not considered a new feature.

If free spins was upped to 17 payback would be ~98.9%
If free spins was upped to 18 payback would be ~100.9%

Guess this ends the Thunderstruck analysis. It was fun and thank to all the
contributers. I still hope someone can confirm the reels posted for Thunderstruck are correct. Another way could be if someone was able to look into the client-code somehow and maybe pry them out from there. If anyone figure out the reels for other thunderstruck clone slots, I can do the simulation for that slot also. Any slots involving randoms weighted wins is probably not good, since average wins of these will have high impact on payback and not knowing them excacly will mean that the simulation is pretty pointless, as it is not a simulation. It would not be hard to change the simulation to also accept "Cabin Fever' since that is only the definition for the feature that I have to change. 'Loaded' could also be simulated as I could just pick 24 free spins every time.


Zoozie.
 
3 billion spins..:)

Next, let's try and figure out the best (and worst) return% slot in MG. Any guesses?

I think Vinyl Countdown and similar high-minimum low-jackpot slots are probably higher return%, I'd guess around >96%

It'll be interesting to see how Lara compares! I've never liked that slot...I'd say 93%...

Cheers,
SM
 
Slotmachine said:
3 billion spins..:)

It'll be interesting to see how Lara compares! I've never liked that slot...I'd say 93%...

Cheers,
SM

I never played Tomb Raider much, also because mininum line-bet was 0.05 at some casinos :eek:

But there is a problem with Tomb Raider. We dont know the average wins
from the statue bonus, and we cannot simultate the statue bonus as we dont know the weights of the random amounts.
 
Slotmachine said:
3 billion spins..:)

Next, let's try and figure out the best (and worst) return% slot in MG. Any guesses?

I think Vinyl Countdown and similar high-minimum low-jackpot slots are probably higher return%, I'd guess around >96%

It'll be interesting to see how Lara compares! I've never liked that slot...I'd say 93%...

Cheers,
SM
Themed slots in land casinos usually pay less in order to cover the licence fees, I could imagine the same thing online.
 
GrandMaster said:
Themed slots in land casinos usually pay less in order to cover the licence fees, I could imagine the same thing online.

That was part of my reasoning, too. The Tomb Raider brand is probably not very cheap...I was always a bit suspicious about the TR slot as I figured this might be the case, but I played it a bit anyway, didn't like it anyway though.

If I were running MG, I'd negotiate a deal with a well-known brand the other way around - so that the brand would pay MG to make a theme slot, and MG would profit house edge + advertising charge :) Say, make a "Just Do It - Nike" slot. Bang- we've got a slot and a sneaker advertisement in one...I mean, they've got millions of players, right? Good exposure for the brand!

Cheers,
SM
 
Great thread guys, and well done.

It won't run on my machine either GM, but I'm running WinME.
The JDK doesn't work either.
 
Hi, I am interested in why it does not work for some. Maybe I can fix that quick for future programs, so please help :)


1) you sure you not just opened the archive, you need to extract all to a folder before you start it.

2) Open a dos-promt and type 'java'. This way to can see if you have
java installed. If not, download it and install it.

3) What error-message do you get? If the dos-window disappear to fast, just
open a dos-prompt(start>run>'cmd') youself and in the prompt go to the extract folder. Now type the name of the start file and the prompt will not close when you get an error message.

4) rename the extension of .cmd file to .bat and try start it again.

Zoozie
 
Zoozie said:
A few more facts about Thunderstruck:

Average feature win is:35.3 times bet size. (Simmo was close with 33.5 from his own data)
If you get respins, wins from these do still count as wins for the original feature, and the respin is not considered a new feature.

If free spins was upped to 17 payback would be ~98.9%
If free spins was upped to 18 payback would be ~100.9%

Guess this ends the Thunderstruck analysis. It was fun and thank to all the
contributers. I still hope someone can confirm the reels posted for Thunderstruck are correct.

Well done Zoozie, and thanks to everyone who participated, especially CJB who painstakingly analyzed the T'struck symbol sequences.

All we need is confirmation that the reels are correct and then we can announce the first slot-specific expected return in MG software :)

Cheers,
SM
 
Got it Zoozie.

I used the DOS box and changed the start_simulation.cmd to start.bat

The screen locks up after about 1 million spins but thats enuf for a taste.

Impressive stuff.:D

edit:
no it doesn't, it updates every minute or so.

95% payback

Edit2
Just change the start_simulation.cmd to start_simulation.bat and click on it and away you go.

kewl
 
Last edited:
Zoozie, here is the output from the verbose option.

f:\ThunderStruck>java -verbose SlotTestCaseRunner
java -verbose SlotTestCaseRunner
[Opened E:\Java\jre1.5.0_04\lib\rt.jar]
[Opened E:\Java\jre1.5.0_04\lib\jsse.jar]
[Opened E:\Java\jre1.5.0_04\lib\jce.jar]
[Opened E:\Java\jre1.5.0_04\lib\charsets.jar]
[Loaded java.lang.Object from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.Serializable from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Comparable from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.CharSequence from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.String from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.reflect.GenericDeclaration from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.reflect.Type from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.reflect.AnnotatedElement from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Class from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Cloneable from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ClassLoader from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.System from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Throwable from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Error from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ThreadDeath from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Exception from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.RuntimeException from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.security.ProtectionDomain from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.security.AccessControlContext from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ClassNotFoundException from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.LinkageError from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.NoClassDefFoundError from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ClassCastException from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ArrayStoreException from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.VirtualMachineError from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.OutOfMemoryError from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.StackOverflowError from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ref.Reference from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ref.SoftReference from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ref.WeakReference from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ref.FinalReference from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ref.PhantomReference from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ref.Finalizer from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Runnable from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Thread from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Thread$UncaughtExceptionHandler from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ThreadGroup from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Map from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Dictionary from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Hashtable from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Properties from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.reflect.AccessibleObject from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.reflect.Member from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.reflect.Field from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.reflect.Method from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.reflect.Constructor from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.reflect.MagicAccessorImpl from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.reflect.MethodAccessor from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.reflect.MethodAccessorImpl from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.reflect.ConstructorAccessor from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.reflect.ConstructorAccessorImpl from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.reflect.DelegatingClassLoader from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.reflect.ConstantPool from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Iterable from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Collection from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.List from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.RandomAccess from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.AbstractCollection from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.AbstractList from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Vector from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Appendable from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.AbstractStringBuilder from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.StringBuffer from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.StackTraceElement from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.nio.Buffer from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.AtomicLong from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.AtomicLongCSImpl from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Boolean from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Character from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Number from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Float from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Double from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Byte from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Short from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Integer from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Long from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.management.MemoryUsage from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.NullPointerException from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ArithmeticException from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.StrictMath from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.ObjectStreamField from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Comparator from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.String$CaseInsensitiveComparator from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.security.Guard from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.security.Permission from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.security.BasicPermission from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.RuntimePermission from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.AbstractMap from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.SoftCache from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ref.ReferenceQueue from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ref.ReferenceQueue$Null from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ref.ReferenceQueue$Lock from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.HashMap from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.ObjectStreamClass from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.security.PrivilegedAction from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.reflect.ReflectionFactory$GetReflectionFactoryAction from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.security.AccessController from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Stack from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.reflect.ReflectionFactory from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Map$Entry from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.HashMap$Entry from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.IncompatibleClassChangeError from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.NoSuchMethodError from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.annotation.Annotation from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.reflect.ReflectPermission from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ref.Reference$Lock from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ref.Reference$ReferenceHandler from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ref.Finalizer$FinalizerThread from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Enumeration from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Hashtable$EmptyEnumerator from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Iterator from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Hashtable$EmptyIterator from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Hashtable$Entry from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.Version from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.Closeable from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.InputStream from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.FileInputStream from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.FileDescriptor from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.Flushable from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.OutputStream from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.FileOutputStream from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.FilterInputStream from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.BufferedInputStream from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.concurrent.atomic.AtomicReferenceFieldUpdater from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.Unsafe from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.reflect.Reflection from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Collections from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Random from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.concurrent.atomic.AtomicLong from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Class$3 from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.reflect.Modifier from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.reflect.LangReflectAccess from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.reflect.ReflectAccess from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Set from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.AbstractSet from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Collections$EmptySet from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Collections$EmptyList from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Collections$EmptyMap from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Collections$ReverseComparator from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Collections$SynchronizedMap from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.reflect.misc.ReflectUtil from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.FilterOutputStream from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.PrintStream from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.BufferedOutputStream from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.Writer from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.OutputStreamWriter from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.nio.cs.StreamEncoder from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.io.Converters from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.security.action.GetPropertyAction from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.nio.charset.Charset from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.nio.charset.spi.CharsetProvider from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.nio.cs.FastCharsetProvider from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.nio.cs.StandardCharsets from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.util.PreHashedMap from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.nio.cs.StandardCharsets$Aliases from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.nio.cs.StandardCharsets$Classes from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.nio.cs.StandardCharsets$Cache from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ThreadLocal from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.StringBuilder from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.nio.cs.HistoricallyNamedCharset from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.nio.cs.MS1252 from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Class$1 from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.reflect.ReflectionFactory$1 from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.reflect.NativeConstructorAccessorImpl from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.reflect.DelegatingConstructorAccessorImpl from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.VM from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.nio.cs.StreamEncoder$CharsetSE from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.nio.charset.CharsetEncoder from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.nio.cs.SingleByteEncoder from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.nio.cs.MS1252$Encoder from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.nio.charset.CodingErrorAction from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.nio.charset.CharsetDecoder from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.nio.cs.SingleByteDecoder from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.nio.cs.MS1252$Decoder from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.nio.ByteBuffer from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.nio.HeapByteBuffer from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.nio.Bits from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Runtime from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.nio.ByteOrder from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Readable from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.nio.CharBuffer from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.nio.HeapCharBuffer from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.nio.charset.CoderResult from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.nio.charset.CoderResult$Cache from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.nio.charset.CoderResult$1 from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.nio.charset.CoderResult$2 from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.nio.cs.Surrogate$Parser from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.nio.cs.Surrogate from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.BufferedWriter from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.File from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.FileSystem from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.Win32FileSystem from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.WinNTFileSystem from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.ExpiringCache from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.LinkedHashMap from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.ExpiringCache$1 from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.LinkedHashMap$Entry from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ClassLoader$3 from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.ExpiringCache$Entry from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ClassLoader$NativeLibrary from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Terminator from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.SignalHandler from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Terminator$1 from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.Signal from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.NativeSignalHandler from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.JavaLangAccess from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.System$2 from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.SharedSecrets from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Compiler from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Compiler$1 from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.Launcher from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.net.URLStreamHandlerFactory from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.Launcher$Factory from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.security.SecureClassLoader from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.net.URLClassLoader from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.Launcher$ExtClassLoader from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.security.util.Debug from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.StringTokenizer from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.security.PrivilegedExceptionAction from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.Launcher$ExtClassLoader$1 from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.net.www.ParseUtil from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.BitSet from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.net.URL from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.Locale from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.CharacterDataLatin1 from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.net.Parts from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.net.URLStreamHandler from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.net.www.protocol.file.Handler from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.HashSet from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.URLClassPath from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.ArrayList from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.net.www.protocol.jar.Handler from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.Launcher$AppClassLoader from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.Launcher$AppClassLoader$1 from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.SystemClassLoaderAction from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.StringCoding from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ThreadLocal$ThreadLocalMap from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.ThreadLocal$ThreadLocalMap$Entry from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.StringCoding$StringDecoder from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.StringCoding$CharsetSD from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.net.URLClassLoader$1 from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.URLClassPath$3 from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.URLClassPath$Loader from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.URLClassPath$JarLoader from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.FileURLMapper from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.zip.ZipConstants from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.zip.ZipFile from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.jar.JarFile from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.security.action.LoadLibraryAction from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.JavaUtilJarAccess from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.jar.JavaUtilJarAccessImpl from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.JarIndex from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded sun.misc.ExtensionDependency from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.zip.ZipEntry from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.jar.JarEntry from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.jar.JarFile$JarFileEntry from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.DataInput from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.io.DataInputStream from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.zip.ZipFile$ZipFileInputStream from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.zip.InflaterInputStream from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.zip.ZipFile$2 from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.util.zip.Inflater from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Math from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.security.PrivilegedActionException from E:\Java\jre1.5.0_04\lib\rt.jar]
java.lang.NoClassDefFoundError: SlotTestCaseRunner
[Loaded java.lang.Shutdown from E:\Java\jre1.5.0_04\lib\rt.jar]
[Loaded java.lang.Shutdown$Lock from E:\Java\jre1.5.0_04\lib\rt.jar]
Exception in thread "main"
 
Slotmachine said:
Well done Zoozie, and thanks to everyone who participated, especially CJB who painstakingly analyzed the T'struck symbol sequences.

All we need is confirmation that the reels are correct and then we can announce the first slot-specific expected return in MG software :)

Cheers,
SM
We would need someone to do a few hundred spins, and to record where the 3 visible symbols on each reel are in the sequences provided by CJB. I think 400 spins (10 times the length of the longest reel) should be sufficient for me to do a chi square test. I would need the data for each reel that the 3 symbols started in position 1 so many times, in position 2 so many times, etc. It could be divided among several people, but it is important that all spins are recorded correctly.
 
GrandMaster said:
Zoozie, here is the output from the verbose option.

f:\ThunderStruck>java -verbose SlotTestCaseRunner
java -verbose SlotTestCaseRunner
[Loaded java.security.PrivilegedActionException from E:\Java\jre1.5.0_04\lib\rt.jar]
java.lang.NoClassDefFoundError: SlotTestCaseRunner
Exception in thread "main"

I have no idea what is wrong. This message means it can not find
the file 'SlotTestCaseRunner' which is in the same directory as
the start_simulation file. Maybe try rename the start_simulation.cmd file to start_simulation.bat?

Anyway, you got it working on your other computer, but it could be that other have similar problems.

If you are want the source code just tell me.

Zoozie
 
thunderstruck reels

I could send my information to anyone who wants to do this. What I did was..1st, I did a bunch of spins, I started with 50 but that wasn't enough so I went to fun mode and did more. I wrote down each series of 3, didn't note how many times it came up, just what the different series were. Then I started putting them together. If I couldn't find a series that fit, I did more spins, still checking each with what I had. When you play this slot, just notice how many times you see the same 3 in a series,especially on reel 1. I wiped out $1700.00 in fun mode to check these but I was checking 1 reel at a time. So..I if anyone wants the combinations I have, I can send them, they can be checked and we can be sure to be very accurate
 
I gave the program a last touch. It will now log complete information about
the current slot it simulates (symbols,pays, reels). Maybe people can find a few errors this way.

On some computers the default number of buffer lines(screen buffer lines)
for the dos-promt is very low and since the program 'spams' a bit, this could mean you will miss the start of the program. It is possible to change this buffer (just set it to 9999). To do this right click the title bar of the dos-promt.



Here is what it will log now:

(This was one of the better simulations, after 1500 spins the payback% was 144%. And check the win at 1.5M spins.)

************ MG 5 reel slot simulator ************
9-line ThunderStruck simulation, random spins
Symbols:
Name:S
Wild:false
Scatter:false
Can be substituted by wild:true
Pay:0,2,25,100,750
----------------------------------
Name:K
Wild:false
Scatter:false
Can be substituted by wild:true
Pay:0,0,5,50,125
----------------------------------
Name:R
Wild:false
Scatter:true
Can be substituted by wild:false
Pay:0,2,5,20,500
----------------------------------
Name:H
Wild:false
Scatter:false
Can be substituted by wild:true
Pay:0,2,25,100,750
----------------------------------
Name:C
Wild:false
Scatter:false
Can be substituted by wild:true
Pay:0,0,15,100,400
----------------------------------
Name:Q
Wild:false
Scatter:false
Can be substituted by wild:true
Pay:0,0,5,25,100
----------------------------------
Name:L
Wild:false
Scatter:false
Can be substituted by wild:true
Pay:0,0,10,75,250
----------------------------------
Name:I
Wild:false
Scatter:false
Can be substituted by wild:true
Pay:0,0,10,50,250
----------------------------------
Name:10
Wild:false
Scatter:false
Can be substituted by wild:true
Pay:0,0,5,25,100
----------------------------------
Name:A
Wild:false
Scatter:false
Can be substituted by wild:true
Pay:0,0,10,50,125
----------------------------------
Name:J
Wild:false
Scatter:false
Can be substituted by wild:true
Pay:0,0,5,25,100
----------------------------------
Name:T
Wild:true
Scatter:false
Can be substituted by wild:false
Pay:0,10,200,2000,10000
----------------------------------
Name:9
Wild:false
Scatter:false
Can be substituted by wild:true
Pay:0,2,5,25,100
----------------------------------
Reels:
Reel 1:J Q C S H C J 10 I A J Q 9 J Q L I T S 9 I H S K 10 J I L A R
Reel 2:J 10 C J S L C A J L 9 K Q J T 9 R L S H 9 J I A K J 9 L I C
Reel 3:10 Q I A 10 K C Q L H Q 10 J Q T S 10 Q H L K 10 Q A 10 R C H A 9
Reel 4:10 J C K L I 9 K C R A S H I A 10 9 T L J K 9 A I H S K Q K 9
Reel 5:J H 10 A Q K I C Q J C H S I 10 A L J H I R S L T C S J Q L H S I K 9 A 10 Q K S L 10 C A 9
-------------------
Simulation started.
The simulation will log a spin whenever the payout of that spin exceeds a previous one.
The current payback will be logged every 1000000 spin.(About every 15 seconds)

C J K 9 L
S S C 10 J
H L Q J H
seconds running:0.0
new maximum win
totalWin:2
multiplier:1
freespins left:0
iterations:4
total paid:36
addedWins:2
payback:0.05555555555555555
-------------------
I J L H C
T T K S H
S 9 10 K S
seconds running:0.0
new maximum win
totalWin:18
multiplier:1
freespins left:0
iterations:12
total paid:108
addedWins:20
payback:0.18518518518518517
-------------------
J T 10 H I
Q 9 R I K
9 R C A 9
seconds running:0.0
new maximum win
totalWin:20
multiplier:1
freespins left:0
iterations:14
total paid:126
addedWins:40
payback:0.31746031746031744
-------------------
T T A 9 A
S 9 9 K Q
9 R 10 C K
seconds running:0.0
new maximum win
totalWin:40
multiplier:1
freespins left:0
iterations:15
total paid:135
addedWins:80
payback:0.5925925925925926
-------------------
L J C A I
I T Q I 10
T 9 L H A
seconds running:0.0
new maximum win
totalWin:58
multiplier:1
freespins left:0
iterations:17
total paid:153
addedWins:138
payback:0.9019607843137255
-------------------
L L L T C
A 9 H L S
R K Q J J
seconds running:0.0
new maximum win
totalWin:150
multiplier:1
freespins left:0
iterations:50
total paid:450
addedWins:442
payback:0.9822222222222222
-------------------
L L L K K
I 9 K C I
T K 10 R C
seconds running:0.1
new maximum win
totalWin:264
multiplier:1
freespins left:0
iterations:69
total paid:621
addedWins:760
payback:1.2238325281803544
-------------------
I T H H L
H 9 Q S T
S R 10 K C
seconds running:0.1
new maximum win
totalWin:1500
multiplier:1
freespins left:0
iterations:153
total paid:1242
addedWins:3145
payback:2.532206119162641
-------------------
Q C Q T S
C J T L J
S S S J Q
seconds running:0.1
new maximum win
totalWin:1525
multiplier:1
freespins left:0
iterations:1048
total paid:8352
addedWins:12027
payback:1.440014367816092
-------------------
L C Q 10 C
I J T 9 H
T S S T S
seconds running:0.4
new maximum win
totalWin:1550
multiplier:1
freespins left:0
iterations:15662
total paid:126783
addedWins:117568
payback:0.9273167538234621
-------------------
L Q J 10 L
I J Q 9 H
T T T T S
seconds running:0.8
new maximum win
totalWin:2120
multiplier:1
freespins left:0
iterations:45606
total paid:367929
addedWins:346235
payback:0.941037537133523
-------------------
C C K 9 S
S A C K L
H J Q C T
seconds running:1.0
new maximum win
totalWin:2400
multiplier:3
freespins left:14
iterations:56670
total paid:457776
addedWins:430424
payback:0.9402502533990423
-------------------
S J J H S
K T Q S L
10 9 T K 10
seconds running:1.0
new maximum win
totalWin:4500
multiplier:3
freespins left:0
iterations:57500
total paid:464445
addedWins:440983
payback:0.9494837924835018
-------------------
T T T S H
S 9 S K S
9 R 10 Q I
seconds running:1.4
new maximum win
totalWin:5292
multiplier:3
freespins left:11
iterations:78157
total paid:628857
addedWins:606321
payback:0.9641635538763185
-------------------
******** Current ********
seconds running:15.3
iterations:1000000
total paid:8053245
addedWins:7621570
avg feature win:34.988137035854876
payback:0.9463973839117027
R T 10 R I
J 9 R A R
Q R C S S
seconds running:20.1
new maximum win
totalWin:13500
multiplier:3
freespins left:21
iterations:1302933
total paid:10498626
addedWins:9891683
payback:0.9421883396932131
-------------------
T J J 9 T
S T Q T C
9 9 T L S
seconds running:23.2
new maximum win
totalWin:30090
multiplier:3
freespins left:14
iterations:1499721
total paid:12067290
addedWins:11482030
payback:0.951500295426728
-------------------
******** Current ********
seconds running:31.1
iterations:2000000
total paid:16080435
addedWins:15341448
avg feature win:35.32629366955608
payback:0.9540443402184082
 
Last edited:
Project slot-simulation finished. (5 reel MG slot, where scatters gives free spins)
There is a few minor improvements like avg. feature win.

Code is 'refactored' which means it is easy to read/maintain. I have not written complete java-doc, I am too lazy to do that when I am not getting paid :)

I have included the java source code in the zip. If you have java installed not just JRE, but the SDK you can actually change the values in the ThunderStruck.java file and see how it changes to payout. You can define the reel symbols(paytable) ie. so you can actually make your own slot!

You dont need to be a java-programmer to do this, the code is easy to read and understand. Do whatever you want with the code. If you happen to make some improvements, please let me know and send me the code :)

If you have java SDK installed just press the 'Compile_and_run_simulation.bat' after editing "Thunderstruck.java" in notepad or what you use for text-files.

If you just want to see the ThunderStruck simulation just click 'Start_simulation.bat'. (You dont need any downloads to see this)
UNZIP THE ARCHIVE INTO A FOLDER FIRST!

Use this url to download Java SDK:
Link Removed ( Old/Invalid)
The JDK is not default installed with windows.

Zoozie
 
Last edited:
I'm getting very interested in this whole affair!

The results from this are something of a suprise to me. I had not thought that considerably different numbers of symbols on each reel was a correct observation at first, but was down to the difficulty of chaining the observations together. This shows that Video Slots are indeed weighted, but by padding some reels with extra symbols in order to decrease the chances of lining up 4 and 5 in a line compared to what might be expected from seeing the number of times three in a line hit.
While not cheating, after all, it has been open to analysis, this is certainly a case of "advantage play" on the part of the casinos in using psychology on us slot players to make our adrenalin pump with all those near misses, almost enough scatters, etc. The net result is to severely bias the slot towards not paying big wins, but hitting many of the smaller ones that barely return the stake. The 70% quoted for the payout excluding free spins show how bad it gets when those sheep simply do not get herded together for a long time.
It would be interesting to do this to a new slot as soon as it comes out, and then again when it gets "upgraded" and seems not to play as well. We can see if there has been a change in the reel layouts, which would definitely be cheating by the software provider, or whether a run of random bad luck has struck.
I am beginning to suspect that our PC's simply do not contain the data for the reel strips (meaning I still can't find it:D ), but that the reply packet contains the three symbols to be displayed on each reel in turn (it does seem to have a fair bit in it), which is done by reference to the symbol graphic file on the PC which just contains one of each symbol.
I would be interested in looking at the 3 reel slots to see if the weighting is just as obvious here. Since Thunderstruck is paying at 95%, how do PWC get an average for slots in the 96% to 97% range. Clearly there are some better paying slots in the portfolio.

Perhaps the recent conspiracy theory about getting more features in Flash should be looked into, are the Thunderstruck reels the same? If not, serious questions need to be asked.

PS - Has anyone been offered a backhander to leave this alone?!!
 
Video camera

I have just made a short movie of Thunderstruck in fun mode and I believe the spins contain the genuine reel bands!!
My camera isn't up to the full task. I believe my new DVD Digital video camera (thanks All Slots!), will be up to the job. I will need to be able to play the movie frame by frame and note the partial bands as the loop. While the whole band does not show, each string is considerably longer than 3 symbols under the current spin and take notes methodology, and should make the task a good deal easier.
 
vinylweatherman said:
I am beginning to suspect that our PC's simply do not contain the data for the reel strips (meaning I still can't find it:D ), but that the reply packet contains the three symbols to be displayed on each reel in turn (it does seem to have a fair bit in it), which is done by reference to the symbol graphic file on the PC which just contains one of each symbol.

I would be interested in looking at the 3 reel slots to see if the weighting is just as obvious here. Since Thunderstruck is paying at 95%, how do PWC get an average for slots in the 96% to 97% range. Clearly there are some better paying slots in the portfolio.

I do not consider it to be 'weigted' just when the some symbols on each
reel occour more often than others. As long as the selection rule for the part with the 3 symbols are random over the reel, I am happy. For the 3-reel slot counterparts they are obvious weigthed.

I did decompile the flash version of 'Thunderstruck', but I could not find
the reels (or symbols) anywhere in the code. Mail me here, if you want to have it, but I am sure it is a dead end. The windows full download client can
probably not be decompiled (will be very hard!). I have not tried any packet-sniffing yet. I took screenshots while windows client was spinning, and it really looks like I can see the symbols (up to 4 at a time) that seems to
be in perfect agreement with the reels posted by CJB for Thunderstruck.

I am also interested to find some of the slots that pay more than 95% since some most exists (I hope they are 5 reels). The difference between 95% and 97.5% is that you can play twice as long before going bust.

I hope someone will crack the reels of 'Loaded' since that can be simulated by the program (just have to remove respins), since that is also a new slot, this might give an indication of the payback% of recent and future slots.

Just for fun I checked that if 5 Thors(on all lines) would pay 1000000 (1M) instead of 10000, then the payback% would be near 99%. So MG could set it to 500000 (0.5M) and it would still have payback% below the worst VP MG slots (except single-line dueces wild! :mad: )
 
Last edited:
Greed is the reason they wont set any machines to 98% payback.

Typical .25 slot machine in land casino-
Atlantic City= 90%
Vegas- 95%
Biloxi- 92%

Online has zero overhead compared to land casinos yet their slots are more or less in line with the above. Seems it would be smart to advertise slots at 98%. I would play them in a flash. The extra players they would get would offset the loss of % over time.
 
paul02085 said:
Online has zero overhead compared to land casinos yet their slots are more or less in line with the above. .

Actually thats not strictly true - the costs of running an online operation and the hefty licence fees (MG in particular) plus things like progressive contributions etc do all add up. Although I do agree that compared to land casinos it is probably much less.
 
Compared to the cost of building and operating a casino in Las Vegas (the Wynn cost $2.7 billion to build), online casinos are still very cheap.
 
reels

I started giving Loaded a try to figure out the reels. This one may take more time. Seems like the only way I can put reel 1 together is by using combinations more than once. I spent hours watching the reels for more combinations but had to quit cause I was starting to see it cross-eyed. I'm using the same technique as TS. I'll try again later or tomorrow..sad that I have all this time to do this, think I need to get a hobby..besides slots
 
Weighted.

Zoozie, I note that you do not consider it weighted on grounds of how the landing site for each spin is determined. What I am getting at is the fact that reels 4 and 5 have nearly twice the number of symbols per reel than the first two. This effectively weights the slot against hitting the big 4 and 5 of a kind wins as the probability of hitting Thor on any given winline on a particular reel decreases as the number of symbols increases (unless the increase is proportionate, Ie, twice as many Thors on a reel twice as long). The good thing about doing it this way is that it leaves it fully open to analysis. If the weighting was done with fixed length reels as for the typical 3 reel "classic" slot then no simulator could crack the payout without knowing the weights.

I also noticed something else when studying my movie, and I hope I am wrong (no, sod that, I hope I am RIGHT, because it would make the slots slightly predictable in terms of overall mood as in "hot" or "cold").

Firstly, I need to demonstrate that the movie loop of the spins really does show the actual reels in motion, with all symbols in place and the differential reel length fully demonstated, and then??

Well, the RAMifications are potentially explosive, and could STRIKE at the very heart of our current understanding of MG RNG interpretation by the software in generating the results. This leaves me on the HORNS of a dilemma, and I intend to HAMMER away at this so that the next time I get totally SHAFTed by Thunderstruck I will at least have THORt more about it and crossed the MOAT of ignorance:D
 
vinylweatherman said:
Zoozie, I note that you do not consider it weighted on grounds of how the landing site for each spin is determined. What I am getting at is the fact that reels 4 and 5 have nearly twice the number of symbols per reel than the first two. This effectively weights the slot against hitting the big 4 and 5 of a kind wins as the probability of hitting Thor on any given winline on a particular reel decreases as the number of symbols increases (unless the increase is proportionate, Ie, twice as many Thors on a reel twice as long). The good thing about doing it this way is that it leaves it fully open to analysis. If the weighting was done with fixed length reels as for the typical 3 reel "classic" slot then no simulator could crack the payout without knowing the weights.

We only disagree on words, not on facts. When I hear weigthed I think
of the 3 reel slots where the reels are very small and the spins are
not random given how the reel looks.

There is a big difference between these two for me. The first I consider a 'fair' game. You know all game mechanics, like when using a deck of cards in VP. In the second case (what I call weigthed) it is easy to manipulate payout also and I find games 'I know how works' more interesting.

Zoozie
 
Loaded

Sorry, Zoozie, I tried to put the combinations together for Loaded the same way I did Thunderstruck but it just isn't working. Maybe because it has more lines? I have the combinations if anyone else wants to try. Watched that damn slot for at least 10 hours to get them
 
cjb said:
Sorry, Zoozie, I tried to put the combinations together for Loaded the same way I did Thunderstruck but it just isn't working. Maybe because it has more lines? I have the combinations if anyone else wants to try. Watched that damn slot for at least 10 hours to get them

Maybe you can post the result(pieces) of your work here? I might give it a try by using screenshots while spinning, this way you can sometimes see 4 symbols that seems to be reliable (I checked thunderstruck against your reels).
 
here's what I used for symbols..W=wild,S=scatter,D=lady with long dark hair,P=pink hat lady,B=blond lady,O=guy with orange,G=guy with green hat,H=house,Y=yacht,C=car,M=music sign,R=record player.
reel 1=BYO,BMO,BMH,CHR,CBY,CGY,CPH,DMO,GMP,GCB,GYR,HSR,HYW,HRG,MHY,MOC,MPY,OCH,OCP,OCG,PYH,PHS,RDM,RGM,RBM,RGC,SRB,SRD,YWR,YRB,YHS,YOC,WRG.
reel2=BRO,BMG,BCG,CBR,CHD,CPY,CGY,DCP,DMO,DSR,GCH,GYH,GYD,GCB,HWY,HDS,HMB,MOR,MBC,MGC,MGY,ORH,ORG,OMG,RGC,RBM,ROM,RHM,PMO,PYO,SRB,YOR,YDC,YPM,YHW,WYP.
reel3=BMH,BYR,COY,CGY,CWY,COR,DCW,DCO,HCG,HMB,HCD,HCO,HPR,GHP,GYD,GMO,MOS,MHC,MBY,MOS,OYG,OSR,ORH,PMH,PRB,RGM,RBM,RHM,SRP,YRG,YDC,YGH,WYD.
reel4=BYM,BCO,BGR,COR,CHY,CDM,CWY,DHC,DMO,GCD,GYM,GYD,HYB,HPM,HMG,HCW,MGY,MOR,MPR,MBR,ORH,ORB,PRS,PMB,RBY,RSC,RGC,RHM,SCH,YDH,YBC,YHP,YMP,WYH.
I didn't finish reel 5 but will if you get anywhere with the rest of these. By the way, what do you all mean when you say a slot is "weighted"?
 
Very interesting thread and results.

So which games would you expect to have payouts over 96% (since that is the average reported by the auditors)? Wouldn't it be the most popular ones, which are also the newest?
 
cjb said:
here's what I used for symbols..W=wild,S=scatter,D=lady with long dark hair,P=pink hat lady,B=blond lady,O=guy with orange,G=guy with green hat,H=house,Y=yacht,C=car,M=music sign,R=record player.
reel 1=BYO,BMO,BMH,CHR,CBY,CGY,CPH,DMO,GMP,GCB,GYR,HSR,HYW,HRG,MHY,MOC,MPY,OCH,OCP,OCG,PYH,PHS,RDM,RGM,RBM,RGC,SRB,SRD,YWR,YRB,YHS,YOC,WRG.
reel2=BRO,BMG,BCG,CBR,CHD,CPY,CGY,DCP,DMO,DSR,GCH,GYH,GYD,GCB,HWY,HDS,HMB,MOR,MBC,MGC,MGY,ORH,ORG,OMG,RGC,RBM,ROM,RHM,PMO,PYO,SRB,YOR,YDC,YPM,YHW,WYP.
reel3=BMH,BYR,COY,CGY,CWY,COR,DCW,DCO,HCG,HMB,HCD,HCO,HPR,GHP,GYD,GMO,MOS,MHC,MBY,MOS,OYG,OSR,ORH,PMH,PRB,RGM,RBM,RHM,SRP,YRG,YDC,YGH,WYD.
reel4=BYM,BCO,BGR,COR,CHY,CDM,CWY,DHC,DMO,GCD,GYM,GYD,HYB,HPM,HMG,HCW,MGY,MOR,MPR,MBR,ORH,ORB,PRS,PMB,RBY,RSC,RGC,RHM,SCH,YDH,YBC,YHP,YMP,WYH.
I didn't finish reel 5 but will if you get anywhere with the rest of these. By the way, what do you all mean when you say a slot is "weighted"?

I tried to crack the reels from your info. But I ran into problems trying to crack reel 1 and reel 2 and started checking your data.

On reel 1 I have problems with:BMO(I found it too) and BMH(I found it too), this should mean there would be 2 combinations with xBM and yBM, but you have only found RBM (I found it too). I am still looking for the last one (could it be that RBM occours twice on the reel?)

BMO


On reel 2 you miss: GBD, BDC (just want I found so far)
And you write DMO is on reel 2, I cant find yet, actually the sequence DM cannot be found. I think you mean BMO instead



If I can get the correct 3-symbols combinations on a reel, I think I can crack it.

Zoozie
 
Last edited:
YAY!

Reel 1 of 'Loaded' cracked.

The problem is 3 of the 3-symbol combinations occour twice.
I have used () around those that I have 'made up'. But when solving the
puzzle it is obvious that this is the only solution, so this is how the reel must be.

Chaining the ends give 3 fragments:
OCG-CGY-GYR-YRB-(RBM)-BMH-MHY-HYW-YWR-WRG-RGM-GMP-MPY-PYH-YHS-HSR-SRB-RBM-BMO-MOC
OCH-CHR-HRG-RGC-GCB-CBY-BYO-YOC
OCP-CPH-PHS-(HSR)-SRD-RDM-DMO-(MOC)

So how do you fit these fragments together as their are 2 solutions. Luckly
it is not matter at all! Max win/payback% will still be excacly the same(scream now if you disagree, I can prove this if needed).
So the reel is(have to put it on 3 lines):
OCG-CGY-GYR-YRB-(RBM)-BMH-MHY-HYW-YWR-WRG-RGM-GMP-MPY-PYH-YHS-HSR-SRB-
RBM-BMO-MOC-OCH-CHR-HRG-RGC-GCB-CBY-BYO-YOC-OCP-CPH-PHS-(HSR)-SRD-
RDM-DMO-(MOC)-(back to start)

which short is: CGYRBMHYWRGMPYHSRBMOCHRGCBYOCPHSRDMO

So reel 1 has 35 symbols. As I posted above there is an error with data for
reel 2 atm. I will try do reel3,4,5 later.

Now I understand how time consuming this is, as CJB complained about :)

But it would be a good idea if someone else try to solve the puzzle for
reel 1 as I believe the data posted by CJB is correct. I almost sure they
get excacly the same result I do, and will be a good test. (and is a fun puzzle)

Zoozie
 
Last edited:
cracked

Wow, Zoozie, that's great!!! I thought you would need to use some of the combinations twice. I tried that and wasn't sure if it would be correct but if you say it will work, I believe you. TS was a snap compared to this one.
 
I just found RPM on reel 3.And I do not believe HCD is there (probably you misread it instead of HCO from your notes)

Using this the solutions seems to be. (So I think reel 3 is cracked now).

DCW-CWY-WYD-YDC-DCO-COR-ORH-RHM-HMB-MBY-BYR-YRG-RGM-GMO-
MOS-OSR-SRP-*RPM-PMH-(MHC)-HCO-COY-OYG-YGH-GHP-
HPR-PRB-RBM-BMH-MHC-HCG-CGY-GYD-(YDC)

Short:
CWYDCORHMBYRGMOSRRPMMHCOYGHPRBMHCGYYD

Again I had to introduce two 3-symbol combinations to occour twice.
(statistical methods which will take a damn long time can show if this actually is true)
 
Last edited:
reels

Now you know why I quit doing it..it was driving me crazy. I think RGC is correct. There is a GCD and I miswrote BGR..it should be BRG. I don't think I'll ever play this slot after all this...:eek2:
 
BRG found on reel4.. back to cracking...

Edit: problem with BGR. no GRx found. almost sure BGR does not exist
also sure GYM does not exists. (but GYD does)

This gives reel4 as:

ORH-RHM-HMG-MGY-GYD-YDH-DHC-HCW-CWY-WYH-YHP-HPM-PMB-
MBR-BRG-RGC-GCD-CDM-DMO-MOR-ORB-RBY-BYM-YMP-MPR-PRS-
RSC-SCH-CHY-HYB-YBC-BCO-COR

So reel 4 cracked... 2 more to go
 
Last edited:
Reel 5 cracked ( was the hardest).

MPC-PCD-CDY-DYO-YOR-ORH-RHM-HMB-MBC-BCH-CHY-HYW-YWR-WRH-RHM-HMD-MDC-DCO-COH-OHY-HYB-YBS-BSR-SRG-RGM-GMP-MPC-PCG-CGY-GYR-YRH-RHM-HMP

giving the sequence:
PCDYORHMBCHYWRHMDCOHYBSRGMPCGYRHM

I will put the reels for 'Loaded' into the simulator. It will be very interesting what comes out of it.
 
Finally! Here are the results you have been waiting for. Remember that these numbers
are only correct, if we are using the correct reels. However even a small mistake on a
reel can sometimes change payout% a lot, but since these data here seems realistic,
it is an indication that we got it right.

Again I have included the full program. Unzip the archive into a folder.
Then start 'start_simulation_LOADED.bat' or 'start_simulation_THUNDERSTRUCK.bat'

Here are some of the data, just ask if you want to know something else as well.
To get the payout% more accurate I need to run the program for some hours, or you can do
it yourself :). Go ahead and do a few billions autospins.


Payout%~93.6% +- 0.2%
I had hoped for more here since this is one of the newer slots and could
give a clue about the payout% for other new/future MG slots.


Payout% without free spins~65.85%
Payout% if retrigges allowed ~101.4% (guess this is why they dont)
Average feature win (in bet size)~31.6 (very close to Thunderstuck)

Highest win combination:
H H W C H
Y W Y W Y
W Y D Y W

Total Win:10620
scatter win:0
Line 1:180
Line 2:24
Line 3:0
Line 4:0
Line 5:7000
Line 6:0
Line 7:0
Line 8:0
Line 9:24
Line 10:8
Line 11:0
Line 12:0
Line 13:180
Line 14:240
Line 15:2400
Line 16:180
Line 17:0
Line 18:0
Line 19:180
Line 20:0
Line 21:24
Line 22:180
Line 23:0
Line 24:0
Line 25:0


Zoozie
 
I also got 93.7%. I also had the same problem as before. The Java programs runs OK on my old PC, bot on the new one or my laptop. Great job, Zoozie and cjb. I did not expect tha slots could provide so much intellectual stimulation.
 
GrandMaster said:
I also got 93.7%... I did not expect that slots could provide so much intellectual stimulation.

LOL, what a grand comment.

Am going to play devil's advocate a little. My apologies if after 15 pages of this thread i have lost track a bit of its original premise and if i'm entirely missing the boat.

Although these probability tests are very interesting, why do we bother? We KNOW that the payouts are not in players' favor but we continue to play slots anyway. Why? Because we hope to get REALLY lucky and beat the system. Same reason people keep on playing the lottery.

I know i'm ahead in Thunderstruck, Tomb Raider, and also Good To Go. The last game is the easiest to explain: the first day i played it, i was awfully lucky, hit a number of terrific free spins. I find it actually a very boring game with irritating game sounds. So, i seldom play it anymore. Might test it every now and then for 5-10 spins at low bets and since i have never been lucky again after that first day i quickly move on to other games. So, it would take an awfully long time to move down to break-even on this game.

As to Thunderstruck and Tomb Raider. I start off with lowish bets. If nothing happens after 10 spins max, i move on and try again later. I stay with these games if i hit 2 scatters a lot. It often results in getting the 3 scatters and the free spins. Once i make a nice hit i increase the bets, look at my new credits and set a new lower limit below which tells that the good run has come to an end and it's time to leave that game. So, i try to maximize the wins and minimize the losses.

It's probably true that on the long run those payout percentages will prevail but until then i'll count on luck and discipline, and not getting addicted to the big bets you could easily afford on a super lucky day.
 
'Tally Ho' analyzed. Reels was done by TeddyFSB. Tally Ho uses
excacly same reels as Thunderstruck. It just have another paytable, #freespins and freespin-multiplier. Here is the result:

Average feature win(in bet size):31.8
Payout%=96.0%+-0.1%(95.9%-96.1%) Can be found more accurate if needed

So the payout% is the highest found so far. Thunderstruck was only 95.0%.
TeddyFSB had a feeling Tally Ho would be better, and he was right.


Anyone know if Beach-party/Ladies Night also are 'reel-isomorphic' to Thunderstruck? Then I can analyze these two fast also.

Tally Ho simulation added. Extract and click the wanted simulation.

Zoozie
 
Hi Zoozie...i think what you're doing is great - its fun and interesting :)

Just a thought though: do the "free spins" % return probabilities you are doing take into account that each "free spin" doesn't require a wager - ie...its free?

Cheers

Simmo!
 
Simmo! said:
Just a thought though: do the "free spins" % return probabilities you are doing take into account that each "free spin" doesn't require a wager - ie...its free?

The program is Open Source :p , but here is the code-snippet:


if(freeSpinsLeft>0){
freeSpinsLeft--;
multiplier=this.getFreeSpinMultiplier();
}
else{
totalPay+=this.getNumberOfLines();
}

If there are freespins left, I do not add the spin to totalPay.

In the start when I made it, I made the simulation log every spin with
current line wins/scatter win/bankroll/freespins left/multiplier to check this and other stuff. I do consider it 100% accurate if the reels are correct.

Zoozie
 

Users who are viewing this thread

Accredited Casinos

Read about our rating system and how it's done.
Back
Top