▩▩▩▩▩▩▩ WEEK 2 ▩▩▩▩▩▩▩


Presentation

After my presentation, Ryan posed several questions, which turned out to be excellent indicators of gaps in my concept. They presented a challenge, as I found it tricky to provide clear answers. These questions revolved around the broadness and lack of clarity in my research objective, how ASCII would be applied in my design, and the apparent contradiction of not using generative graphics when personalized algorithms inherently involve generative processes.

Andreas' feedback further emphasized the need for more in-depth research into my primary topic of creative algorithms as a way to address these issues effectively. He also provided me with practical tasks to kickstart my journey into coding with ASCII. These tasks would serve as stepping stones towards a more concrete application of ASCII within my design solution.

Interestingly, after everyone had presented their projects, I came to a realization that I wasn't the only one grappling with these challenges. It was apparent that many of my peers shared similar uncertainties regarding their project objectives and were grappling with unidentified gaps in their concepts. However, a small group among them seemed to possess a clearer sense of their goals but faced difficulties in articulating them effectively. This observation led me to the idea of creating a lexicon of keywords related to my project. This lexicon will facilitate the development of my research repository and enhance my ability to communicate my ideas clearly.

Ryan's Presentation


Siyoun's Presentation


Lexicon & Research Repository Categorization

Using ChatGPT, I generated a list of keywords related to my project. Additionally, I prompted the AI to provide meanings for these keywords in the context of my topic. This approach assisted me in efficiently filtering through the results, allowing me to exclude those that weren't directly relevant to the areas I was focusing on.

It was much easier to find readings related to my project after building a terminology. All I did was shuffle some keyword combinations and I would get literature of different concepts. Instead of reading through every paper I found, I skimmed through the contents to find word associations and key concepts that would assist me in building my argument. During this process, there were a number of instances where I serendipitiously (attempting to get familiarized to this term) encountered foreign terms that will be useful for my research topic.

I’ve sorted them out in are.na by channels labelled in their umbrella terms so it will be easier for me to locate them in the future. In the following week, I plan to go through the readings I’ve curated and start building up my reading list.

Lexicon of keywords related to my project

Annotating my sketch

First Interaction with ASCII

After watching Daniel Schiffman’s introduction to ASCII Creative Coding on Youtube, I began by creating annotations on his code. I found this process of annotating helps me to understand each line of code better and what each function does.

I opted to keep things relatively simple with my initial ideas. My primary goal was to gain a fundamental understanding of how each variable and coding element influenced the resulting visual output. At this juncture, I hadn't clearly defined my objectives or expectations. I began by systematically converting random images into ASCII art through code, using it to explore the relationship between code and visual aesthetics.

When I examined the initial batch of generated images, I noticed that some worked well while others did not. In certain instances, the results were quite striking, with the original image's finer details entirely lost. Ironically, I found myself struggling to discern the content, despite my having seen the original source. It led me to question how others could possibly recognize or appreciate the artwork if I myself encountered such challenges.

Initial explorations

Exploration with variables

Variables

Through this experimental learning process, I discovered several variables that influenced the aesthetic outcomes of my ASCII images.

Contrast

ASCII art relies on the variation in character density to represent different shades and tones. In contrasty images, the differentiation between light and dark regions becomes more pronounced, offering distinct demarcations for the selection of suitable characters. Furthermore, this heightened contrast effectively separates the foreground from the background, enhancing the subject's prominence. Consequently, images featuring landscapes or scenes with subtle tonal variations may prove less effective in ASCII art, as the lack of pronounced contrast can obscure the intended visual impact.

Pixel Ratio

The term ‘pixel ratio’ in this case refers to the ratio between the pixels of the canvas and the pixels of the image. The difference in scale affects the overall amount of the characters in the p5 canvas. If the pixel size of the canvas is larger than the pixels of the source image, there will be less characters in the canvas. Inversely, if the pixel size of the source image is close to the size of the canvas, there will be more characters.

To illustrate this, I conducted an experiment using SGIFF's 2023 poster. As I increased the image size, more characters appeared on the canvas, revealing finer details from the source image. However, this expansion also resulted in a reduction in character legibility.

Alpha Range

In the first line of the code, I predefined a constant density, 'Ñ@#W$98765...‘ . We also extracted the RGB values of the image which ranges from 0 – 255. The lower the number, the closer to black, and the higher, the closer to white.

In the sketch, we have these few lines of code where we map the predefined density to the RGB alpha range and floored it so we get whole numbers. Since the amount of characters in the predefined density is nowhere near to the range of numbers in the RGB alpha, these few lines of code will map, for example, ‘Ñ’ to the alpha values 0 - 20, and @ to 21-40 and so on so forth.

Knowing this, we can manipulate the alpha range to adjust the contrast in the sketch itself (or add more characters to the predefined range) to redefine the density range. We can also reverse the map range from 0-255 to 255-0, which will invert the colours completely. Through experimentation, I found that some images are more effective with a white-on-black approach, while others benefit from the inverse.

Font Size

I believe it's best not to alter the font size, as doing so can disrupt the spacing between characters and lead to overlaps. However, there's a clever way to leverage font size adjustments to enhance the prominence of a subject.


In the example I recently experimented with, I combined two images: one featuring a foreground subject and the other serving as the background. To make the subject stand out, I increased the font size for that specific image and then layered it on top of the background. This technique proves especially valuable when working with landscape images, where elements tend to blend together seamlessly. By selectively adjusting font sizes, we can effectively highlight subjects and elevate the visual impact of complex scenes.

  • Contrast

  • Pixel Ratio

  • Alpha Range

  • Font Size



Outcome: Zine

After gaining a deeper understanding of the variables that influence the final ASCII outcome, I found myself consistently generating visually interesting results. This extended to my process of selecting images. I then used these experiments to create a zine that Andreas tasked me. However, in retrospect, I recognized that I could have approached the curation process with a deeper level of contemplation. It dawned on me that I might have become overly preoccupied with the visual aesthetics, potentially overlooking the context and theme.

Zine Front, Back