For the Exposures collection, I challenged myself to create purely code-based artwork that sprung from concept and intention, like a traditional artist would. Aesthetic choices about composition, form, color, and rendering style should then follow directly from those intentions.
Code-based artwork often emerges from technical experiments rather than artistic vision. I wanted to flip that approach on its head.
The technical pipeline for an Exposures piece mirrors a traditional artistic workflow, to a degree. The steps are, roughly:
- Define an overall composition with dark and light regions and focal points.
- Propose a color strategy and color palette.
- Select the subjects: one or more characters in random, expressive poses.
- Tweak the background elements to fit the characters, and vice versa.
- Render the image in a humanizing, faux hand-painted style.
- Adjust brightness, contrast, and color vibrance for the most pleasing final image.
Let's talk about each step in more detail and see how the layers of a specific artwork come together.
Composition
A traditional artist often starts with thumbnail sketches and compositional studies, arranging masses of dark and light shapes, and identifying focal points. For this collection I created dozens of quick compositional prototypes, testing various arrangements of figures and geometric elements to see which had the most impact. These were eventually codified into over 20 different composition templates.
The template specifies light and dark areas and regions for placing figures (blue circles)The first step, then, is the random selection of a composition template. The template defines general areas where characters will be placed (focal points), where lights should shine, and where geometric elements should fill the background. There is a lot of leeway in the way things are positioned. Randomness still plays a huge role in how the scene is arranged.
Color Strategy
The next step is the selection of a color scheme and palette for the piece. Some palettes in Exposures are randomly generated, while others are drawn from fixed palette combinations. Color choices have a strong impact on an artwork’s mood and message.
Every element in these pieces is transparent to some degree, so colors blend everywhere as light passes through. Considerable time was spent fine-tuning the predefined palettes, making sure the colors all blended well while maintaining enough contrast to create sharp interest.
Subject Selection
The characters jump into the scene next. Each one is placed somewhere within a focal point area, with plenty of random leeway, and given a random pose. The attitudes of these characters, their relationships to each other and to the scene around them, can suggest narratives that are sometimes different for each viewer.
Fitting In
After the characters are placed, posed, and rotated, a 2D angle is projected from a prominent leg, arm, neck, or spine.
The algorithm tilts certain background elements to that angle, bending the environment to the will of the figures. Or maybe those characters just contort themselves to fit in?
Smoothing the Edges
At this middle stage the images still have a strong computer-generated feel: angular figure models posing in a precise geometric landscape. In the next step, a rendering algorithm detects and smooths obtuse angles. It also applies a brush-like texture that follows the contours of color gradients and lighting bands. The goal is to humanize these works a bit so they fall into that nebulous space between digital and organic.
Final Adjustments
The final step involves sampling pixels across the canvas to determine if the overall image needs adjustments to brightness, contrast, or color vibrance. It’s unusual to include this step in code-based art — it goes against the need to minimize code size! — but it really helps render each piece in its most pleasing light.
The Artist's Way
For this project, I found it incredibly useful to model the approach on classical art-making techniques. The steps don’t align perfectly but the trusted progression from concept to composition to color strategy to subject selection and final rendering is equally effective for code-based artists. The tools may differ, but the artist’s way endures.
Of course, the artwork itself is the emissary of the process. I’m pleased that some people see the Exposures works as unique 1-of-1s, despite them being part of a 100-piece code-based art series. There are indeed stories being told.