Intro to Computational Media 10/18/22


Link to week 6 homework in the p5 web editor.

This week I decided I would try to take a different approach to the ICM homework and ended up in a new and unfamiliar sort of rut. Intimidated by all of the material covered in one go, I thought it might be better to break things down piece by piece. Dan Shiffman’s Coding Train videos have been helping the most, so I figured why not treat those kind of like an episode of The Joy of Painting with Bob Ross–I can code along with Shiffman and then make tweaks and adjustments along the way, right?

I promise this comparison is going somewhere. Have you ever tried to paint along to a Bob Ross video? I have, though it was with Photoshop and not proper paints. If you pick up the techniques Ross uses to make majestic mountains and delicate trees, then you might start to mimic his style in a pleasing way. Flub these and you’ll have a less-than-inspiring landscape. Have a wild spark of imagination in mind (“gee, wouldn’t this forest look cool with Godzilla in it”) and you may end up feeling like you don’t know where to begin with painting something like that because that was never covered in the video.

That’s how my code-along experiment felt. If I had given myself more time on the assignment, maybe I could have just set it down, came back to a blank p5 sketch later, and then created something new and more interesting from scratch. Instead what I have is something that feels, to me, like an inferior offshoot of the examples it draws from.

I do think that this partially stems from how new and sort of overwhelming I find OOP to be. I feel silly saying this, but it turns out that all the functional programming I did years ago that I can scarcely remember the specifics of did leave a mark on me, because it totally shaped my brain’s go-to organizing principles for code. Dumping functions and logic into different parts under a single class just feels alien to me.

Still, I’m frustrated that I didn’t give myself more time to chill out, let this material sink in, and then come back to it fresh.

I get how objects and arrays work, but at present I’m just not feeling comfortable enough with them to start with an idea (“hey, how about a sketch that does this and this…”) that I can then move on to building with the tools available (“and to accomplish this, we’ll use an array…”).

This isn’t to say that I had zero ideas for what I wanted to make, more that I didn’t iterate and experiment to the degree I would have liked. Upon learning how to remove objects from an array, my mind went back to frenetic, clicky Flash games and those obnoxious bonus stages from games like Big Buck Hunter. Now I know how to draw a large number of a single object to a screen easily, how to individually delete them, and how to use the fact that they’re stored in an array to my advantage by controlling win/loss based on the object array’s length.

That’s all well and good, but this is a pretty terrible game as-is. I like how there’s a trick to it (click the bullseyes where they overlap to take out more than one) but that’s about all I’m happy with.

Even my choice to revisit the color palette I worked with in week 4 ended up feeling like a mistake. Odds are I’m just sick of looking at these colors now, but beyond iterating through them in a loop like I did the other week, it’s not as though they really needed to be in an array.

However, the color palette’s placement in the code does remind me (for better or worse) of how The Joy of Painting always lists the colors you’ll need to paint along at the top of the episode.-10/25/22

[Return to ITP blog portal]