Week 4 – Generative Text

Concept:
This piece is meant to imitate a page turning, but instead of the expected behaviour it slides a new page down from the top. The text itself is pulled from a .txt file, which contains bits of placeholder text (Lorem ipsum dolor) as well as snippets of text from the p5.js reference that pertain to implementing text.

Highlight:
My highlight is still fairly simple, but I chose it since I often forget to include bounds checking or error handling in my code and end up causing myself problems down the road. This snippet checks to make sure that the newly created page is not receiving empty input for its inner text, and cleans up the pages array once a certain number of pages have been created while leaving only the most recent instance.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// // Create a new page on click
let newText = txt[floor(random(txt.length - 1))];
let tries = 0;
// // Make sure new page's text is not empty
while (!newText && tries < 10) {
newText = txt[floor(random(txt.length - 1))];
tries++;
}
// // Cull older pages at some upper limit
if (pages.length >= 10) {
pages = subset(pages, pages.length - 1, 1);
console.log("reset");
console.log(pages);
}
// // Create a new page on click let newText = txt[floor(random(txt.length - 1))]; let tries = 0; // // Make sure new page's text is not empty while (!newText && tries < 10) { newText = txt[floor(random(txt.length - 1))]; tries++; } // // Cull older pages at some upper limit if (pages.length >= 10) { pages = subset(pages, pages.length - 1, 1); console.log("reset"); console.log(pages); }
// // Create a new page on click
  let newText = txt[floor(random(txt.length - 1))];
  let tries = 0;
  // // Make sure new page's text is not empty
  while (!newText && tries < 10) {
    newText = txt[floor(random(txt.length - 1))];
    tries++;
  }
  // // Cull older pages at some upper limit
  if (pages.length >= 10) {
    pages = subset(pages, pages.length - 1, 1);
    console.log("reset");
    console.log(pages);
  }

Embed:

Reflection:
I’m not super satisfied with this piece, doubly so since I tried a few different concepts that I was unable to get to work properly. I had been having issues with getting the data to load from a file, and only managed to get it to work once I pivoted to this idea. I had also wanted to have the sliding direction change between the top, sides, and bottom, either changing randomly or going in a clockwise direction. This week was a bit rough in terms of workload so I was unable to spend as much time adding features to this piece as I would have liked.

One thought on “Week 4 – Generative Text”

  1. Overall your coding is good so you should put more effort into your concept, design, and aesthetics. What text could you use to give your piece some meaning, rather than using placeholder text? What do you want to say or express?

Leave a Reply