Daily Experiments 2018 Review

Roch Bouchayer
8 min readJan 23, 2019

--

The 21 April of 2018 I decided to challenge myself by making a daily code experiment without ending date. This article is a review of the why and the aim of this challenge.

Note: this article contains lot of pictures and animated gif. Continue carefully this reading if you are on mobile or slower connection.

Who am I?

First things first, I’m a 21 years old student at Gobelins Annecy. I’m in alternship at Ladydinde at Lyon where I build websites and applications. I’m driven by curiosity and experimentation. I like to build tools that generates images.

What is this project?

The original goal of this project was to give me a sandbox where I can build whatever I want, without constraints from clients, teachers, delays or anything else. It also allowed me to improve my coding skills with different languages and technologies. Through those experiments, I’ve discovered new disciplines and fields of coding.

I’ll try to explain my creative journey, what I’ve learned, what was my method, how it is now and finally how I consider my work. Let’s start this review of more than 8 months of daily experiments !

Shaders, GLSL & magic

Few weeks before taking the decision to make daily experiments, I had started The Book of Shaders from Patricio Gonzalez Vivo. Intrigued by this strange world of shaders, my first experiment was with fragment shaders.

A shader is a short function that run for each pixel of the screen. Because of this way of drawing, you can’t easily draw circle, square or lines, but as you control the pixels, you control the screen.

01 — 18.04.21

Here is the very first experiment. With my actual experience, I can see what is not working. There is a lack of composition, color harmony, interesting motion or technical demonstration. Things I’ll try to develop in the next one.

The discovery of a new world

So at this moment and for the next 4 months (end of April to August), my work was essentially composed of simple shaders. My process was to technically test things about this totally new language for me. Each day, I didn’t have any idea of what the result would look like. By testing things with equations and shapes I found visually interesting creation. So after finding something satisfying I was trying to more orientated it as I wanted, playing with parameters, ease, timing and colors.

35.05 — 18.05.25 (day 35 — 5th output)
35.09.1 — 18.05.25 (day 35 — 9th output — version 1)

My inspirations were taken once again from The Book of Shaders, more for the technical interest than for the graphical one. In this period I was clearly focusing on the technical (which was not insane !). I consider most of the work I’ve made during those months not really interesting now. With hindsight, only a small part seems good to me, but in parallel I’ve discovered and acquired much tips and fundamentals in this field.

47–18.06.06

Sometimes, I found an interesting pattern or piece of code that I explore during many days in a lot of different ways. This gave me a base to start for some days and facilitate my work. That also allowed me to be more focus on the result than on the technical.

112 — 18.08.10
113–18.08.11
114 — 18.08.12
115 — 18.08.13
120 — 18.08.18

Textures

After 4 months of shaders with only colors and shapes I decided to work with textures. Using images gave me a visual starting point to deform, animate and modify.

142 — 18.09.09

Thanks to the magic of shaders (who some call maths) it’s easy to create kaleidoscope of your texture and make it moving. You can vary the number of parts, the motion (zoom-in, zoom-out, rotation etc.), add deformation, tweak it with a wave and much more.

143 — 18.09.10
144 — 18.09.11
146 — 18.09.13
148 — 18.09.15
153 — 18.09.20

Raymarching

At the half of September, I was back to school where we started to study vanilla WebGL. I learned how to build 3D objects in a browser but most of all I discovered the existence of raymarching. And so I dived in this new way of exploiting shaders. The first shots was a cube deformed or subtracted with a sphere. Just to be clear, the following examples are not 3D object created in WebGL, those are shaders.

171–18.10.08
172–18.10.09
173 — 18.10.10

I also started to watch tutorials from The Art of Code those are awesome ! Clear and nice way to understand a small piece of code. This learning helped me to step up in my knowledge and my mastery of shaders and raymarching.

180 — 18.10.17
205 — 18.11.11

Two examples of shaders inspired by code from The Art of Code tutorial.

It was a quick period where I just learned how to create different type of primitive shapes : cube, sphere, torus etc. Most of my work was to combine these and to make them move in my scene. I didn’t really took the time to dive into light handling and lots of other raymarching amazing stuff. It was mainly due to an ending school project at this moment and a desire to move to something else.

214 — 18.11.20
215 — 18.11.21
216 — 18.11.22
217 — 18.11.23

Shaders were amazingly fun and I’m still curious to understand how to build images and videos with GLSL. I have the sensation to have just touched the surface of an insane world of possibilities. So I keep shaders in my mind for another time.

Generative art

During the months of October and November, I questioned a lot myself and my work. I felt that shaders started to bore me a bit. I tried to get back to a more familiar domain : generative art.

Indeed the first time I wrote Javascript, it was for a school art project in 2016. It was called Glotch and was about destroying an image in order to create a new one. I also made some sketches with Javascript canvas in Codepen during 2017.

So during this period of doubt in November of 2018, I tried new things with canvas without satisfactory results, but in the beginning of December I’ve been more inspired and produced more interesting things. I questioned myself a lot about the place of code in art and how to build a piece of art, what does it mean to be an artist and lot of others stuffs. I found line of thought in this article from Tyler Hobbs.

235 — 18.12.11.4
235 — 18.12.11.4
253 — 18.12.29.1
253 — 18.12.29.2

My process changed too. When I was exploring shaders, I told myself « oh this piece of code give me something nice, I keep it ! ». Now I have a bunch of images in my phone and my computer, I study what graphic part of the image catch my eye and experiment around it. Sometimes this give me a nice result that I explore in my way, but it happened once that I reset 4 times in a row.

So I started to be more attentive to shapes, colors and patterns. I tried to be more focus on composing images than learning technical.

248–18.12.24.1
248–18.12.24.2
248–18.12.24.3

I stopped producing animated gif to be more focus on what the image gives me. That also allowed me to be more focus on creation process and not on display performance. I printed some of my artworks and plotted others (with Line-us plotter).

Line-us

Sometimes I plotted my work. Because of the imperfection of the Line-us, stroke are not perfect. In a way it give an organic feeling that I want to exploit in my future experiments.

250 – 18.12.26.1
250–18.12.26.2
251 — 18.12.27.1

Conclusion and future

I begun this challenge without a precise idea of where I was going. Although, I didn’t set a date to stop, through different technologies and approaches I progressively understood things about myself and my work.

Producing something everyday is a bit complicated. On another side it allow me to produce, test and experiment. I showed here nearly 30 pictures and animated gif of 8 months of work. Nothing in my work is perfect. Sometimes it’s really bad but sometimes I’m happy and proud of what I’ve done. Especially since I’m producing generative art.

I always wanted to draw but I didn’t know how to draw with a pen. So I draw with my computer. It’s with this state of mind that I now consider my daily experiments.

If you want to see what I’m doing, you can follow me on Twitter. Also this year I decided to post my work every week on my Behance.

--

--

Roch Bouchayer

Building websites and applications the day, crafting images the night. Creative web developer.