Streamer dashboard

Marble Board

The marble machine is an OBS widget styled after an old-fashioned pin board: marbles shoot out of a spring on the right, run along a curved track into a field of pins, and drop into prize slots at the bottom. Viewers put in marbles with channel points. Which slot each marble lands in is decided by the server at the moment of the drop. There are two modes: in multiplier mode the multiplier on the slot decides what the marble returns, and in prize mode each slot runs a prize action. The screen only plays the result out, so there is nothing for you to start or watch over.

Getting started

  1. Make sure channel points are enabled; dropping marbles costs channel points. The settings live under Minigames inside Channel points, and the marble machine card there has its on/off switch.
  2. On the Settings tab, pick the mode (multiplier or prize, one or the other; see "Two modes" below), then choose the minimum entry (in prize mode, the points per marble instead), the per-drop total cap, the marble count cap, the table queue cap, and whether drops are only accepted while you are live.
  3. On the Commands tab, check that !marble is enabled. It is off by default; while it is off, viewers cannot drop anything from chat.
  4. On the Board tab, pick a pin layout, switch individual pins on or off if you like, and set the slot height (taller slots make the whole machine taller); on the Prize slots tab, set each slot's text and weight (the list runs top to bottom, matching left to right along the bottom of the board; drag the handle on the left to reorder). The multiplier, color and image, plus the action and landing message in prize mode, live under each slot's "Settings" button.
  5. On the Messages tab, decide whether chat should talk.
  6. To show it on stream, add the source URL from the OBS widget tab to your streaming software, or add a marble machine layer in the stream layout. You can also skip that; see "Playing without the OBS widget" below.

Two modes: multiplier and prize

A channel has one marble machine, and the mode is a one-or-the-other choice on the Settings tab. The two modes keep their slots separately, so switching modes does not lose the other one's setup; switch back and the original slots are there. The board (pins) and the appearance are shared by both.

  • Multiplier mode: viewers choose how many points to put in and how many marbles to split them into. Each slot has a multiplier, and a marble returns "its points x the slot's multiplier".
  • Prize mode: you fix the points per marble (it can be 0) and viewers only choose how many marbles; how much they pay does not change what they get. Each slot runs a prize action, and the actions available are the same as the prizes on the Lucky Wheel: giving points, chaining into another wheel, an on-screen alert, running a command, a counter, dropping coins into the coin pusher and so on. Only "spin again" is not available. The slot's action runs the moment each marble lands, without waiting for the whole drop; once every marble has landed, chat gets one combined announcement listing the prizes.

How to drop: points, count and remainders

This part covers multiplier mode; prize mode is in the next section. Viewers drop marbles with !marble, in three forms:

  • !marble: drops 1 marble at the minimum entry.
  • !marble points: the total points for this drop, as 1 marble. Points can be a number, an abbreviation (such as 1k), all or a percentage.
  • !marble points count: splits the total points evenly into that many marbles.

Each marble gets "total points / count", rounded down, and the remainder is not charged. For example !marble 1000 3 makes each marble 333 points and only charges 999, so the leftover 1 point stays with the viewer. If each marble would fall below your minimum entry, the whole drop is rejected; it never drops only part of it.

A few caps are set on the Settings tab:

  • Per-drop total cap: the most one command can put in; 0 means no cap. An explicit number above the cap is rejected, while all or a percentage is clamped down to the cap before it is split.
  • Marble count cap: the most marbles in one drop. The default is 10 and you can set 1 to 50. Anything above it is rejected as a whole.
  • Table queue cap: the most marbles that may be waiting on the table at once. When the table is full, new drops are turned away and viewers are asked to try again shortly, so a crowd cannot stack the schedule minutes into the future.
  • Only while live (off by default): when on, drops are rejected while you are offline. Marbles already launched settle normally whether or not you are still live.

Prize mode: dropping, channel points and MOD drops

In prize mode !marble takes a single argument, the count: !marble 3 drops 3 marbles and leaving it out drops 1, still limited by the marble count cap. The cost is "points per marble x count", where points per marble is the fixed number you set.

When points per marble is 0, !marble in chat is turned off, and a viewer who types it only gets a reply saying marbles can currently be dropped only through a channel points reward or by a MOD. That leaves two routes: a Twitch channel points redemption, or a MOD using !marblegive. This keeps chat from farming prizes for free without limit.

In both modes you can bind one Twitch custom channel points reward. Pick the reward on the Settings tab; when a viewer redeems it, !marble runs automatically with what they typed as its arguments, under exactly the same rules as typing it in chat ([points] [count] in multiplier mode, [count] in prize mode). Three things to know:

  • The points on this site are still taken. Channel points only trigger the drop; they are not how it is paid for.
  • One redemption can drop several marbles. Typing a number in the redemption box works like !marble 3 and drops 3 at once, up to the "Maximum marbles per drop" setting. With 0 points per marble and text input allowed, a single redemption can therefore give that many free prize marbles. If you want one marble per redemption, set the reward in Twitch to not require text input, or set the per-drop cap to 1.
  • If a redemption fails, chat is told why, for example the machine is not open, you are not live, the count is over the cap or the viewer lacks the points. But the Twitch channel points are not refunded automatically; you handle that yourself in the Twitch dashboard.

MODs and the broadcaster can use !marblegive viewer [count] to drop marbles for a viewer. This command does not take the viewer's points and only works in prize mode; in multiplier mode it replies with a notice. Like !marble it is off by default, so enable it on the Commands tab yourself.

Weights decide the result; the pins only decide how it looks

Each slot has its own weight, and the slot a marble lands in is drawn according to those weights, separately for every marble. A slot with weight 10 is twice as likely to be drawn as one with weight 5, and that is all there is to it. The pins do not change the odds; they only shape the path the marble takes and whether a given slot can be reached at all. So no matter how you arrange the pins, a slot never comes up more often than its weight says.

The Board tab runs a simulation and draws how often each slot would be hit if marbles simply fell naturally. That chart is for reference only; the real result follows the weights, and the two not matching is normal. One thing to watch for: a slot with a weight above 0 that the pins make unreachable blocks saving. Either adjust the pins, or set that slot's weight to 0, before it will save.

If you want the results to match how marbles naturally fall on screen, use Apply weights from natural landings on the Slots tab. It simulates 20,000 marbles on your saved peg layout and sets each slot's weight to how often marbles land there; unreachable slots get a weight of 0. In multiplier mode it shows before applying how the average return will change, because changing weights changes how many channel points are paid out (in prize mode, how often each prize comes up changes instead). Click Save afterwards to make it take effect. Changing the pins later does not update the weights automatically; press the button again.

Multipliers and the average return (multiplier mode)

This section applies to multiplier mode only; in prize mode slots run actions, so there are no multipliers and no average return. In multiplier mode, what a marble returns is "its points x the slot's multiplier", rounded down. A slot with multiplier 0 returns nothing, 1 gives the points back and 3 gives back triple. The whole calculation uses integers, so there is no floating-point drift.

The Prize slots tab works out the average return: each slot's weight times its multiplier, summed, divided by the total weight. Below 100%, channel points are slowly drawn back out over time; above 100%, viewers get back more than they put in over time, and channel points grow. Above 100% the dashboard flags it in a warning colour but still lets you save; whether to set it that way is your call.

Playing without the OBS widget

The OBS widget only displays the game, and the result is already decided at the moment of the drop. So settling carries on whether or not the widget is open, or even if it drops its connection: the server works out a landing time for every marble and credits the viewer when it comes due (in prize mode, it runs the slot's action when it comes due). The widget can be added to several scenes at once, and every screen matches.

  • When no marbles are on the table, the screen is completely hidden. It comes in with a transition when someone drops a marble, and leaves after the last marble lands plus the linger time you set. The transition type and length for both entering and leaving are adjustable.
  • A multi-marble drop is launched one marble at a time, spaced by the launch interval, so several can be on screen together. Marbles do not collide with each other.
  • The screen never shows point amounts. A landing only flashes the slot, with the result optionally shown (the multiplier in multiplier mode, the prize name in prize mode); point changes appear only in the chat announcement and the history.

There are two chat messages, each with its own switch and an editable template. Each mode has its own result announcement, with different content and variables:

  • Result announcement (on by default): merged into one message per drop, so chat is not flooded marble by marble. In multiplier mode it says how many marbles, what it cost and what came back; in prize mode it lists the prize each marble received, with repeats combined as "Name x2". In prize mode you can also fill in a "message when a marble lands" on each slot; that is sent for each marble that lands there, and whether to use it is up to you.
  • Drop reply (off by default): a short reply right when a viewer drops successfully.

You can also set a chat message delay so announcements land a few seconds later to match your stream delay. That delays chat only; points still settle on schedule.

Visuals, sounds and Pro

You can adjust the frame colours, pin style, marble colour and overall scale, and choose whether to show the result on landing and the name of whoever dropped. There are four sounds: launch, pin hit, landing and prize, each of which can use a built-in sound, your own uploaded audio file, or be turned off. On top of the master volume, each sound has its own volume (pin hits default to 10%, since one marble triggers many of them). All sound options are free. Both the Appearance and OBS widget tabs have a preview where you can press "Fire one" to see the effect, without touching anyone's points.

Pro covers three things:

  • Custom images: a background and a base image for each prize slot. The marbles themselves only take a colour, since they are too small on screen for an image to read.
  • The number of prize slots: 8 for free, up to 20 with Pro. Each mode applies this limit to its own slots.
  • Colour styles: the frame colour (free: wood), pin style (free: brass) and marble colour (free: the default steel colour). Without Pro you can still pick them on the Appearance tab to try them out: the preview shows what you picked, while OBS keeps the free styles. The dashboard then lists which ones are not in effect. Saving leaves those unchanged and saves everything else as usual, and "Switch back to free styles" resets them in one click.

Pro settings are never deleted: when the channel is not on Pro, the screen simply stops showing your custom images, the colour styles fall back to the free ones, and only the first 8 slots take effect (the dashboard marks which slots are currently inactive). The images, colour styles and slots from the 9th on stay as you saved them and take effect as soon as you upgrade.

History is kept for 7 days; the public page is a ChiwaBoost perk

Every drop is recorded, including which slot each marble landed in, how much was put in and how much came back (in prize mode it also shows whether the drop came from chat, a channel points redemption or a MOD, and whether each marble's action ran successfully), and records are kept for 7 days only before being cleared automatically. The History tab in the dashboard shows them, and the danger zone lets you clear settled records early, which cannot be undone.

Your channel's public page has a marble machine sub-tab under "Minigames", but that is a perk viewers get after buying or trying ChiwaBoost, and it only shows a signed-in viewer their own drops, never anyone else's. You do not control it and there is nothing to set up for it.

Settings

The text below is taken from the in-app help, so it stays in sync with the actual interface.

SettingWhat it does
Minimum points per marbleIf a marble would get less than this after splitting, the whole drop is rejected. With no arguments, one marble is dropped at this amount.
Maximum total per dropThe most points one drop can put in; 0 = no limit. A typed number above it is rejected; all or a percentage is capped to it.
Points per marblePoints taken for each marble dropped. Can be 0.
Marble board: Twitch custom reward nameWhen a viewer redeems the chosen custom reward, !marble runs automatically with what they typed as its arguments. The points on this site are still taken.
Maximum marbles per dropThe most marbles one drop can contain. More than this and the drop is rejected.
Board queue limitHow many marbles can be waiting on the board at once. New drops are rejected past this, so a burst of viewers cannot push the schedule minutes ahead.
Launch interval (ms)Time between marbles when one drop has several. Marbles do not collide, so very short intervals make them overlap on screen.
Stay after landing (seconds)How long the board stays on screen after the last marble lands, before it leaves.
Only while liveWhen on, drops are rejected while you are offline. Marbles already launched are settled even if the stream ends.
SpacingDistance between neighboring pegs.
Slot heightHeight of the slots along the bottom of the board. Taller slots make the whole board taller.
Staggered rowsEvery other row shifts half a step to the right, like an old wooden marble board.
Average returnFor every 100 points viewers put in, how many they get back on average over time. Calculated from weights and multipliers; free plans count the first 8 slots only.
Background imageShown on the slot, on top of its color.
Message when a marble landsExtra text posted in chat when a marble lands in this slot. Leave it blank to send nothing; it works together with the action. {item} is this slot's name.
Chat message delay (seconds)Post announcements this many seconds later to match your stream delay, so chat does not spoil the result. Only messages are delayed; points settle as usual.
ScaleSize of the whole board.
Show result on landingPop up the result when a marble lands in a slot: the multiplier, like "×2", in multiplier mode, or the prize name in prize mode.
Show viewer nameShow who dropped the marble next to the launch lane.
Background imagePlaced behind the board.
Master volumeShared by all four sounds; 0 mutes. In OBS, tick "Control audio via OBS" on the browser source for it to reach the mixer.
VolumeEach sound has its own level, as a share of the master volume: with the master at 60% and this at 50%, it plays at 30%. Peg hits sound many times while a marble falls, so they start at 10%.

Chat commands

These are the default command names; they can be renamed or given aliases in the dashboard.

  • !marble — Drop marbles into the marble board. In multiplier mode the channel points you put in are split evenly across the marbles (!marble [points|all|N%] [count]); in prize mode each marble has a fixed cost and you only choose how many (!marble [count]).
  • !marblegive — Drop marbles into the marble board for a viewer without spending their points; prize mode only (!marblegive viewer [count], MOD).

Other notes

  • Multiplier mode: each marble receives its points times the multiplier of the slot it lands in. Prize mode: each marble has a fixed cost and receives the prize of the slot it lands in, such as points, a wheel spin, an alert or a command. The two modes keep their slots separately, so switching modes does not clear the other one.
  • The points a viewer types are the total for this drop. They are split evenly across the marbles, each rounded down, and only the evenly divided part is taken.
  • At 0 points per marble, !marble in chat is turned off. Marbles can then only be dropped through a channel points reward or by a MOD with !marblegive, so chat cannot drop free marbles endlessly.
  • Picking a layout regenerates the pegs for the current rows and columns. Clicking any peg in the grid editor below switches the layout to Custom.
  • Click to toggle a peg. Pegs only change the path a marble takes; which slot it lands in is decided by the weights.
  • Drops 2000 random marbles on the current pegs to show where they land on their own. For reference only: results follow the weights in Slots, shown in gray below each bar.
  • The whole board is hidden while it has no marbles. It enters when someone drops marbles and leaves after the last one lands and the stay time passes.
  • The server decides each result at drop time, so drops settle and announce on schedule even with no widget open; there is just nothing on screen. The widget only displays, and you can add it to several scenes with identical results.
  • Pick a built-in sound, or upload or paste your own audio file.
  • Deletes all settled drop history. Drops still on the board are kept. This cannot be undone.

Other settings

These settings have no additional help text in the dashboard; only their names are listed here.

  • Go to command settings
  • Mode
  • Multiplier mode
  • Prize mode
  • Points in
  • In prize mode each marble has a fixed cost. Viewers only choose how many to drop, and the cost does not change which prize they get.
  • The maximum total cannot be lower than the minimum per marble (0 = no limit)
  • Channel points reward
  • Pace
  • Stream status
  • Peg layout
  • Classic
  • Pyramid
  • Diamond
  • Sparse
  • Custom
  • Rows
  • Columns
  • The peg area is too wide. Reduce the columns or spacing.
  • Grid editor
  • Keep at least one peg.
  • The board settings are invalid. Check the rows, columns and spacing.
  • Natural landing distribution
  • The distribution appears once the board settings are valid.
  • A weighted slot cannot be reached, so this cannot be saved
  • Above 100%, channel points will grow over time. This does not block saving if that is what you want.
  • Slots
  • The board is in multiplier mode, so you are editing the multiplier slots. Prize mode slots are saved separately and are not affected.
  • The board is in prize mode, so you are editing the prize slots. Multiplier slots are saved separately and come back when you switch to multiplier mode.
  • Label
  • Weight
  • Multiplier (×)
  • Color
  • Not active on this plan
  • Unreachable
  • Drag to reorder
  • Add slot
  • Restore default slots
  • Apply weights from natural landings
  • Simulates 20,000 marbles on the saved peg layout and sets each active slot's weight to how often marbles naturally land there, which changes how often each prize comes up. Click Save afterwards to make it take effect.
  • Apply
  • At least 2 slots are needed
  • The first 8 slots must have a total weight above 0
  • Landing announcement
  • Drop reply
  • After every marble from one drop has landed, post one combined announcement in chat.
  • Reply right away when a viewer drops marbles. This floods chat when many people play, so it is off by default.
  • After every marble from one drop has landed, post one combined announcement in chat listing the prize each marble received.
  • {balls} is the number of marbles, {cost} the total taken, {per} the points per marble and {gain} the total received.
  • The result is not known yet at drop time, so {gain} is not available.
  • {balls} is the number of marbles, {prizes} the prizes received (repeats are combined as "Name ×2") and {cost} the total taken.
  • Default:
  • Restore default
  • Message delay
  • Number of marbles
  • Total taken (abbreviated)
  • Total taken (Chinese units)
  • Total taken (Japanese units)
  • Total taken (thousands separator)
  • Points per marble (abbreviated)
  • Points per marble (Chinese units)
  • Points per marble (Japanese units)
  • Points per marble (thousands separator)
  • Total received (abbreviated)
  • Total received (Chinese units)
  • Total received (Japanese units)
  • Total received (thousands separator)
  • Prizes received
  • Point name
  • Test drop
  • Frame color
  • Wood
  • Walnut
  • Cherry
  • Navy
  • Mint
  • Peg style
  • Brass
  • Silver
  • Pin
  • Marbles
  • Marble color
  • ,
  • the wood frame
  • brass pegs
  • the default steel marble color
  • View plans
  • Switch back to free styles
  • Display
  • Transitions
  • Enter
  • Exit
  • Transition length
  • Fade
  • Slide up
  • Slide down
  • Slide left
  • Slide right
  • Curtain
  • It works without the OBS widget
  • Sounds
  • Launch
  • Peg hit
  • Landing
  • Points received