For my final portfolio, I chose four of my projects that I felt needed improvement or received lower than 6 points. To see each revised project, go to “Creative Coding Portfolio” in the main menu and choose a project from the dropdown menu. Here, I will go through my revision process and reflect on my final outcomes. All of my blogposts for my original project entries (before revision) are under the “Creative Coding” tab. I also added my glitch art to my portfolio, just because I really enjoyed that project and got the highest grade on it.
When I first submitted my screensaver project I had coded an ellipse that moved around the screen, bouncing off of the edges at an angle (using if () statements that add or subtract the speed variable when the ellipse reached the end of the canvas). Each time the code was run, the ellipse filled with a random RGB color and stayed that color until it was run again. The background was (and still is) transparent, so each time the draw function redraws it still shows the previous ellipse, creating a sort of 3D pattern.
I liked how my first draft created the pattern with the transparent background, but it was still pretty underwhelming as a screensaver. I thought that a good way to revise it would be to have the ellipse change color as it moved. I had a lot of trial and error trying to make this happen, and couldn’t find a function or reference entry that had this feature. I ended up figuring out that making a series of if() statements that said if the current second was below or at ten, the ellipse would be a certain color. I made an if() statement for each ten-second interval (and realized that I would also need a && if() for the color to keep changing after the first time) so the ellipse turns a different shade of blue-ish every ten seconds, and starts over every minute. I also had to keep in mind that the RGB value for each increment had to be a step closer to blue or green than the last one so the colors match well together. I also made the circle move a few pixels faster because I felt that with the full screen view it moved a little slow originally. I’m sure there is a less heavy-handed way to do this, but I like how it looks now much better than before. It was definitely helpful to do the clock project before revising this one, because that’s where I got the idea of using second() as a way to make the circle change color.
I chose to revise this project because I hadn’t done as much as I wanted to with it originally, and it was one of my projects that I received a 6 on, so I felt that I could do better. My revision process was definitely made easier and opened up my possibilities after completing other projects since the original, and I was able to use my increased knowledge of p5.js.
For my NaNoGenMo novel, I combined John Locke’s Treaties on Government with Grimm’s Fairy Tales using the Markov method in Python. I was happy with my result (blogpost: http://www.oliviacprice.com/uncategorized/nanogenmo/) but in order to finish the project and receive higher than a 5, I needed to share my completed novel. To do this, I just downloaded a PDF embedder plugin and embedded my novel into the original blog post, then resubmitted the project on canvas. This way, it is easy to view my final product and the viewer doesn’t have to download anything. I definitely think its important for my work to be easily accessible to my audience, considering one of our learning objectives is to be able to share and analyze our own work. Other than that missing piece that’s now complete, I enjoyed this project and really like my outcome!
Final Product: http://www.oliviacprice.com/uncategorized/revised-nanogenmo/
For my remix project, I chose to use the text of Jane Austen’s Sense and Sensibility to appropriate into a 8-lined poem. To do this in python I used textblob, which allowed me to assign each word in the text to a part of speech tag, then create lines from random words of a certain p.o.s. My first entry for this project made a poem using nouns, adjectives, and one verb. I was originally fairly content with my results, mostly because I was still pretty new to Python and wanted to have a working output to turn in without somehow making it break. Now that I’ve done some other things in Python as well as P5.js since the remix project, I feel more confident in playing around with the code and seeing what other kinds of output I can get. The first thing I did to revise this project was to go to the original Jane Austen text source and delete all of the headers, introductions, and table of contents, since some of that was showing up in my output. Next, I decided to make the lines of the poem a little more nuanced and interesting, and possibly less nonsensical, by adding different parts of speech to the structure. I started by adding a personal pronoun at the beginning of each line, and an adverb to add a little more sense of action before the verb. I also added a preposition after the noun in order to connect it to the next adjective, so my structure looked like this:
print(p1 + ” ” + ad1 + ” ” + v1 + ” ” + n1 + ” ” + pr1 + ” ” + a1 + ” ” + n2)
Of course, the poem still doesn’t make a whole lot of sense, but I think it’s definitely an improvement from my first submission, and sounds less choppy than just a mix of nouns and verbs. Here’s a couple outputs:
he even was whole of necessary you him soon replied mission from same befell her so were character of great close he hardly had opportunity from other honour me then occurred problem that credulous friend she very attended one over disappointed thing her though was decay of noble satisfaction it elsewhere were visit of dignified purpose
she soon entered inquiry in such wife they never contained content at capable voice her not were anxiety in comparative journey she otherwise was rest for happy indifference her narrowly lay boy as other kindness I quite was astonishment about possible anxiety he not humoured circumstance by late side it before measured window in bad engagement Then I decided to play around with line spacing a little bit. I changed the poem to six lines instead of eight, and added a single line after a line break consisting of an adjective, noun, an adverb, and a verb. Here is some output:
you particularly had everybody before deplorable woman himself very overstrained drew for droll simplest them quite used access before last satisfaction I sufficiently had satisfaction of immediate constitution you so said door as unpleasing earth himself not considered vivacity of easy gaiety official thousand not believed
For my clock project, as discussed in my original blogpost under “creative coding,” I decided to go with the idea of perceiving time through nature. My first entry for this project in P5.js included a sun that moved across the canvas, mapped to match the current minute. I also coded a flower made of several oval shapes that rotates in an abstract pattern and changes color with each second. In this case, the RGB color is mapped to match sixty-second intervals. When I submitted this project, I knew I wanted to revise it to add an element that shows the passing hours. To do this, I changed the sun to move across the “sky” according to the hour instead of minute, because I felt that makes more sense with what actually happens in nature. To compensate for the minute element, I chose to map the current minute to the height of the canvas, so the flower moves up with each minute, like it’s “growing.” The seconds remain the same with the rotating petals and changing color, however I lowered the opacity of the background so that the rotation of the petals has a sort of blurred effect between seconds (because I think it looks cooler). I thought about giving the flower a stem, but since it is moving up and down the canvas I wasn’t really sure how to make that look good, and it serves its purpose as is. I also changed the background to a light gray so it resembles a sky a little more, and makes the blurring of the petals more visible. The purpose of my clock is to not necessarily work as a practical clock in which you can tell the time in a glance, but more as a creative take on the passing of time.
For the revised version of my clock and a link to my code, see my post in the portfolio: http://www.oliviacprice.com/uncategorized/revised-clock/
Final class reflections
I was definitely nervous coming into this class because coding was such a new and foreign concept to me. I really enjoyed Dr. Whalen’s teaching style, and felt that even if I was overwhelmed or frustrated with a project, I always had someone to help me figure it out. Throughout the course, I could feel my comfort level with both Python and P5.js evolving as I got more confident with how coding works and ways that I can play with it and make it my own. For some of the projects earlier on in the semester, I relied pretty heavily on examples and instructions, but as I go back now and revise some of them, I feel much more confident figuring things out myself and problem solving. I am definitely grateful that I took this class and I feel prepared to bring my new knowledge of basic coding into other digital tasks in the future, and to keep growing my knowledge.