Bring your Phaser 2 games alive with this powerful and easy-to-use particle system
- Create complex particle effects in minutes
- Over 200 Examples Included
- Easy to use and friendly API
- JSDocs, PDF Manual and TypeScript Defs
- For Phaser 2 / CE only
Particle Storm is an advanced particle system allowing you to easily create stunning special effects in your games with just a few lines of code.
Our primary design goal was to create a particle system that was extremely flexible. It was important that you should be able to easily integrate into your games. Particle effects are constructed through easy-to-understand JavaScript objects. Multiple properties and options let you quickly put together complex looking visuals with minimum effort.

The user friendly API means you'll be up and running in seconds.
Creating an emitter is as simple as activating the plugin and defining the particle data:
var manager = game.plugins.add(Phaser.ParticleStorm); manager.addData('rocket', { lifespan: 4000, image: 'rocket', vy: { min: -1, max: -3 }); emitter = manager.createEmitter(); emitter.addToWorld(); emitter.emit('rocket', 200, 500);
The code above is all you need to create the effect of rockets blasting up into the sky. Emitters are treated as display objects within your game, and can be easily layered between the rest of your game content. The above example may look very simple, but there are a wealth of properties you have access to. They all combine to let you create some truly stunning effects.
Try it out for yourself!
We have put 36 Particle Storm examples on this site.
Run them, play with them and edit the code to get a feel for how it all works.

When you buy the plugin you get 200 more examples just like this, each showing off a different aspects of the system. As particle systems are such a visual thing we decided it would be better to teach you how it works by showing lots of simple and concise snippets of code, instead of wading through reams of text. This way you can tweak the examples and see the results instantly.

Particles Emitting Particles
Particles can be their own emitters and spawn other particles at any stage of their lifetime, allowing for complex timeline based effects not normally possible with traditional emitter / particle relationships. Child particles can inherit properties from their parents, with support for complex rewriting rules to determine inheritance.
There are a wealth of properties and methods exposed for your game code, allowing you to configure the effects as needed.

Features
- Over 200 Code Examples included. Learn by studying code!
- Extensive JSDoc API Documentation. All properties and all methods.
- TypeScript Definitions included.
- Adds just 10KB (min/gz) to your game, with all 5 renderers and 10 zones included.
- Runs as a native Phaser Plugin. Won't conflict with other internal systems.
- Particles are created from easy to understand JSON data.
- 5 Renderers are supported: Sprite, BitmapData, Pixel, Render Texture and Sprite Batch.
- Renderers extend a common Base class so you can easily add your own.
- Particles can be emitted from 10 different types of emitter zone:
- Point, Rectangle, Circle, Ellipse and Line based emitter zones.
- Image based emitter zone allowing you to create particles from image data.
- Text based emitter zone allowing you to create particles from Phaser.Text objects.
- Emit particles from Linear Spline, Bezier Curve and Catmull Rom Spline paths.
- Zones extend a common Base class, so you can easily create your own.
- Run multiple emitters simultaneously. Create as many as you need.
- Each emitter has its own force and scroll speed controls.
- Emitters manage their own pools of particles for fast re-use.
- Powerful time based control graphs. Virtually all particle properties can have control graphs applied to them.
- Repeat emitters with easily customised repeat rates.
- Delayed emitters, with configurable delay steps.
- Particles can emit any other type of particle.
- Extensive Particle Properties include:
- Lifespan - control how long the particle lives for.
- Keep Alive - keep a particle alive when its effect is finished.
- Delay - set how long until it starts emitting.
- Delay Visible - allow a delayed particle to be seen.
- Visible - easily toggle the rendering state of a particle.
- Ignore Force - particles can ignore emitter applied forces.
- Ignore Scroll Speed - particles can ignore emitter applied scrolling speeds.
- Emit - particles can themselves be emitters.
- Velocity - control the speed of the particle.
- Acceleration - set how quickly a particle accelerates.
- Scale - visually scale a particle on either x, y or both axis.
- Rotation - control the rotational speed of the particle.
- Anchor - set the texture anchor point.
- Send to Back - make a particle emit behind the others.
- Bring to Front - allow a particle to emit at the front.
- Texture - set the particles texture and frame.
- Animation - emit fully animated particles.
- Scale Mode - control the textures scaling mode.
- Blend Mode - use blend modes for incredible effects.
- Color Channels - control the red, green and blue color channels.
- Alpha - complex alpha control.
- HSV - set particle colors based on an HSV color wheel.
- Particles can 'Radiate away from' given coordinates.
- Particles can radiate away from given angles.
- Gravity Wells! Suck particles towards or push them away from given points.
- Particle data can be loaded externally from JSON files.
- Manipulate particle data in real-time.
- Handy debug method displays emitter pool and force values.
- Works across mobile and desktop browsers.
- Getting Started Guide - You'll be coding in next to no time.
- Free Upgrades.
- Allowed for use in your own commercial games.
- Ready built and minified source files.
- Works with Phaser 2.4 and above.
The plugin is delivered via immediate download. It includes the full source code, examples, API documentation, distribution files and a manual.
Try it out
We have put 36 Particle Storm examples on this site.
Run them, play with them and edit the code to get a feel for how it all works.
