This is a little software I wrote (I don't know why, really) where littles particles come to life. They have several attributes, and like mankind, it started from a couple :), here are some samples of simulation ;

The rules

I developped some rules, attraction rules, flee rules, so they start to look for a partner, or they flee when an enemy is too close. Of course, if there is an enemy nearby they won't try to reproduce :) !

Each time two particles reproduce themselves a particle is created. This new particle may be stronger than his parents, each particles' color means a level, so the pink ones are stronger than the purple ones and so on..

When a particle fight another, a dice roll is done, probability depends on particles' level, and their size. So a big and high level particle should win against a small and weak particle, but there is a small chance for the weak particle to win, like in the real life :) !

Internally these particles are driven by a set of force fields, coming from their partners, enemies and from the environment, for instance, to avoid them to get stuck in corners there is a large forcefield around the map which 'push' them softly (represented by the red lines) ;

 ⚭ Env Force Field

Different modes to debug / view the particles and their attributes had been used

Name Mode
LookAt Mode


I also developped for these little particles what I've called a 'MindMap' which basically means they use a sonar to 'see' what there is around them, enemies and prey. They mark the enemies as red dots and prey as blue dots, which progressively fade out over time. Like that ;
The green lines are the rays projected by the particle to 'look' around her

This MindMap is shared between all the particles who are the same level, so they communicate to their mates if there is / was enemy nearby.

This was a very nice coding experience, and I'm rewriting the whole thing properly adding some interesting abilities. v2 coming :)