Search Unity

Slots Creator Pro (Slot Machine maker)

Discussion in 'Assets and Asset Store' started by FamerJoe, Mar 31, 2014.

  1. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    This will serve as the official thread for Slots Creator Pro which is now available in the Asset Store!

    Slots Creator Pro

    $thread.png

    Slots Creator Pro will enable users to quickly and easily create fully-functioning slot machines. It also will support Unity 2D 4.3 Sprites.

    Some features will include:
    -Custom inspector for entire slot component
    -Support for any number of reels, symbols and reel heights
    -Credit handling
    -Wilds, scatters and multi-symbol sets for pays
    -Multiple RNG
    -Integrated on-demand math calculations in the editor
    -Full suite of callbacks

    Webplayer:
    Here
    Documentation:
    Here (WIP)
    Youtube Tutorial(s):
    basic implementation

    Contact email:
    slotscreator@bulkheadstudios.com

    Feel free to also post any questions here. I'll be working on expanding the documentation asap.
     
    Last edited: Apr 1, 2014
  2. ProjectOne

    ProjectOne

    Joined:
    Aug 9, 2010
    Posts:
    442
    subscribed
     
  3. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
  4. MikeHovland

    MikeHovland

    Joined:
    Oct 17, 2012
    Posts:
    7
    The asset store listing says this:
    - Integrated Math analysis in the editor including Return Percentage, Volatility, and a full probability table, which you can also dump to CSV


    Can you provide more insight into how one might implement their own math model?
    What is the math model used in the asset?
    What are you using for RNG?

    The Google docs are slim at the moment. Any insight is appreciated.

    Mike Hovland
     
  5. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    Hi Mike,

    There is no math model per say; you can achieve any RTP by adjusting the frequency of each symbol that you define (thus affecting the pays associated with that symbol). Nothing is hard-coded in that respect, and the intergrated math analysis will calculate the RTP based on whatever frequencies and pays you set up. The current RNGs available are Native .net RNG, Mersenne Twister and Crypto Service Provider (although slow). I know the docs aren't the most expansive, but I am always around to answer questions. Thanks for your interest!

    -Brad
     
  6. MikeHovland

    MikeHovland

    Joined:
    Oct 17, 2012
    Posts:
    7
    Hey Brad,

    Thanks for that. Here are a few more questions.

    - Is there a way to define reel strips? I would want to juggle the layout of the symbols on the reels themselves, perhaps to create or remove a blocking situation etc.

    - When you adjust the number of lines played, there is a graphic that is displayed showing the line. Do I have any control over that graphic? Color? Image? etc.

    - From watching the video, I think it would be better to have the win box associated with the payline, instead of the symbol. I might want to individually color the lines to differentiate them as unique lines. Now that I think about it, an association with the line by default, and if an individual symbol has a win box defined, use that one as an over ride.

    Mike Hovland
     
  7. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    Hey Mike,

    -Nope, there is currently no way to define reel strips symbol-by-symbol. This was by design, as the current system works solely on relative frequencies of symbol appearances. It's is a bit unconventional as far as terrestrial based real money slots go, but it allows much more user-friendly tweaking of the RTP without having the burden of changing symbol strips explicitly. I would like to implement the symbol strip as an option as well though.

    -The graphic for the winlines are dynamically generated Line renderers using the center positions of symbol transforms. They are pretty basic; and can be shut off completely in the inspector options. At which point you could actually do your own functionality for the winline if you wanted through the OnLineWinDisplayed callback using symbol positions in the SlotWinData passed to it (win.symbols in the SlotCallbacks example)

    -Your probably right about having an extra winbox definition for paylines, with the symbol as an override.
     
  8. MikeHovland

    MikeHovland

    Joined:
    Oct 17, 2012
    Posts:
    7
    I guess I should just try it out and see how it works. In all the real money slots I've made, I have never encountered this method. I suppose it could work, but again, if I don't have control of the reel strips, there could be a blocking situation created, or not created, as the reel strips are created randomly each time.

    Can the frequencies be defined on a per reel basis?

    Sounds good.

    I will pick it up, and dig in. Get ready for an onslaught of questions (suggestions).
     
    Last edited: May 30, 2014
  9. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    Yep, I never encountered it until I created it either :) And yes, you can define frequencies per symbol, but also per reel per symbol (via an additional check box) so for instance, you can have a scatter that comes up a lot on only certain reels. You can also limit the maximum number of occurrences per reel, and total occurrences over all reels, which again is useful for scatter functionality.

    :) I will try to answer the best I can. The asset is still young also, so it certain will evolve over time.
     
  10. MikeHovland

    MikeHovland

    Joined:
    Oct 17, 2012
    Posts:
    7
    Sounds good.

    I know it might not be implemented in the asset yet, but I will need to have free spins immediately. If you have any thoughts on how to plug that in, I'm all ears.

    I will dig in and see if I can find a way.
     
  11. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    Freespins functionality is probably beyond the scope of the asset itself as far as spinning the reels and keeping track of freespins; it's more a machine mechanic. But I would need to make an alternative spin() method to include a boolean which would determine whether credits would be subtracted or not, which wouldn't be a problem at all. I'll add it and send the change directly to you as well as include in the next version.
     
  12. MikeHovland

    MikeHovland

    Joined:
    Oct 17, 2012
    Posts:
    7
    Thanks! That sounds awesome.

    -m
     
  13. MikeHovland

    MikeHovland

    Joined:
    Oct 17, 2012
    Posts:
    7
    I sent a PM. I got an error in Unity 4.5.
     
  14. ts1812

    ts1812

    Joined:
    Dec 3, 2014
    Posts:
    3
    hello
    I have some questions?
    1.Can I control the reel speed?
    2.Can I stop a reel?
    3.Source code is includes?

    Thank you
     
  15. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    All source is included and you can control the speed as well as stop reels (unless you are talking out of order, then that might require a bit extra work, but I could probably help)
     
  16. ITM-Worms

    ITM-Worms

    Joined:
    Jun 27, 2013
    Posts:
    21
    i had buy it today , the line renderer didnt work it render only the first field/symbol not all. with unity newest version i had sent you a email.
    i hope you can help.
     
  17. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Indeed, with Unity 4.6, Line Drawing does not work.

    Also a minor detail, the Slot script is on Scripts/Main (not Scripts/Core, as the doc says).

    I see there is an anticipation scatter callback. Could you elaborate on how is defined or handled?
     
  18. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    I will look into that issue Novack. True29 was actually having a different problem with winboxes.

    As far as the anticipation, if you create a Symbol Set and set the set type to Scatter, you will see small boxes next to each Match Pay with the label "Ant" (tool tip also has more info). Each one of these check boxes will turn on anticipation for all subsequent reels. The OnAnticipationScatterBegin callback is called right before the anticipating begins. If you have anymore questions, you can contact me directly by email, as I usually will get back to you faster that way.

    Thanks!
     
  19. MuraliVenkat

    MuraliVenkat

    Joined:
    Jan 8, 2015
    Posts:
    14
    Hi FamerJoe

    Can you tel me how to do simple slot machine game in unity?
    Other than this slot creator?
    If you have any code or tutorial pls share . it will be more helpful for me or for all who feel difficult to create a slot machine??

    Thank you.
     
  20. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    Well the reason I created it was to make it easier! :)
     
  21. MuraliVenkat

    MuraliVenkat

    Joined:
    Jan 8, 2015
    Posts:
    14
    Ok... Good... But do you have any some code or following tutorial so i can improve myself to create a slot machine game.. do you have any solution for me?
     
  22. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    Tutorial to create a slot without SCP? Not off hand, try google.
     
  23. hemantp

    hemantp

    Joined:
    Feb 10, 2015
    Posts:
    15
    I have to implement free spin functionality with condition that "One in the Right column and one in the left to activate free spin" how to implement this give me solution ?
     
    Last edited: Feb 10, 2015
  24. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    Hello -
    Click the frequency per reel check box in the Symbol's setup, then set the frequency per reel for 2,3,4 to 0. Then, set the "max per reel" to 1, and the "total all reels" to 2.
     
  25. hemantp

    hemantp

    Joined:
    Feb 10, 2015
    Posts:
    15
    Thanks FamerJoe for u r reply,
    But how to set free spin functionality in your current asset And Also we have to implement bonus game functionality,
    How to implement this type of stuff with your current asset ?
     
  26. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    Hello again - use the OnLineWinComputed callback..

    If you set up a win for the scatter 2 under the Symbol Set Setup and name it "Free Spins", you can then use the callback like this:

    Code (csharp):
    1.  
    2.     private void OnLineWinComputed(SlotWinData win)
    3.    {
    4.         if (win.setName == "Free Spins")
    5.         {
    6.          // fire free spins functionality
    7.         }
    8.    }
    9.  
    note: You can call spin(true) and it won't subtract credits (aka free spin).
     
    hemantp likes this.
  27. hemantp

    hemantp

    Joined:
    Feb 10, 2015
    Posts:
    15
    Hello,

    How to resolve screen resolution issues this asset does not support Unity 4.6 UI ? How to implement this asset in new UI ?
     
  28. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    I don't know what you mean screen resolution issues? There is simply Unity 4.6 example included. Please email me at the support email address with more details about the problem you are having.
     
  29. hemantp

    hemantp

    Joined:
    Feb 10, 2015
    Posts:
    15
    Give me detail explanation of how to set Free Spin Functionality in your asset, I try to set up as you told earlier but no work for me, My condition is for free spin is "One in the Right column and one in the left to activate free spin" , my slot is 5 row and 3 column
     
  30. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    If what I told you above didn't work, you need to explain exactly how it did not work. Here it is again:

    "Click the frequency per reel check box in the Symbol's setup, then set the frequency per reel for 2,3,4 to 0. Then, set the "max per reel" to 1, and the "total all reels" to 2."

    What part of this process are you having trouble with?
     
  31. hemantp

    hemantp

    Joined:
    Feb 10, 2015
    Posts:
    15
    I did the same setup as you explain above, When we spin the slot i does not get the matched for free spin
    1. private void OnLineWinComputed(SlotWinData win)
    2. {
    3. if (win.setName == "Free Spins")
    4. {
    5. // fire free spins functionality
    6. }
    7. }
    when check this condition, So , How its works and what condition its get executed ?

    How does its match free spin symbol in first column and fifth column in slot ?

    Can we do any setup in Symbols set up ?
     
    Last edited: Feb 28, 2015
  32. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    I just tested this, and it works fine.

    Things to check:

    - Make sure your scatter win pays something - if it doesn't have a pay of at least 1, it's not going to call OnLineWinComputed, because there is no line win.
    - Make sure your actual set name is called "Free Spins"
    - If you don't want your Scatter to pay anything, use the OnScatterSymbolHit callback, not OnLineWinComputed. It's called every time you hit a scatter symbol, and passes SlotScatterHitData, which contains information including number of scatters hit so far, set name, etc.
    - Make sure your call backs are hooked up properly and make sure you have specified the callback file you are using in Misc settings
     
  33. bobbylee

    bobbylee

    Joined:
    Aug 15, 2013
    Posts:
    49
    Hi, Is this done using the old Unity GUI system (GUISkin, OnGUI, , etc.). or the new? It says for 4.6, but does not say what it is using.

    Thank you,
     
  34. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    Hi Bobby, this asset mostly uses Unity's 2D tools. There's an old gui example as well as a (very simple) uGUI example.
     
  35. JRRReynolds

    JRRReynolds

    Joined:
    Oct 29, 2014
    Posts:
    192
    Does this work with Unity5? I recently purchased it and it was throwing me an error on an AddComponent line with the internal api updater but I wasn't sure if that was cause I was on iOS platform or Unity5 or both. I'd be happy to e-mail you the error in a day but my mac is busy converting a project over for the next 14 hours or so :-/
     
  36. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    It works, I just haven't had a chance to update it yet. You just have to make a minor adjustment.

    Change line 337 in Slot.cs to:
    gameObject.AddComponent<SlotCallbacks>();

    Thanks!
     
    Last edited: Mar 16, 2015
  37. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    I just submitted the update, FYI.
     
  38. JRRReynolds

    JRRReynolds

    Joined:
    Oct 29, 2014
    Posts:
    192
    it compiled great with your posted fix, thanks, looking forward to trying it out soon!
     
  39. Landci

    Landci

    Joined:
    Aug 28, 2012
    Posts:
    33
    can this also be used with NGUI?
    What is the Linebox Prefab in Misc tab?
    What is the RNG?
    in clamping when i set 1 per reel an 2 total all reels
    then i should not be able to get 3 of the same value or did i misinterpret this?
     
    Last edited: Mar 17, 2015
  40. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    -I don't see why it couldn't be used with NGUI.
    -See the examples to understand what a Linebox prefab is. It's the effect that is displayed for each symbol contributing to a win.
    -RNG = Random Number Generator
    -If you have clamping set to 1 per reel, 2 total, then you will not see more that 2 total
     
  41. Landci

    Landci

    Joined:
    Aug 28, 2012
    Posts:
    33
    What would be the best approach if i want to use it on multiple resolutions?
    The only option i see to change the resolution is by scaling the game object with the slot object.

    what is the difference between clamping
    and frequency per reel?

    One more thing, i put the slot together as in the documents, but then i get no log messages.
    so i added the Slot Callbacks. Now i get some log messages.
    if i win somehting i receive the message in the log with the amount paid, but this is not added to my initial start money. And the cost of a play is also not subtracted.

    There is nothing in the docs about this. What else do i have to set up so it works correctly?
     
    Last edited: Mar 18, 2015
  42. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    The first question isn't really SCP specific, but in our slots we made for iOS, we don't scale anything, we just use different orthographic sizes for different resolutions, so we only need one graphics set for all devices.

    - Frequency per reel is simply the chance in which the given symbol will appear on each reel
    - Clamping limits how many times maximum a symbol can appear on any given reel. So for example, if you set clamping to 5 total all reels, and a max of 2 per reel, then any given reel could have up to 2 occurrences of that symbol but only 5 total.

    Hope this helps!
     
  43. Landci

    Landci

    Joined:
    Aug 28, 2012
    Posts:
    33
    Hello again, i am making good progress right now,
    this is my setup for the reels

    it happens often that all reels stop at once and this in a time way shorter than 2 seconds.

    then it works again, after 2 secs and each reel stopping 1 after the other,
    and then it again stops all in 0.5 seconds, is there a setting i am missing?
    these values are fixed, right? and not random
     
  44. Landci

    Landci

    Joined:
    Aug 28, 2012
    Posts:
    33
    i just realized that the same error occurs in your example with the 5ReelSlot2D the times for the reels are ignored
     
  45. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    Hey Landci, are you using the latest version of SCP ?
     
  46. Landci

    Landci

    Joined:
    Aug 28, 2012
    Posts:
    33
    yes i am, and i am on unity5.

    as i said, the same thing shows in your example of 5ReelSlot2D
    i can set whatever value for Initial Reel Stop, it is ignored and stops after less than a second
     
  47. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    @Landci Ok I see, I was able to replicate the bug. I'll take a look now.
     
  48. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193
    @Landci seemed to be an incompatibility with the version of DOTween used and Unity5. If you update to the latest version of DOTween, it fixes this error. A couple of things changed with DOTween though, so you'll have to update a couple of lines of code as well:

    Change Slot (349) to:
    DOTween.Init();

    and

    Change SlotCredits.cs (279) to:
    if (creditsTween.IsActive()) if (!creditsTween.IsComplete()) creditsTween.Complete();

    I will submit a new version of SCP, but it could take a while to get approved.
     
  49. Landci

    Landci

    Joined:
    Aug 28, 2012
    Posts:
    33
    hi again, and thanks, it works like a charm now.
     
  50. FamerJoe

    FamerJoe

    Joined:
    Dec 21, 2013
    Posts:
    193