The Flow journey
Smoke rising from a genie's lamp, a waterfall, a lava river, a torch flame, a portal ring, a coin fountain. One system: a stream of items travelling through a shaped field you draw on the stage, the whole field bending and breathing slowly over time. The fourth thing this tool designs, beside atmospheric layers, coin flights and win lines.
One system at a time
ChixyFX describes one particle system and the game renders it. The start screen asks which one you are designing, from left to right:
- Atmospheric - rain, snow, stars, insects: items born in zones and replaced. See the Atmospheric journey.
- Flow - this page.
- Coins - a flight from a symbol to a pot.
- Win lines - the effect along a payline.
The header badge turns cyan and reads Flow. Start over takes you back to the start screen; nothing is lost until you pick there. A Flow session saves as chixy-fx-settings-flow.chix and opens straight back into this journey, and the game gets its own chixy-fx-effect-flow.zip. The game stacks the systems: the lamp's smoke in one file, the rain behind it in another.
How a flow works
Think of the field as a soft tube lying on the screen. You draw its middle line, the spine, by dragging a few dots on the stage. A curve says how wide the tube is along its length, so it can be a funnel, a bulb or a pear. Items are born on a grid of emitter points inside the tube, usually at its start, and travel along the spine toward its end, at their own speed, until their lifetime runs out. On top of that the whole tube sways, bulges and twists together, slowly, so it never stands still.
[flow_02 - The stage with the Genie smoke preset running and the Paths tab open: the pink-to-violet smoke column with glow bulbs and twinkles, the cyan field outline around it, the node dots on the spine, the white start dot with its "start" label and the travel arrow. About 1350 px wide, no panel.]
Three things make it look like smoke rather than a conveyor belt:
- Turbulence bends the whole field at once. Neighbouring puffs move together, the way a real smoke column sways, instead of each one wobbling on its own.
- Twist turns the field around its spine, so puffs pass behind and in front of each other on their way up.
- Depth makes the far puffs smaller and fainter and draws them first. With Depth set to Split, the far half of the smoke even goes behind the lamp you placed as a stage element between the board and the effect.
Everything about the field is on the Paths tab: Flow.
What an item is
Every item is a very short flight whose path is its trip through the field. Because it is a flight, everything you know from the other journeys rides on it unchanged:
- The Coin tab, called Item here, is the item's picture: a puff of smoke, a streak of water, a glow bulb, a coin. It has one extra here: Tint runs over lets the tint gradient run along the field instead of over the item's age, so smoke is pink at the spout and violet at the top whatever the age of each puff.
- The Trails tab gives each item a tail.
- The Sparks tab sheds particles from each item. This is how the genie smoke gets its glow bulbs and twinkles: two sparkle layers riding on the puffs, so they drift with the smoke.
- The Hit tab fires when an item dies, is born, or both.
Trails, sparks and hits cost sprites per item, so while any of them is on, Count is capped at 60 in this journey (24 in the Atmospheric one, which usually has hundreds of items). A waterfall or a star river with no layers riding on it goes to 600.
The presets
Every preset is the same system with different numbers. Load one on the Paths tab, drag its start dot to where the effect should come from, then change what you like.
| Preset | Field | Items | Motion and life | Look |
|---|---|---|---|---|
| Genie smoke (the default) | a wavy column widening upward like a pear, twist 120, turbulence 110 px, depth split | 60 puffs x 7 s, born at the base | 120 px/s up, a lazy sway | smoke puff on Screen, pink to violet along the field, glow bulbs and twinkles riding on it |
| Waterfall | a straight fall widening at the bottom | 200 streaks x 1.6 s | 900 px/s down, a light boil | streak, pale blue, turned along its travel |
| Lava river | a lazy S across the lower screen, behind the top elements | 60 puffs x 12 s | 140 px/s, slow turbulence | additive puffs, white-hot to dark red along the field, embers floating off |
| Torch flame | a short teardrop pointing up | 60 puffs x 0.9 s | 320 px/s, fast small turbulence | additive puffs, white to orange to red, sparks off the top |
| Portal ring | a closed ring 80 px thick, its cross-section turning 40 degrees a second | 60 glow bulbs, never replaced (Infinite life) | 260 px/s round and round | cyan bulbs, glints popping off them |
| Coin fountain | an arch up and over, widening where it lands | 40 coins x 2.6 s | 900 px/s along the arch | the coin flip, spinning |
| Star river | a wide band across the top, behind the top elements | 300 glints x 30 s, lots of depth | 60 px/s, a very slow sway | tiny additive glints, big and small |
| Smoke wipe (once) | a wide band across the whole screen | 80 puffs x 2.4 s | 1400 px/s, Run once: births for 1.2 s, then it dies down | huge violet puffs, a transition |
[flow_03 - A contact sheet, two rows of three, each cell a stage crop of a preset on the same board: Genie smoke, Waterfall, Lava river, Torch flame, Portal ring, Coin fountain. Label each cell with the preset name. About 1350 px wide.]
The genie lamp, step by step. On the Board tab, press Add element twice: first the game screen (it covers the stage, so it arrives locked; drag its card to the bottom of the stack, under the Board card), then the lamp itself, cut out with transparency (drag its card to sit just above the Board card, between the board and the effect). Pick Flow and keep the Genie smoke. Drag the white start dot onto the lamp's spout and the other dots up where the smoke should rise. With Depth on Split, the far puffs now pass behind the lamp and the near ones in front. Upload your own puff picture on the Item tab (a soft white cloud works best, the tint colours it), and your own bulb and sparkle pictures on the two sparkle layer cards. For a pink fog behind it all, a second Flow or an Atmospheric design with a few huge soft puffs does the job; the game stacks them.
More ideas for a slot game
- Steam from a cup or a vent: the Torch flame with a grey tint, slower and taller.
- A vortex pulling coins into a pot: a closed spine, a negative Speed and a coin picture.
- A symbol poof when a symbol transforms: a short spine on the symbol with Run on once. The game triggers it and places it on the symbol.
- A river of light or an aurora behind the reels: the Star river with a wider field and a soft streak picture.
- A snake or a dragon made of particles: a long spine, Speed 0 and Infinite life, so the items hold their places and only the twist and the turbulence move the body.
Placeholder pictures
The presets use pictures the tool draws for itself when it starts: a soft smoke puff and a glow bulb (new with this journey), plus the streak, star glint and coin flip the other journeys use. They are all white so the tints colour them, and they are placeholders. Replace any of them with Upload image(s) on the Item tab or on a layer card. For several different puffs in one field, add them as Variants on the Item tab; Size variance in the Population group keeps them from all being one size.
What the game gets
Export Effect writes chixy-fx-effect-flow.zip: the field (the spine, the width, the twist, the turbulence, the emitter grid, the motion, the population and the cycle), the item and its layers exactly as in the other journeys, and every picture the items that are switched on draw. The tool never knows where in the game the smoke will play, so the spine is written relative to its first dot: the game puts that dot on the lamp's spout, a pot or a symbol and the field follows. Every rule the tool uses is written into the file as notes, including the turbulence, so the game shows the same flow from the same seed.
Everything is exact at any moment. As in the Atmospheric journey there is no simulation underneath: each item's position is worked out from the clock and its seed. Pause, drag the Scrub slider, render any stretch of time - it is always the same flow.