Generative Art – Sketches #043 to #050

Alright, next batch of generative sketches coming up. Grab them while they’re hot!

#043: Das Kollektiv

This is the first time one of my artworks is inspired by music! The song in question is Das Kollektiv by ASP. I’m taking a fairly literal interpretation of a swarm of little entities in between the walls, sucking out the essence of the “guests”. The images are pretty dark; you might need high contrast settings.

043_das_kollektiv_01      043_das_kollektiv_02      043_das_kollektiv_03

#044: Into Oblivion

This next one isn’t just inspired by music, but directly driven by it! There is already a post about it, so I’ll just post the visuals here.

Here is a video using a shortened version of Push Every Button by Lapfox:

044_into_oblivion_01      044_into_oblivion_02      044_into_oblivion_03

044_into_oblivion_04      044_into_oblivion_05      044_into_oblivion_06

A Slice of π – A MOD Music Visualizer

When making Into Oblivion, I was a bit frustrated that it was rather hard to gain good information from the FFT analysis and that it was utterly impossible to find which instrument was playing. And then a friend told me about MOD music.

Unlike audio files like mp3, module files aren’t rendered down to just the audio information. Simplified, they have two elements: A collection of distinct audio samples and tracker information when to play which sample and how to modify its pitch, volume and other properties. So that means if your visualizer is a MOD player, you have all this juicy information available at your fingertips!

So there were a few things I needed:

  • MOD files: I got those from I chose:
    • chiptune, phantasmagoria, rsectro and zapped_out by 4mat
    • Rivendell by radix
  • A MOD tracker to analyze the MOD files: OpenMPT filled that spot quite nicely and was easy to get into even for a total beginner like me.
  • A MOD processing library – of which I only found one! Luckily, PortaMod has (nearly) everything I needed, and the creator Brendan Ratliff was most helpful on Twitter.

Since this was my first foray into MOD music visualization and I wasn’t cooperating with a musician, I wanted to keep the visualizer as general as possible; any file that it could play should work. I also wanted to use as much information as possible. In the end, I chose a rotating circular representation divided into slices. Each slice is a MOD channel and each MOD sample was assigned a color. Pitch modifications made the radius go bigger, and everything is pulsating according to the output amplitude.


Executable for Windows
GitHub Repository (MIT License)

And now there’s been enough talk – have a preview video and a few screenshots!

The song used are, in order:

  • Rivendell by radix
  • phantasmagoria by 4mat
  • rsectro by 4mat
  • zapped_out by 4mat

chiptune01      phantasmagoria01

phantasmagoria02      phantasmagoria04

rivendell03      rsectro01

rsectro04      zappedout03

Generative Art – Sketches #050 to #056

So far I’ve mostly used Processing and occasionally Unity3D for my generative sketches. While I’ve learnt quite a few techniques on how to make things look interesting, I’ve been struggling with making them look beautiful. Processing definitely has the capabilities for beautiful rendering, but so far it seems to be a bit beyond me. Secondly, most of my stuff is 2D and neither Processing nor Unity3D have strong tools for procedural mesh authoring. Time for a new contender: SideFX Houdini!

Houdini is a 3d modeling/animation program with a procedural twist: Every action is saved in a node network and the node/action parameters can be changed or randomized later. That allows for generative artworks among other things. You can also just build the node network directly which feels very much like visual programming.

So this batch contains the first things I’ve ever done with Houdini. Most are inspired by the fabulous Entagma tutorial series.

#050: Starry Polygon

The first one is based on the Entagma “Poly Rembrandt” tutorial series. The tutorial produces great results, but I was missing that randomization touch that leads to every image generated being different. Using colored noise textures as input instead of images worked quite well for that.

050_starrypolygons01_0-593      050_starrypolygons02_0-0083333333

050_starrypolygons03_0-00833333333      050_starrypolygons04_1

050_starrypolygons05_0-18181818      050_starrypolygons06_0-474

#051: Wisps

Next up is my first seamlessly looping video!

051_wisps_105      051_wisps_145      051_wisps_233

Sadly, I couldn’t find a looping video player. I guess the above GIF must suffice for that; but at least you can see a non-looping sequence in far better resolution here:

#052: Dancing Tiles

After my previous experiences with music visualizers, I tried to make one in Houdini with the help of this tutorial about audio-driven animation.

The tile position changes are animated to the beat of one of the percussion instruments, the jittering is in tune with the amplitude and the color of the light changes roughly according to the frequency of the tune. This is made possible by using a multi-track arrangement I took from Lacuna (Excerpt) by APZX.

It didn’t turned out as impactful as I would’ve hoped – but because of the half-transparent tiles it took a really, really excessive amount of time to render and I didn’t want to redo it.

#053: Melted Sphere

Next, I discovered my love for melted things with this Entagma tutorial. I also learnt that the recipe for an awesome looking image is 1.) place a light source in the middle of an object and 2.) activate subsurface scattering.

053_melted_sphere_61      053_melted_sphere_48

053_melted_sphere_230      053_melted_sphere_136

#054: Crystals

Here I tried to use volumes generated by noise to make a cave with stalagmites and stalactites. Instead, I got this. I think I’m pretty fine with that.

I also learnt how to use the compositing capabilities of Houdini to lighten up the resulting image right after rendering.

054_crystals_182      054_crystals_111_nc_close

054_crystals_65      054_crystals_157

#055: Steel Wool

Steel Wool uses curl noise flow around a procedurally generated object. I wanted to use subsurface scattering again, but stumbled upon the metallic effect instead and quite liked it.

055_steel_wool_240      055_steel_wool_315

055_steel_wool_360      055_steel_wool_135

#056: Paper Leaves

This looks almost more 2D than most 2D stuff I’ve done so far. Mesh splinters, highly transparent and with lighting from behind.


And that’s it for this batch! In case you want to see the contents of any of the Houdini files yourself, just install the free Houdini Apprentice Edition and head to my Houdini GitHub repository to get the project files.

Generative Art – Sketches #036 to #042

The last batch was a bit mediocre, but this one has some really strong candidates! I’m proud to present:

#036: Among the Stars

Based on a work by the ever-fabulous Titouan Millet! It turned out not to look like the original too much and instead has its own charm.

s036_among_the_stars_01          s036_among_the_stars_03

     s036_among_the_stars_08     s036_among_the_stars_07

s036_among_the_stars_06     s036_among_the_stars_05     s036_among_the_stars_04

#037: Energy Transfer

An experiment with agents and attractors.

s037_energy_transfer_01     s037_energy_transfer_03     s037_energy_transfer_02

Generative Art – Sketches #029 to #035

It’s been over a year since I last posted a collection of small generative art sketches – but that’s not because I stopped making them, I just got a bit lazy with posting. There’s quite a lot queued up now! And without any further ado, here are candidates #29 to #35.

#029: Plasma Blob

This one isn’t terribly impressive, but it was made in a few minutes to demonstrate Processing to a colleague and is reasonably nice to look at.

s029_plasma_blob_03      s029_plasma_blob_02      s029_plasma_blob_01

#030: Mara’s Ocean

A typographic variation of #028: Isles using the Mara’s Eye font.

s030_maras_ocean_01      s030_maras_ocean_02      s030_maras_ocean_03

s030_maras_ocean_04      s030_maras_ocean_05      s030_maras_ocean_06

#031: Chimera Maker: What Has Science Done?!

The sillyness levels go through the roof with this one. For executables for Windows, Mac, Linux and Android and for more pictures, check out it’s own blog post!

031_chimera_maker_01     031_chimera_maker_02     031_chimera_maker_03

Canada’s Marvelous Singing & Dancing Animals

The newest entry in a series of silly animal-themed generative art: An animal music visualizer. Well, it started out as a music visualizer, but I don’t think it would work with many tracks and it needs a lot of configuration. It makes for a fun video nonetheless. I proudly present: Canada’s Marvelous Singing & Dancing Animals!

The song is Python by Rolemusic and the images used are all public domain/CC0.

If any of the animals aren’t Canadian after all, this is an unintentional error; I just identified them by the way they move their snouts.

Into Oblivion: A Music Visualizer made with Processing

With my newest generative artwork, I embark into the wonderful world of generative/reaction animations: It’s a music visualizer.

I’ve used spectrum analysis (powered by minim) and Processing to make a reactive artwork. It works especially for songs with breaks and theme changes where it becomes really apparent that the result is really dependent on the currently played music.

If you are Windows, you can download it here – edit the default.xml to use your own music, change the color scheme. Check out the readme for the controls!

The source code is, as always for my generative art in Processing, available at the GitHub repository and open source. You can open it with Processing 3 – just import Minim.

Here is a video using a shortened version of Push Every Button by Lapfox:

044_into_oblivion_01      044_into_oblivion_02      044_into_oblivion_03

044_into_oblivion_04      044_into_oblivion_05      044_into_oblivion_06

The Greater Book Of Transmutation: A Procedurally Generated DIY Book for the NaNoGenMo 2015

After missing last year’s NaNoGenMo (the generative cousin of the NaNoWriMo: the National Novel Generation Month), I thought I should finally take the plunge this year. Nevermind that I never made any generative text before.

The Greater Book of Transmutation is mainly based on a free association database that I found here. It’s about making things, using materials that are commonly associated with them – e.g., a cat might be made from “being feline”, “claws”, “meows” and “being graceful” and “tail”. Throw in a system of tools with actions that use/transform materials, a bit of word classification, a markov chain latin words generator, a lot of silliness and bit LaTeX, and you get:

The Greater Book of Transmutation Title

You can find the resulting PDF here.

The source code (MIT license) written in Python is also available.

An example:

How to make a book in 12 easy steps:


  • 10 hymns
  • 178 readings
  • 10 clear concepts of poem
  • 4 clear concepts of guide


  • bucket with water
  • vessel
  • pet unicorn
  • ballpoint pen


  1. Let vessel cool down.
  2. Heat vessel.
  3. Dip 10 clear concepts of poem into the bucket with water.
  4. Feed 10 clear concepts of wet poem to your pet unicorn.
  5. Let your pet unicorn lick 10 hymns.
  6. Pet your pet unicorn.
  7. Wait for a long time.
  8. Wait until your pet unicorn poops. Receive 124.89 ounces of a very dirty pile of “wet poem”
  9. Draw a magic circle on the floor using the ballpoint pen.
  10. Draw a cross into the circle and place 10 licked hymns, 178 readings, 4 clear concepts of guide and 124.89 ounces of a very dirty pile of “wet poem” on each corner.
  11. Whisper the following spell: “Alchemia implacabilis! Meio clystermitto clodigo condocefaciencia, millibi! Verca bisellatrocinium! Creditor circumbrans!”
  12. Reluctantly, a book will appear inside the circle.

That might also help those that are struggling to make a book. And if you are missing one of the materials or tools, maybe another entry in The Greater Book of Transmutation could help you make it!

Used data sources:

Critical Hit 2015: CloudKeeper

Continuing the series of Critical Hit 2015 prototypes, here is the next one: CloudKeeper. Again, we had two weeks and a completely new team of four people to make another experimental game. Our discussions quickly arrived at magic as a theme and circular projections. Some members of my group had a circular projection on the floor last time, so to shake it up a bit, we wanted the projection to by on the ceiling. And thus, the idea of the magical sky creatures was born: Creatures that escaped into the heavens, and the player, a cloud keeper, has to bring them back.

I had a lot of fun with electronics in my last project, so I wanted to do more of that. And I still had a Touch Board that I never had time to use so far – an Arduino with capacitive sensing, which, among other things, can do this:

Distance capacitive sensing! (photo taken from the Touch Board kickstarter campaign)

It worked quite well for very low ranges (<4cm), which was suitable for our purposes. At first we tried to make one crystal which players can touch from multiple directions, but players used to swirl their hands around it like it was a crystal ball and that didn’t make for very predictable controls. In the end, we settled for 5 cardboard crystals, each with only one function and aluminium foil inside. The capacitive sensing actually worked really well through the cardboard! Some crystals controlled movement, and the closer you got to them, the faster the movement got. (And not being able to see why cardboard can sense how close you get to it added a fun technological-magical aspect to the whole thing.)

Apart from that, we also wanted to have generative creatures – kind of like my Chimera Maker, but this time I also got to procedurally animate the creatures! Kailin Zhu drew them and created the crystals you see in the video and pictures below, Titouan Millet made beautiful generative cloud shaders and Peter van Haaften generative music and sounds.

Oh, and I also made the creature nest, a separate executable which showed the creatures flying away from and returning to earth, seen in the video on the monitor. It communicates with the main game via a server using the Yahoo Games Network (formerly PlayerIO). I tried to make it work with standard Unity peer-to-peer networking, but the University network didn’t like direct connections at all.

Finally, all this generativeness combined resulted in:


Magical creatures have escaped into the heavens,
and the player must sift through layers of clouds
to bring them back to the earth.

Using a set of five crystal touch/distance-sensing controllers,
the player wanders through a generative audio/visual cloud world
to catch these lost mythical beings and return them to their home.

CloudKeeper (Critical Hit 2015)


  • Titouan Millet – Programming and generative visuals
  • Kailin Zhu – Craft and illustration
  • Tobias Wehrum – Programming, electronics, and generative creature engine/animation
  • Peter van Haaften – Generative music and sound engine

The video footage was recorded by Mattias Graham and Tobias Wehrum.

This project was made possible through the Technoculture, Art and Games Research Center’s Critical Hit: Games Collaboratory and the support of Concordia University and Dawson College and financial contribution of the Ministère de l’Enseignement supérieur, de la Recherche, de la Science et de la Technologie.

Critical Hit 2015: (un)done

Critical Hit 2015, the incubator for experimental wearable games that I’m currently taking part in, is still going strong. After Fruit Fever, we formed new teams to do our second big prototype. This time we wanted to do a theatrical experience with a non-linear story.

After the brainstorming, we came up with (un)done, a story about love and break-up. Two players face each other, wearing ponchos with strings dangling from them. When they tie a string together, they hear a positive memory from the couple’s relationship, like the first date or kiss, moving in together or getting a pet. When they open a knot instead, a sad memory will play: a fight, a thing they hate about each other or just drifting apart. By players tying und untying different strings (and with the help of a little randomness), the story that unfolds is always different.

Additionally, a woven screen on which generative art is projected separates the players from an audience. The more strings are tied, the more colorful and intricate the projected art becomes; when knots are opened, the projection is slowly erased again. In the end, the projection is blank again and nothing remains but the memory of what once was there.

This project was a lot of fun and very interesting. I never made a theatrical experience before – and additionally, I wanted to learn how to deal with electronics and soldering and expand my knowledge about the Arduino. Thanks to my team and all the helpful other participants and mentors at Critical Hit that was a big success!

And now I proudly present:


Step in the shoes of a couple as they meet,
fall in love, fight, and fall apart again.

Embody a relationship as you tie and
untie yourself with the other player, in:

(un)done, an intimate non-linear audio game
made at Critical Hit 2015!

(un)done, an intimate non-linear audio game (Critical Hit 2015)



This project was made possible through the Technoculture, Art and Games Research Center’s Critical Hit: Games Collaboratory and the support of Concordia University and Dawson College and financial contribution of the Ministère de l’Enseignement supérieur, de la Recherche, de la Science et de la Technologie.