Archives

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.

#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.

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!

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.

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.

#051: Wisps

Next up is my first seamlessly looping video!

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

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 http://www.cambridge-mt.com/ms-mtk.htm: 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.

#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.

#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.

#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.

When you google “unity utilities”, it seems like everyone and their dog has one of those. Well… now there’s one more of them! Open-sourced, well-commented, with descriptions, examples and class documentation. Get it while it’s hot:

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.

The newest entry in a series of silly animal-themedgenerative 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!

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.

I’ve made prototypes for local multiplayer games with 10+ people before – some very successfully, some less so, but always with great pleasure. There is something magical about a crowd of people all playing the same game together. You don’t just need to design good mechanics though – the game should balance well with a few or with a lot of people, which is also hard to test because you always need a crowd. Another problem is input: While yelling with varying volume in Screamy Bird is tremendously fun, it is a bit limited control-wise. Unless your crowd is very small, giving everyone a gamepad is not an option. But these days, most people have a smartphone with a web browser, and luckily, platforms like AirConsole and HappyFunTimes make using these as controllers extremly easy!

My goal was to make a game where people have to cooperate and that scales well with different amounts of players. To ensure cooperation, the game would feature two radically asymmetric roles: the Shooter, which can attack but dies to a single hit, and the Defender, which has no offensive capabilities, but whose shield can absorb any amount of damage. In the center of the games are the Cores which the players have to defend. Enemies come in from all around the screen and try to destroy the players and the Cores, whatever is nearest. The enemies’ projectiles are heat-seeking – they will always hit something, so without the Defenders, the Core and the Shooters will be destroyed rather sooner than later; but without the Shooters, the defenders could not destroy a single enemy.

This was a jam game done in about 12 hours and everyone around me was busy, so I there was no way I could balance it properly. I solved that dilemma by assuming the role of the game master: I would sit at the keyboard and spawn enemies.

Apart from troublesome connection problems, the game worked rather well for a jam game and the crowd loved it. Here is a video of the presentation:

Connection problems aside, I am very content with how the mechanics worked out and I think there is a lot of potential there. I will probably revisit this prototype some day and make a proper game out of it.

It’s been a few years since the GGJ whose theme was “deception” – a theme that we, back then, utterly and completely ignored. The only way to make up for that (I assume) is to use the theme in another GGJ! So here, after 6 years, my honor as a jammer is finally restored. I proudly present our game:

Six druids have come together to perform
the yearly Super Important Ritual.
But unbeknownst to them, two traitors
have infiltrated their ranks!

Complete the rituals, but watch out for
those which fail – and who participated!