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.
#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.
#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.
#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.
#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.
#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.
#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.
Download
Source Code (GitHub, MIT license)
Instructions:
- 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!
One thought on “Generative Art – Week 1”