Particles are usually discussed as polish. In an arcade game they are closer to a communication channel: the fastest way to confirm that something happened, at the exact position where it happened.
Confirmation, not decoration
When you collect an item on this site, nine of the ten things that happen are feedback. One is simulation — the item's active flag is set to false.
That ratio is correct for a genre whose core verb is "touch a thing". The touch itself is trivial; making it feel like it mattered is the craft.
The particle burst is doing a specific job in that set: it marks the position of the event. The score number tells you what you gained, the sound tells you that something happened, and the burst tells you exactly where — which matters when several things are happening at once.
Colour matching
A collection burst takes the collected item's own colour. A strawberry produces a red burst; a banana produces yellow; a golden star produces gold.
That makes the burst identify what you collected, which is genuinely useful during a dense moment. In a frenzy wave in Falling Food Frenzy, a player catching four items in a second cannot read four glyphs — but they can perceive four different coloured bursts.
Hazard impacts use red regardless of the hazard, shield absorptions use green, and power-up pickups use the power-up's own colour. Those are consistent across all thirty games, so the colour vocabulary transfers.
Text as particles
Rising score numbers are implemented as particles rather than as a separate system, which sounds like an implementation detail and has a real benefit: they share the same budget.
Without a shared budget it is possible to have 160 particles and 40 score pops on screen simultaneously. With one, the cap covers everything that is being drawn on top of the gameplay.
Score pops are drawn with a dark stroke behind them so they stay legible over any background, and they do not shrink as they fade — a shrinking number becomes unreadable before it disappears.
The budget cap
A hard limit of 160 particles, dropping to 40 when reduced motion is active.
The cap serves two purposes. The obvious one is performance: on a mid-range phone, uncapped particles during a dense moment can halve the frame rate at precisely the moment the player most needs responsiveness.
The less obvious one is readability. Particles are drawn on top of the play field. Enough of them will obscure a hazard, and a hazard hidden behind your own collection effects is the most frustrating possible way to lose.
When the cap is reached, new emissions are silently dropped rather than replacing existing particles. That produces graceful degradation — the effect gets thinner rather than flickering.
Pooling
Particles are the highest-churn objects in the engine: hundreds created and destroyed every second.
Allocating a new object for each one produces garbage collection pauses, and a pause during a dense moment is a stutter at exactly the wrong time. So particles come from a pool: dead ones are reset and returned rather than discarded, and the pool holds up to 400.
The same pooling applies to collectibles, hazards and obstacles. The general rule in a browser game is that anything created more than a few times per second should be pooled.
Reduced motion
When prefers-reduced-motion is set — or the in-page toggle is on — three things change:
- The particle budget drops from 160 to 40.
- Burst counts drop to 30% of normal.
- Celebration effects are suppressed entirely.
What does not change is gameplay. Speeds, hazard positions and scoring are identical, because reduced motion is a rendering preference and conflating it with difficulty would force a player to choose between comfort and a fair score.
Effects worth having
| Event | Effect | Why |
|---|---|---|
| Collection | 9–14 particles in the item's colour | Marks position and identity |
| Combo step-up | A COMBO ×N text pop plus a louder cue | The most important scoring moment |
| Hazard hit | 18 red particles plus screen shake | Must be unmissable |
| Shield absorb | 16 green particles plus a SHIELD! pop | Distinguishes a save from a hit |
| Personal best | 46-particle confetti burst | Reserved for genuine improvement |
| Movement trail | One particle every few frames | Conveys speed |
Everything on that list confirms an event the player needs to know about. Anything that does not confirm an event is decoration, and decoration competes with the things that do.
Try it yourself: Rainbow Fruit Quest
Collect fruit in rainbow order. Completing a rainbow clears every hazard on screen.
Key takeaways
- A particle burst marks the position of an event — the third channel alongside the score number and the sound.
- Match the burst colour to the item so the effect identifies what was collected during dense moments.
- Implement score pops as particles so they share one budget with everything else drawn over the play field.
- Cap the budget hard: for frame rate, and because particles can obscure a hazard.
- Pool anything created more than a few times per second, or garbage collection pauses become stutters.
- Reduced motion should change particle counts and suppress celebrations, never gameplay.
Frequently Asked Questions
What are particles actually for in an arcade game?
Confirmation. The score number says what you gained, the sound says something happened, and the burst marks exactly where — which matters when several things happen at once.
Why do bursts match the item's colour?
So the effect identifies what you collected. During a dense moment a player cannot read four glyphs in a second but can perceive four different coloured bursts.
Why cap the particle count?
For frame rate on mid-range phones, and for readability — particles draw over the play field, and a hazard hidden behind your own collection effects is the most frustrating way to lose.
Why are score numbers implemented as particles?
So they share the same budget. Otherwise you can have 160 particles and 40 score pops on screen at once, and the cap stops covering everything drawn over the gameplay.
What does reduced motion change?
The particle budget drops from 160 to 40, burst counts drop to 30%, and celebrations are suppressed. Gameplay speeds and scoring are completely unchanged.