How to use

Just click on the canvas to change the pattern. It is that easy !

How it works

There are four important kind of objects in this little thingy:

  • the Engine stores the Emitters and do the update and draw calls.
  • the Emitter is basically an entity in what would be a game. Think your player, or a enemy.
  • the EmitPoint is a point which belongs to an Emitter and is used to emit particles.
  • the Emitted is a particle that has been emitted by an EmitPoint.

Each of these objects (except the Engine) has a defined Trajectory, which can be a line, a circle, a sinus wave, of even a rotation or linear combination of those trajectories. Trajectories can also be delayed, or confined within a particular time range.

The Generator itself is actually quite simple. It has four different configurations for each object, and take one from each category to make a given pattern.

In the future ...

Since generating those kind of patterns is a idea I had in my head for more than a year, I would like to improve upon it and maybe turn it into some kind of playable game. Here is a list of features that I consider playing with :

  • More trajectories
  • Proper generator (maybe L-system based)
  • Shapes ! colours ! (yellow stars with a trailing rainbow, you get the idea)
  • An actual player and an actual enemy

About the development

Most of my time has been used to create the particle emitters and ensure that combining different trajectories would work as intended. While at first, I intended to work on the trajectories on Saturday and on the generation on Sunday, I ended up implementing more stuff than I needed, and only started generating patterns on Sunday evening. Overall, I am still quite pleased with what I achieved in little more than a week-end of work with this.