When I started working on the project, I tried to convert some poetry I had already written into the p5 format. Every time I tried working it into some sketches, it came out sounding silly and all the animations/artwork took away from the poem. I realized one major reason for this was because the poetry wasn’t written to be fragmented between p5 sketches, it was written to be whole on a single page. I tried writing a poem while doing the p5 sketch, but that became difficult as well. I had trouble flipping between the programming and the writing, and wished I had something already settled (either the poem or the artwork), so that I could focus on one instead of both. Finally, I wrote a poem on post it notes, flipping a note once I had filled it up, so that I couldn’t see what I had previously written, and each stanza was its own blank page. This strategy helped a lot, as the poem’s logic itself became fragmented, in the way the p5 sketch would be as well.
I felt a lot of pressure in the beginning to do a lot of animation and cool visual effects, however, after playtesting and talking to other people in the class, they suggested putting the text as the main part and not sticking to a traditional “text + illustration” model, which was incredibly helpful. I instead tried to apply animations and other p5 visual capabilities to the text itself, which is made possible in p5’s WEBGL library. Text can be applied as a texture to objects, and so getting objects to transform through effects like for loops was very helpful.
Here are some images of the final project, although it is highly interactive and best experienced whole.
One issue I had that I would like to fix is that the sketch is so heavy it kills the browser. On nicer computers (the production laptops for instance), the browser can handle the density of the sketch, but on my computer it often breaks before getting through the whole poem.Often times, if I had two four loops in the same sketch it would break faster, so I had to separate them and wrote out some objects by hand. I asked Koji how to fix this and he said there isn’t much I can do, but I would like to know if there is a solution, as I would like this to be more accessible to people that don’t have high RAM computers.
You can see the final, editable version here. I also added four slides to the front page of my website, and used random(int()) to determine which slide would load. You can see this here. All in all, I am pleased with my final project. This was an exciting process that I really enjoyed!