Author Archives: Dima Konev

System: Beyond 184

It’s all been leading up to this. Beyond 184

Let’s have a little urban fantasy. You’re on top of a skyscraper. You look down, and you see the neon world below. It’s beautiful, it’s alive.

And I wanted to capture that.

To build a living place, just pretty neon buildings alone are not enough. After all, the buildings are nothing without the inhabitants. And so, the streets are full of life. They are filled with traffic, with people going around their lives. An entire system that simulates a small world is behind each pair of these headlights.

City in action

When I first found out about this class and interviewed for it, one of the examples of what I considered “Art from Code” was a beautiful video by baku89 that utilized cellular automata. I found it so fascinating that a mathematical model made out of a grid of cells – all using pretty simple rules that determine if a cell will be “filled” or “empty” in the next generation – could produce something so beautiful.

All the pieces ended up falling together in a way that pushed me to explore cellular automata further: this class’ final prompt being “systems”, and the discrete mathematics’ class’ exploration of logic.

Game of Life As this class progressed, I found myself exploring and implementing cellular automata rules, and even creating a few of my own, such as this automata, which generates a city grid, similar to Piet Mondrian’s Broadway Woogie Boogie: Broadway Walkie Talkie So, for my conference projects – both for Art from Code and Discrete Mathematics – I chose to work with cellular automata. Familiar

Having finally returned to New York City after spending a lot time living in suburban hell, Manhattan was all that I had on my mind.

I thought back to other generative projects I’ve seen – and one in particular stood out. Called Pixel City, this screensaver generated an entire city, full of unique buildings and even street traffic. But the traffic wasn’t really “alive”. And I wanted to fix that.

Pixel City

I decided to base my project on a cellular automata called Rule 184, expanding upon it to create a more interesting traffic simulation in two dimensions (hence, I called it “Beyond 184″). The Rule 184 cellular automata simulates vehicles moving on a one-dimensional road with a very simple set of rules:

  • If a cell is occupied, and the next (right) cell is empty, the cell becomes empty
  • If a cell is empty, and the previous (left) cell is occupied, the cell becomes occupied
  • If a cell is occupied, and the next cell is occupied, the cell stays occupied
  • If a cell is empty, and the previous cell is empty, the cell stays empty

I expanded upon these rules, adding a “cooldown” – that is, the ability of cells to stay in place for one or two generations before moving. This gave me the ability to have a city with “cars” that can move at different speeds. Along with that, I made it so that cells with a lower cooldown will not be able to come to a full stop immediately – simulating how actual vehicles in the real world will have different braking distances depending on how fast they are moving.

I brought this rule to two dimensions by creating a “source-destination” structure, which allowed for moving 1-D traffic cellular automata to two dimensions with minimal modifications. With this structure, as applied to the Rule 184 above, a “road” cell’s “source” and “destination” values dictate what a cell considers its “previous” and “next” cell. By requiring the cells to be connected to one another (that is, a cell’s destination value should be equal to the next cell’s source value for the chain to be complete), I gained the ability to control traffic flow.

I added a unique type of road cell that is called an intersection. This cell, instead of using a single “source” and “destination” value, has two of each, and with every generation, determines which values should be used, with the underlying logic attempting to move traffic from busier roads to less busy roads – after all, throwing more cars at a traffic jam doesn’t help anybody.

You can find more detailed information on how this cellular automaton was created in the paper I wrote for my Discrete Mathematics class, which, along with the source code for the simulation, are available at the GitHub repository.

Beyond 184

Believe it or not, that grid filled with squares is the very same simulation you saw at the beginning.

Doesn’t look that great, huh. That’s because it needs a home. It needs to live inside of a city.

Time to put the “art” into “Art from Code”.

The city motif was present in my creations since the very first thing I made for the class:

Scrolling city I ended up taking a more minimal approach, and before I brought the city and the traffic model together, this is what I ended up with: 3D test Once I brought the two together, it wasn’t just city-inspired creations that helped me with the process. Little bits of everything I’ve learned this semester all came together to create my neon city. Self-portrait The alternating colors that I used were obtained using the same method I used to create the random files and folders that I used for a part of my self-portrait. Continuing experimentsThe random buildings and the way I ended up having them use different colors was born from an experiment for one of my other projects – one that didn’t even make it into the final project. Yuki machi

One of the wallpapers I’ve made before gave me the idea to reduce my buildings to glowing blocks of neon.

With all that, I eventually ended up with my final result. A living neon city.

As seen from above And I think it’s pretty nice.

Rainbow Madness

download (2)

This one is all color, and a whole lot of experimentation. While with my last prompt, I had an idea from the beginning, the only thing I knew about this one is that I’d like to have a lot of color in it. My starting point was a small experiment I made earlier, a little grid where colors flow from one to another.
Color experiment

Color experiment

After some messing around, I decided to go with a scrolling motion (it is a scrolling wallpaper, after all). The colors were going from left to right, scrolling through all the hues. This eventually turned into a grid:

Continuing experiments  download (12)  download (13)

 I put another moving grid on top of that first one, creating an illusion of rotation, and I started adding more objects to emphasize this illusion.

download  download (1)

And then I accidentally removed the background, and what I was originally calling “Neon Madness” became “Color Madness”.

download (2)  download (4)  download (7)

I love how that turned out. Every part took an entirely different role. The grid is now an ever-changing colorful background, and the objects that originally would’ve been the focus were left to struggle for their survival – only barely clinging to their existence, always about to be erased by the strange rainbow that they live on. Each grid’s fading corners went from guiding the viewer towards the center, to specifically drawing attention to the other grid’s colors.

A Hedgehog Goes on a Walk in a Big Forest

Screenshot from 2017-10-09 21-05-00

Once upon a time, there was a Hedgehog who wanted to go on a walk.

Why did the Hedgehog want to go on a walk? He didn’t really have a reason.

It’s just what the Hedgehog wanted to do for as long as he could remember.

And so, he set out to walk, perhaps to learn something, perhaps to find his perfect forest.

Screenshot from 2017-10-09 21-10-59

The Hedgehog first walked through the forest he grew up in.

The familiar trees were as beautiful as ever, but the Hedgehog kept walking anyway.


The old forest gave way to a new one, filled with trees the Hedgehog has never seen before.

This forest seemed so big, and so amazing.

But it was not quite what the Hedgehog hoped it would be.

So the Hedgehog decided to keep walking.

download (1)

Soon, the Hedgehog found himself in a yet another forest.

“The trees in this forest are similar to the trees back at home,” the Hedgehog thought.

Would this be a good place for the Hedgehog to be?

Only time will tell.


This is a small planet, filled only with places the Hedgehog is familiar with.

The Forest Planet is divided into three parts, each populated by beautiful trees from every forest the Hedgehog has seen. As the Hedgehog continues to walk in search of something, this small planet is there to keep all the memories of every forest he has seen.

When the Hedgehog revisits one of those places on the Forest Planet, he recalls a familiar thought he had while he lived there, familiar sounds of each forest play, and out in the distance, the fog seems to form a mirage that makes the forest seem even closer to reality than it already is.

While this project does not share a lot thematically with Richard Hamilton’s work, his collages were my main inspiration. I really enjoyed the way “Just what is it that makes today’s homes so different, so appealing?” blends together textures and cutouts of various objects and people to create a very coherent room.

In my collage, I tried to achieve a similar effect by combining colored polygons that make up the world with various images to create the little planet.

download (2)

I really enjoyed creating the polygons that make up the planet and the sky. To make it easier to visualize the parts, I created a small tool that showed me the necessary x and y coordinates to make the shape fit what I have in mind.

My favorite part, however, was creating the sky.


I’m very pleased with how this effect turned out, and I hope I will be able to use it in the future. To create it, I found a picture of a landscape, and used actual colors from it. I made each polygon of the sky slightly transparent, so that color from the one behind it bled through. I also made each polygon “rough” to give the sky a bit of a handmade feeling, as if I cut out a bunch of pieces of colored paper to create the sky.


Me, as seen through a pile of windows

Me, as seen through a pile of windows

Does my self-portrait capture me? Who knows. I feel like a portrait drawn by another person and a self-portrait are entirely different things. While a portrait by a third party captures your physical appearance, it may not necessarily capture your mental state. A self-portrait, though, is capable of capturing what goes on in the artist’s head. With that in mind, I knew from the start that I wouldn’t be capturing what I see in the mirror. So, what am I supposed to be? How do I see myself? How do I put that on a canvas?    
Different meetings, different colors

Different places, different colors

Different windows create a different version of "me"

Different windows create different versions of “me”

I started with trying to capture an important part of my life – my relationship with technology. I love computers. They enabled pretty much every single opportunity I got in my life. No matter what interest I pursue, I will at some point be looking at a computer screen while doing so. To capture that, I went with the metaphor of an operating system desktop, and some of the apps that I use on a daily basis. While the operating system itself is cold – the wallpaper and the windows are using grey and blue colors – the content I make is bright and active. The images I make, the code I write, the files that I work with, those are the things that I chose to define me.    
Me minus me in the mirror

My face, minus what I saw in the mirror

When I started work on this project, I first created the image behind the windows. My glasses and my headphones. Parts of my face that I can see without having to look in the mirror. By choosing to showcase just these two elements, I wanted to give a sort of a “first person” perspective to the viewer.

The image does not stay the same.

Between the three different types of windows, and the ability to move them, I spent some time working on implementing them all. The biggest challenge for me ended up trying to balance my desire for this project to always produce a unique result each time it’s opened, while also still maintaining its personality – the colors, and the unique glimpse of “me” that each window shows. At the same time, I also tried to offer a degree of interactivity – windows can be dragged and rearranged, to produce a different portrait.    
Drag windows to change things

Drag windows to change things