36 Days of Type 2023
36 Days of Type is an annual Instagram challenge for graphic and typedesigners where you must design the letters a-z and numbers 0-9 and post them to your account. To quote the hosts themselves: „36 Days of Type is a project that invites designers, illustrators, and visual artists to express their unique interpretation of the letters and numbers of the Latin alphabet. A yearly open call that explores the creative boundaries of letterforms by challenging participants to design a letter or number each day for 36 consecutive days. The result is a global and simultaneous act that showcases the ability to represent the same symbols from thousands of different perspectives.“¹
For me, 36 Days of Type is a chance to try new styles or tools. For the 2021 and 2022 editions, I experimented with 3D designs in Blender. This year I decided to do without traditional design software completely and simulate my letters with Python code alone. Not only did I want to use a non-traditional tool, but I also wanted to approach the design process from a completely different angle. Instead of telling the program exactly what to do and where to place each pixel, I was looking for a flexible system to simulate every different shape with the same tool. As the nerd I am, I stumbled upon the slime simulations by Sebastian Lague.² By reinterpreting his C++ code to Python and following the algorithm outlined by the research paper Characteristics of pattern formation and evolution in approximations of physarum transport networks by Jeff Jones³, I created a very basic slime mold simulator. This new custom tool allowed me to input several environmental parameters and add a mask of the letter shape to grow my mold into the shapes I desired.⁴
We begin by filling this mask with thousands of little agents. And each frame of the simulation, we simulate the behavior of each little agent. In every frame, the agent has a look around and detects clouds of pheromones from the other agents around him. (Fig. A) Then they move to wherever they detected the highest concentration of pheromones. This is the reason for the clustering, superorganism-structure you can see in the final animations. Finally, they excrete a little bit of pheromones themselves. When we repeat this process hundreds of times and add just a little bit of randomness we get this degeneration of the initial letter shape to the skeletal structure of the slime mold.
What I find so fascinating about this algorithm, is that the behavior can be broken down into three very simple and easy-to-understand steps:
1. Looking for the highest amount of Pheromones
2. Moving there
3. Excreting some Pheromones
Repeated over hundreds of times for about 30,000 agents and with a dash of randomness these simple steps create this organic-looking superstructure. (Fig. B)
1 — 36DaysOfType
4 — I have to add here, that my simulations aren’t nearly as beautiful as the simulations that Sebastian had created in his project. Aside from the main reason, being that my Python code isn’t nearly as optimized as Sebastians C++, Python isn’t really the ideal language choice for simulations of this size. For his project, Sebastian utilized shaders to simulate much bigger experiments in a much more efficient manner, and in the end, he is just much better at coding than I am. So I highly encourage you to check out his works here on YouTube.