algorithmic journey, learning to create in code.

I have always been fascinated by imagery, its consumption and its creation and whilst I may be in denial, over my time as a creator I have written a fair amount of code, but not for a long time, I mean a very long time.

Join me as I re-discover, re-learn and build through generations of images produced as code.

Each generation, as they are created will be available to collect, either digitally or physically, as we start this journey together I dont know which, when or how. There will be variants which are exclusive to holders of my other works.

The story and the journey

  • How it begins

    All great ideas, in my experience, begin in the same way. With friends, often with coffee and sometimes with a donut.

    Thats how this madness began. I think i recall the sentence could have been something like ‘Wouldn’t it be great if…’

  • Building elements

    Getting to a genesis piece, there are easy ways, and there are ways that are more complex in the short term, but in the long term are a better approach.

    In theory… in lots of theory. It was ime to start buidling a toolset of code and get to grips with color, and hexadecimal.

  • Genesis of Series I

    Having built a basic collection of code. It was time to start to produce some images, and concepts of how a first piece could look.

    Time for maths, translation and the complexity of origin points and a crash course in ‘why doesnt that work frustration’

How it begins

Wouldn’t it be great if it was easier for artists to understand and connect to their collectors?

It as sentences goes, is an innocent sentence, but then, as is often the way when two friends connected by years of working together, shared passions and an interest in the future get to let ideas run free.

things happen

Where that part of the conversation ended up, thats a story for another day. Where this story starts is, well to do the other thing, one of the two people sat having coffee needs to re-learn how to code.

That would be me…

Actually, maybe thats a bit unfair. I had already had this artistic itch, and even had tinkered a little around the edges. Thanks to my delight at finding and watching the growth of Artblocks. in the backend of 2021. There is something deeply interesting in the tension that coded art has. Like abstraction, there is that balance between order, and random. The prescripted and the chaos.

There is such a wealth of information available, and so many talented individuals who bring the creative space of generative coding, and indeed ‘how to code’ to life. Including ofcourse my co-idea creator from the coffee shop. So started my journey into learning a few things… quite a few things..

  • Github, and source control

  • p5.js

  • Javascript

  • node.js

  • debug and logging

  • re-learning some basic maths

  • codification of color theory

Art needs to find an outlet, it needs to be released for it to become a ‘real thing’ for me, other wise its just a sketch book idea, or a lightroom library. The act of curating to exhibition and release closes the art cycle. Art is really never finished, only abandoned (to quote). So here is the plan.

  1. write code that produces a thing that appeals to my level of aestheticm, but is part of a journey.

  2. release the visual output as a thing, with a version for my collectors as a limited edition opportunity.

  3. share and document the journey here, in the hope that this will make me stay comitted to achieving output. Artists like to be not finished.

As with all artists at work, this will probably not be my sole endeavour, there will be other works and releases building as this progresses. Coding is beautiful, but also hard, tiring and sometimes, of times, frustrating. Now how do i convert from RGBA to HSB…

Why you should join

The Collectors Club.

I believe in providing value to my collectors, and people who are interested in my work. In addition to getting access to discounts and airdrops of parts of existing and new collections, promotional codes for any fine art prints and stickers, and a very occasional newsletter.

Every generation of the algoritmic series will have an exclusive edition for existing owners of my digital NFT collections, and members of The Collectors Club. Its free to join, and you can always unsubscribe should you wish.

Also it makes me feel supported, spread a little joy!

Coding to produce generative art is an investent in thought and time.

Whilst the code does not need to be critically robust, being able to reuse and make use of parameters to control the output over time builds a personal library of tools and approaches. Much like collecting brushes, or favourite colors to mix. It is part of the art discovery process.

Every piece of art, for me anyway consists of.. Color, Form, Composition, Tension and Space. It also seems to be an endless warren of things to learn and discover. So I decided to start where most of my ideas for art start, doodling some rough ideas on paper. Actually, deciding on the canvas color, or paper, or background, how to draw it, and then how to stop the generated image just falling off the page in a way that did not appeal to me was the first diversion..

Grids, an abstraction of layout

Dividing the drawing into a usable grid, or indeed many grids quickly became the first re-usable element of code. It’s suprising how the same, or similiar design code, when the grid resolution is changed causes variation of image. So being able to draw a canvas, in a pleasing color, with a border, with a grid (virtually speaking) that would allow for future layout. This became task one… Task one became a chance to learn about, abstraction of code, refactoring, arrays, push, pop, and then that the maths was too hard to work out that it was correct in my head, so a visual debug..

That lead to, more refactoring… splitting the code into modules, managing variable scope, and trying to understand how that all fits together.

So now I have code that can map my need to draw shapes, across a virtual invisible grid, knowing the corners, the center, the size, and a few other useful parameters. Stored in a usable data store, and they can be visualised which helps me visualise how the design can have some constraint aesthetics.

Generated art, constraint versus emergent

Color, and color palettes. The world is full of color, but if you put it all on a page at the same time, can you consume it? Can you structure it to provide a cohesion to the art?

Selecting a palette, algorthmically there are many approaches, complementary, additive, conjunctive, opposites. I decided that as a base I would select from a pre-built set of palettes which reflected the tone of color that appealed to my design thoughts.

Thats where the journey into color modes really started. As a coder, I had started down the ‘red green blue’ {RGB} approach, inclduing a handy bit of code to convert from a hex color code (#ffea0a) to individual values, but… if you want to move between colors say fade from red to blue, or if you are from more of a photography background, other color models HSB (hue, saturation, brightness) are going to make for better transitions…

time to refactor to use HSB…

By now I had,

  • control over composition elements, via a grid builder

  • color management, via a designed set of palettes that appealed to me

  • more refactored and reusuable code elements

  • a code respository with source code management (thanks to my friends coding support day!)

One of the things that you learn as a digital photographer, mainly when it comes to the post image processing is to know when to build changes to the image in a non destructive way. This was the first of this round of refactoring, moving from drawing onto the canvas directly, but adding the utility to the code to generate a ‘stack of layers’. I am not sure exactly how I will use this to my design needs, but it does now allow for the benefit of code re-use to start to layer the arts organic complexity to drive in a more complete and cohesive shape and form.

Also, fixed a bit of a maths problem when generating grids that didnt quite fit on the page, turns out dividing by two was not the way to work out the adjustments needed. Generative art and maths are friends, but not necessarily always aligned to each other when my brain is involved.

Getting to Series One

Art is never finished, especially if there is code involved. Part of this process for me is to get to a ‘this is where I am at’. Time to let the algorithm generate a few hundred images to choose from. This editorial process is key to the art at this stage. I am not at the level of result or algorithm where an external seed process could be used to create an image. Released as an open edition, and some limited to the collectors club on KnownOrigin as a marker to progress.

From this I learnt three things;

1 - as an artist, the current code does not provide the delight or image variations that I like

2 - It has built me a bunch of code snippets to make the next sequence more interesting

3 - as a by product the output, can be the input to other works..

The journey to series one, purely algorithmic art continues with, a greater need to produce texture, and controlled brush work.