Generative Art – Week 1

Hey! If you’ve been reading this blog for a while, by now you’ve probably noticed that (true to my tagline) I mostly post games that I make – but sometimes, it’s also other stuff. The “other stuff” might get a bit more company from now on! I’ve been getting into generative art, and I’ve decided to make one generative art sketch per day until I get bored with it. Every Sunday I’ll post the results of the week with screenshots, videos, executables for Windows and the processing source files. And if you’d rather see me making games, don’t worry – making interesting and potentially beautiful things with code will only help making my games look better. And now without further ado, I present to you week 1!

#001 – ShardSphere

First one in my daily series! Mostly inspired by Generative Art Chapter 5. I really like the beginning when it comes to life out of nowhere.

s15_03_01_shardsphere_1      s15_03_01_shardsphere_2

s15_03_01_shardsphere_3      s15_03_01_shardsphere_4


#002 – ShardCircle

A rehash of #001. I was wondering how it would look in 2D. Turns out: Pretty good. Even more as in #001 I like the how it appears with a swoosh like a swarm of little shards.


s15_03_02_shardcircle_3       s15_03_02_shardcircle_4


#003 – TriangleChain

Things don’t always look like I envisioned them, and #003 is a very good example of this. So along the way I thought if it doesn’t want to look like I want it to, I’ll just add silly perlin noise motion to it and call it a day. (Perlin noise is SOOOO good.) You might notice that it has much clearer colors than #001 and #002 – here I discovered the joys of the HSB color mode.

s15_03_03_trianglechain_1      s15_03_03_trianglechain_2


#004 – CubeSphere

Originally inspired by this crazy thing. To keep the color scheme interesting but also fluent and consistent, I have 4 different functions: “noise(sin(angle t))”, “noise(cos(angle t))”, “noise(cos(angle t) + sin(angle t))” and “noise(sin(angle s)) * noise(cos(angle t). I generate 4 random weights at the beginning to set how each of those functions contributes to the color at the angle t and s. Voila: Different patterns and colors, but consistent and flowing into each other.

s15_03_04_cubesphere_1      s15_03_04_cubesphere_2


#005 – Fireflies

This is the one that strayed furthest from its inspiration, and all the better for it. Because gosh, does it look good, and it looks even better in motion. And it’s fun to play with too!

Originally, I was inspired by a scene in the Rule-of-Cool-anime Campione: Lots of flying swords acquiring a target at the same time and then flying towards it. Turns out that looks really boring in 2D without great graphics and sound effects, but the trails looked nice. And it looked even more interesting with colors and just as little glowing dots.

And so, one by one, I arrived at some sort of space fireflies harvesting white orbs for light, always flying, piercing, glowing and looking out for the next one.

s15_03_05_fireflies_1      s15_03_05_fireflies_2      s15_03_05_fireflies_3

s15_03_05_fireflies_4      s15_03_05_fireflies_5      s15_03_05_fireflies_6

s15_03_05_fireflies_7      s15_03_05_fireflies_8      s15_03_05_fireflies_9


#006 – CircleTrails

This one started out as me rewriting an example from Generative Art Chapter 6 without reading the code and only reading the description. It looked delightfully different, and with the addition of different modes (black, greyscale and color) even more so.

The chapter’s title is “Emergence” – having complex forms and behaviour emerge from much simpler behavior. And so, in CircleTrails, there are lots of invisible circles just flying around and bouncing off the borders. Those aren’t the circles that you can see in the images – those are drawn whenever two invisible circles intersect with the center point as the circle center and the distance as the circle radius.

s15_03_06_circletrails_m1_black      s15_03_06_circletrails_m2_greyscale

s15_03_06_circletrails_m3_color_1      s15_03_06_circletrails_m3_color_2


#007 – Blobs

Last one of the first pack: A collection of blobs, fighting for dominance. It’s not working out very well for them, but more so for us as we get to enjoy the results. Over time, the images feel a lot deeper and richer textured and get an oily look.

s15_03_07_blobs_1      s15_03_07_blobs_2

s15_03_07_blobs_3      s15_03_07_blobs_4



Windows (32 bit)

Windows (64 bit)

Source Code (GitHub, MIT license)


  • ShardSphere: Left-click to refresh.
  • ShardCircle: Left-click to refresh.
  • TriangleChain: Left-click to refresh. Space to show UI.
  • CubeSphere: Left-click to refresh.
  • Fireflies: Left-click to spawn a sphere and to deactivate auto-spawn-mode. Right-click to refresh.
  • CircleTrails: Left-click to refresh. Right-click to change mode. +/- keys to speed up/slow down.
  • Blobs: Left-click to refresh.

If you’re not on Windows, fret not; for some reason I can’t compile for Mac and Linux, but you can just download Processing and open the sketch files. It’s really straightforward. If you need any help doing that, just send me a mail or comment here.

And that’s been it for the first week. See you next Sunday for the second one!

Leave a Reply

Your email address will not be published. Required fields are marked *