{"id":996,"date":"2022-02-16T02:11:07","date_gmt":"2022-02-16T07:11:07","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/?page_id=996"},"modified":"2022-02-19T20:28:20","modified_gmt":"2022-02-20T01:28:20","slug":"4-monster","status":"publish","type":"page","link":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/deliverables\/4-monster\/","title":{"rendered":"#4: Monster"},"content":{"rendered":"<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-997\" src=\"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-content\/uploads\/2022\/02\/walkesr3.gif\" alt=\"\" width=\"790\" height=\"324\" \/><\/p>\n<p>Your job, Dr. Frankenstein, is to create new life. Your project might be a sensate creature, a dynamic flock or swarm, an artificial cell-culture, or an ecosystem. Your software should algorithmically generate the appearance and behavior of your new life form. Will it\/they be able to sleep, reproduce, die, or eat one another?\u00a0 Your creature may benefit from inhabiting an ecosystem or environment with abiotic elements that present additional constraints or opportunities. If there is more than one, consider the relationships between the individuals in your species and how you might support this with a corresponding interplay of simulated forces such as attraction or avoidance. Give consideration to the potential for your creature to operate as a <em>cultural artifact<\/em>. Can it attain special relevance through metaphor, or commentary, or by addressing a real human need or interest?<\/p>\n<p>As the myths of Pygmalion, Golem, and Frankenstein show, the god-like desire to create artificial life persists throughout our folklore. This impulse also underlies the history of robotics, where gestures are mechanically automated in the Karakuri of Japan and in the early automata of Europe, like Turriano\u2019s \u201cPraying Monk\u201d (c. 1560) or de Vaucanson\u2019s \u201cDefecating Duck\u201d (1738). With computers, software simulations of life systems allow behaviors and interactions to be programmed and scaled across massive multiagent systems. Many of these systems exhibit emergence, where self-regulation, apparent intelligence, and coordinated behaviors arise from simple rules followed by many actors.<\/p>\n<p>Whether the medium is hardware or software, the goal of is to create the impression that an engineered system is alive. <strong>Unlike the work of \u201ccharacter design,\u201d where the creator&#8217;s focus is often on visual appearance, this assignment is concerned with the construction of a creature with responsive, dynamic behaviors that are contingent on environmental interactions.<\/strong><\/p>\n<p>A creature without a context is boring\u2014with nothing to do, and no one to do it to. Stories happen, character is perceived, meanings are made when an agent operates on or within an environment that likewise acts on it. By placing a creature into feedback with external forces or subjects, and especially with the actions of an interacting user, we can create companions that stave off loneliness or appear to have feelings, virtual pets like the Tamagotchi that evoke empathy through their fragility, or sublime simulated ecosystems that evolve in surprising ways.<\/p>\n<hr \/>\n<h3>Project: A Virtual Creature<\/h3>\n<p><strong>In OpenProcessing (#26), create an interactive virtual creature. Your creature is due at the beginning of class on Wednesday, February 23. There are three constraints:<\/strong><\/p>\n<ul>\n<li><strong>Create your creature in p5.js in a canvas whose dimensions are 800 \u00d7 450<\/strong>. (I recommended this 16:9 aspect ratio since it will yield good video documentation.)<\/li>\n<li><strong>Your creature(s) should respond to (or be puppeteered by) the user\u2019s mouse, keyboard, and\/or microphone. <\/strong><em>(You may also have it respond to an audio file if you wish.)<\/em><\/li>\n<li><strong>You are limited to constructing your creature from rectangles, and you may use no more than three rectangles to construct the body of a creature. <\/strong><em>(There can be more than one creature if you wish. Also, you may use the <a href=\"https:\/\/openprocessing.org\/sketch\/1112659\">versatile p5 rect() command<\/a>.)<\/em><\/li>\n<\/ul>\n<p><em>The deliverable requirements are as follows:<\/em><\/p>\n<ol>\n<li><strong>Sketch<\/strong> first.<\/li>\n<li><strong>Consider<\/strong> behavior, and not just appearance. How might you simulate physics, tropisms, intelligence? In designing a vocabulary of interaction, ask: what can the user <em>do<\/em>?<\/li>\n<li><strong>Record<\/strong> an interaction with your creature in a brief (~10 second) video or animated GIF screen capture.<\/li>\n<li><strong>Create<\/strong> a blog post on this site, and <strong>write<\/strong> a paragraph that discusses your development process, and critiques your work. In your writing, <strong>answer<\/strong> the question: Through the interactions you have established, what sort of relationship does the person experiencing your app have to your creature? (<em>For example: pet-owner\/pet, scientist\/subject, cage-cleaner\/zoo-animal, farmer\/livestock, predator\/prey, puppeteer\/puppet, etc.<\/em>).<\/li>\n<li><strong>Name<\/strong> your creature (or its species).<\/li>\n<li><strong>Embed<\/strong> a still image of your project.<\/li>\n<li><strong>Embed<\/strong> a photograph or scan of any sketches you made.<\/li>\n<li><strong>Upload<\/strong> and embed your video and\/or GIF.<\/li>\n<li><strong>Title<\/strong> the blog post, <em>nickname-Creature<\/em><\/li>\n<li><strong>Categorize<\/strong> the blog post, <em>04-Creature<\/em><\/li>\n<\/ol>\n<hr \/>\n<h3>Technical Assistance<\/h3>\n<ul>\n<li>Demonstration of\u00a0<a href=\"https:\/\/editor.p5js.org\/golan\/sketches\/YcPvIVzvy\">mouse interaction techniques<\/a><\/li>\n<li>Demonstration of\u00a0<a href=\"https:\/\/editor.p5js.org\/golan\/sketches\/iZWgjEL-c\">microphone interaction techniques<\/a>\u00a0and a\u00a0<a href=\"https:\/\/editor.p5js.org\/golan\/sketches\/zr5Jl1ypW\">clean simple one<\/a>.<\/li>\n<li>Connie\u2019s<a href=\"https:\/\/editor.p5js.org\/khanniie\/sketches\/LYvniBHBh\">\u00a0demonstration of audio-sensitive design<\/a><\/li>\n<li><a href=\"https:\/\/editor.p5js.org\/golan\/sketches\/zsHOsu5DY\">Zeno\u2019s Interpolation Demo<\/a>\u00a0(Position)<\/li>\n<li><a href=\"https:\/\/editor.p5js.org\/golan\/sketches\/7TgMUzo5j\">Zeno\u2019s Interpolation<\/a>\u00a0(Color)<\/li>\n<li><a href=\"https:\/\/editor.p5js.org\/golan\/sketches\/PKCc1OVHM\">Smoothly change the frequency of a sinusoid<\/a><\/li>\n<li><a href=\"https:\/\/editor.p5js.org\/golan\/sketches\/aFd_RQ5IT\">Very simple particle, attracted to cursor<\/a><\/li>\n<li><a href=\"https:\/\/editor.p5js.org\/golan\/sketches\/LgUCH6p30j\">Simplest possible spring<\/a><\/li>\n<li><a href=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/daily-notes\/september\/09-14-movement\/springs\/\">Lecture on Springs from a previous semester<\/a><\/li>\n<\/ul>\n<p>Some Processing examples:<\/p>\n<ul>\n<li><a href=\"https:\/\/processing.org\/examples\/arm.html\">Arm<\/a>\u00a0\u2022 <a href=\"https:\/\/editor.p5js.org\/golan\/sketches\/eemrPADyV\">p5 Arm with Sinusoid<\/a><\/li>\n<li><a href=\"https:\/\/processing.org\/examples\/reach1.html\">Reach 1<\/a><\/li>\n<li><a href=\"https:\/\/processing.org\/examples\/follow2.html\">Follow 2<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Your job, Dr. Frankenstein, is to create new life. Your project might be a sensate creature, a dynamic flock or swarm, an artificial cell-culture, or an ecosystem. Your software should algorithmically generate the appearance and behavior of your new life form. Will it\/they be able to sleep, reproduce, die, or eat one another?\u00a0 Your creature &hellip; <a href=\"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/deliverables\/4-monster\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;#4: Monster&#8221;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"parent":22,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/pages\/996"}],"collection":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/comments?post=996"}],"version-history":[{"count":12,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/pages\/996\/revisions"}],"predecessor-version":[{"id":1088,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/pages\/996\/revisions\/1088"}],"up":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/pages\/22"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/s2022\/wp-json\/wp\/v2\/media?parent=996"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}