Sparks are Mixer's virtual currency. You can make controls and interactions in your Interactive Game or Application cost sparks for a participant by giving them a cost. When participants interact with controls that have a spark cost, the cost is deducted from their spark balance.
Sparks are earnt by watching content on Mixer. Mixer users gain 2 sparks for every minute that they watch. Mixer broadcasters also earn sparks at the same rate. If a user subscribes to a channel or is a Pro user, they'll earn double the rate of sparks (4 every minute).
Currently users cannot buy Sparks with real world money. That may change in the future, but we don’t have anything to share on those plans right now. If you have a cool idea for Sparks, you can share them over on our feedback site.
When placing a spark cost on a control, it is important to remember to balance the cost against your Game or situation. For example, Interactions that potentially impact game balance should be priced higher than those that are less impacting. What might be surprising is that the majority of Mixer users (more than 90%) have between 500 and 1,000. The next largest tranche of users has between 1,001 and 10,000 Sparks, followed by those with more than 10,000 Sparks, but that’s a very small percentage of Mixer users (roughly 1%).
When a button with a spark cost is pressed, it creates a transaction. To deduct sparks from a participant, a Game Client must
capture the transaction. If a transaction remains uncaptured for 5 minutes, it automatically expires, and the cost associated with the transaction is not deducted from the participant's spark balance.
This mechanism allows the Game Client to decide whether sparks should be deducted from a participant. This feature is a great way to ensure that input from a participant has been converted into the expected action associated with the button press before deducting sparks from their balance.
Note that deducted sparks are not transferred to the broadcaster.
When developing an Interactive experience, it is very important to consider scale as a factor. Your experience might work perfectly for a small test stream where you and your team try some features out, but Mixer broadcasts are different. You need to ensure that your experience scales for more public broadcasts. You should aim to think about 4 levels of Scale:
When thinking about these levels it's important to ask yourself three questions:
Additionally, special considerations need to be made for Events. If you're planning a large scale event that uses Interactivity, please reach out and contact us.
Mixer's interactive platform has several features that can help you deal with Scale.
You can set a bandwidth throttle for each event Mixer sends you from the Mixer Interactive Service. Bandwidth throttles control how fast data comes down from our service. Bandwidth throttles operate on a leaky bucket algorithm, and you can set various properties on the throttles to finely tweak how and when data comes down to your GameClient.
capacity- How much data in bytes the throttle can hold before data is lost.
drainRate- How fast the data drains from the bucket.
You can also set the capacity to 0, which would effectively disable this event from reaching you.
For an example of how this might be used, consider a very large viewership Broadcast whose interactivity does not rely on the events sent when a participant joins the interactive session. You could turn these off, which would prevent a lot of bandwidth as large amounts of users left and joined the stream.
Refer to your chosen SDK for documentation on how to set a bandwidth throttle on a particular event.
If you'd like to test your Experience at scale our team can help! We can work with you to arrange a test session with some of our team or even one of our Partnered broadcasters. Additionally, we have some internal testing tools that we can work with your team to run against a test build of your game. If you'd like to find out more, please reach out to us.
If you've got a cool idea for Mixer and your game, please also reach out to our team. We'd be happy to discuss ways to make your game awesome with Mixer.