Genuary 2025 Entries

I’ve submitted 8 entries (8 days) of Genuary 2025.

Day 1: Vertical or horizontal lines only.

Familiarize myself (again) with processing/p5.js. Use moving rectangles to achieve a cheap mesmerizing effect.

Day 4: Black on Black.

Also getting back to writing fragment shaders again. Simple and hopefully elegant effect.

Day 8: Draw one million of something.

I wouldn’t necessarily call this “art” but my first thought that is even close to “draw” and “1 million” is 1024×1024 pixels. To at least make it fun, I drew 1 million pixels running Conway’s Game of Life. The challenging part is to use two buffers to update upon each other interweavingly on Shadertoy.

Day 20: Generative Architecture.

This is one of the most intriguing topics to me personally. However, I did not leave enough time that day to work on it. I ended up coding a very simple doodle-like lighthouse generator.

Day 21: Create a collision detection system (no libraries allowed).

I’ve previously written a positional-based dynamics (PDB) example in p5.js. It was a toy with only 2-point distance constraint. I’ve added collision constraints to it and made an entry. Again, I spent almost 5 hours making it right. It looks good, but not very artsy.

Day 29: Grid-based graphic design.

I decided to make a simpler one and mimicked the effect from The Matrix.

Day 30: Abstract map.

This is arguably the most artsy one. It immediately came to me that FBM (Fractal Brownian Motion) generates nice map-looking noise, and to make it a height map I only need to perform edge detection on it. Choosing the color palette took me longest time.

Day 31: Pixel sorting.

The only entry written in Python because I can operate on an image easily. I sorted different pictures with different ranking functions, but nothing looked well. Then I searched for some pixel sorting artworks online. Adding a width to the sorting area (sort for a small slice that is 3-6 pixels wide and change the sorting algorithm for the next slice) just clicks.

The honorable mention Day 7: Use software that is not intended to create art or images.

This does not count. Not for the reason I don’t consider it art, but because there’s nothing generative :D. In case you don’t know, this is a screenshot of a torched heart from Rainbow Six: Siege. (I burnt it. At least it’s original.)

The unfinished Day 11: Impossible day – Try to do something that feels impossible for you to do. Maybe it is impossible. Maybe it’s too ambitious. Maybe it’s something you know nothing about how to accomplish.

In Genuary 2024, the theme for day 12 was “Lava Lamp”. I tried mimicking the effect of this video and did not succeed: https://www.youtube.com/watch?v=h_lQ2tMgLVM

This year I tried so many different ways to achieve it but can’t even get close aesthetically. Also, I believe some of my implementations (ray tracing, voxel cone tracing) were wrong. I ended up simulate it with some SDF balls with trigonometric functions. Lava lamp effect is officially my rendering holy grail right now.

Not the most well-written one but so far, the best looking one. (Speed up version).

That concludes for my Genuary 2025 journey. Happy February.

Leave a comment