1) "Этот дым состоит из кружков с радиальным градиентом"
Может LCD монитор мне так показывает, но у дыма есть прожилочки. Это действие фильтра.
2) "я надеюсь все себе представляют его" И не только это представляют

3) Создаешь функцию которая каждые N секунд аттачит мувики на сцену и передаёт этим мувикам параметры(скажем начальные радиусы) Три мувика - это потому что там кажется три вида мувиков: два красных одын белый. При каждом вызове функции уменьшаешь альфа и меняешь координату на DX = 2-4*Math.random. В данном случае 2 амплитуда. Когда альфа становится у мувика меньше нуля, уничтожаешь мувик, таким образом не плодишь клипы на сцене.
4) Было бы неплохо, если бы дым еще двигался не по прямой, а по синусоиде...
Ага, а ещё неплохо было бы турбулентности сделать
