noc-book-2/content/xx_1_creature_design.html

62 lines
6.7 KiB
HTML
Raw Normal View History

2024-01-07 16:24:05 +01:00
<section data-type="page">
2023-11-15 23:38:15 +01:00
<h1 id="appendix-creature-design">Appendix: Creature Design</h1>
2023-12-06 22:23:05 +01:00
<p><em>This guide is by Zannah Marsh, who created all the illustrations you see in this book.</em></p>
<p>If you arent sure how to start the creature design task for your Ecosystem Project, or if the thought of populating a multi-creature ecosystem feels daunting, dont worry! You can start developing creatures by using a few visual building blocks, like basic shapes and lines, and reuse them for various results. This design task is similar to programming by reusing and repurposing code.</p>
<p>Though p5.js draws shapes and lines easily, I recommend using paper and pencil to sketch out designs. Working directly on paper allows you to focus on your design and to quickly evaluate and compare iterations. You wont need to switch back and forth between thinking visually and typing code. Create your creature on paper first, then replicate it in code!</p>
2024-02-04 09:56:00 +01:00
<p>The cartoonists Greg Stump and David Lasky suggest that nearly everything can be drawn with just nine ingredients; the first six are considered the basics, and the last three are extras:</p>
2023-11-15 23:38:15 +01:00
<ul>
2023-12-06 22:23:05 +01:00
<li>Square, circle, and triangle</li>
<li>Rectangle, stretched oval, and tall triangle</li>
<li>Curved lines, straight lines, and dots</li>
2023-11-15 23:38:15 +01:00
</ul>
2023-12-06 22:23:05 +01:00
<p>Begin by drawing these nine ingredients on your paper (see Figure A.1). Easy, right?</p>
2023-11-15 23:38:15 +01:00
<figure>
2023-12-13 22:52:51 +01:00
<img src="images/xx_1_creature_design/xx_1_creature_design_1.png" alt="Figure A.1: Starting with nine ingredients for your drawing">
<figcaption>Figure A.1: Starting with nine ingredients for your drawing</figcaption>
2023-11-15 23:38:15 +01:00
</figure>
2024-02-04 09:56:00 +01:00
<p>Now you can start putting these visual elements together to create a creature. Your creature will live in the imaginary space of the p5.js canvas, so you dont need to make a “real” creature; you can invent something totally new!</p>
2023-11-15 23:38:15 +01:00
<p>Heres a design scheme, familiar to residents of Planet Earth:</p>
<ul>
<li>A body</li>
<li>Pairs of fins, wings, arms, or legs</li>
</ul>
2023-12-06 22:23:05 +01:00
<p>Any of the six basic shapes can become the body of a character. The extremely bare-bones example in Figure A.2 qualifies.</p>
2023-11-15 23:38:15 +01:00
<figure>
2023-12-13 22:52:51 +01:00
<img src="images/xx_1_creature_design/xx_1_creature_design_2.png" alt="Figure A.2: Drawing a simple creature">
<figcaption>Figure A.2: Drawing a simple creature</figcaption>
2023-11-15 23:38:15 +01:00
</figure>
2023-12-06 22:23:05 +01:00
<p>You might want to keep your design simple and stop right there! But before you start re-creating your drawing in code, consider the perspective, or view, youll have on your ecosystem. Are you looking at the scene from above, as if youre gazing into a pond? Or are you looking from the side, across a meadow, or into a forest? (Think of a top-down video game versus a side-scroller.)</p>
<p>The orientation of your creature is also important, especially since youll be moving it around a scene. In Figure A.2, do the two curved lines represent legs or antennae? Most creatures move in a headfirst direction. But in this example, wheres the head? Reuse the basic shapes and extras to add features—such as a mouth, eyes, nose, ears, tail, antennae, and horns—to clarify your creatures orientation.</p>
2023-11-15 23:38:15 +01:00
<p></p>
<figure>
2023-12-13 22:52:51 +01:00
<img src="images/xx_1_creature_design/xx_1_creature_design_3.png" alt="Figure A.3: Adding details to indicate orientation">
<figcaption>Figure A.3: Adding details to indicate orientation</figcaption>
2023-11-15 23:38:15 +01:00
</figure>
2023-12-06 22:23:05 +01:00
<p>Do we love these drawings? Are they perfect? Well, maybe not. But <em>dont</em> erase your work, even if you dont like it. Youll need all your drawings as data points to reference as you iterate on your character. Think of creature design as the process of arranging visual elements and observing how they make you feel—how you respond to them and what they suggest to you.</p>
2024-02-04 09:56:00 +01:00
<p>Youll likely start with very simple creatures. Then, as you add to your ecosystem, youll implement behaviors and interactions. Modifying your creatures appearances can help you visually organize and emphasize these behaviors and interactions—and perhaps even inspire them.</p>
2023-12-06 22:23:05 +01:00
<p>Try varying elements such as these, as shown in Figure A.4:</p>
2023-11-15 23:38:15 +01:00
<ul>
2023-12-06 22:23:05 +01:00
<li>The size and roundness or narrowness of the body</li>
<li>The length, shape, or number of legs or wings, and the angle and distance between them</li>
2023-11-15 23:38:15 +01:00
</ul>
<figure>
2023-12-13 22:52:51 +01:00
<img src="images/xx_1_creature_design/xx_1_creature_design_4.png" alt="Figure A.4: Modifying your creatures by varying aspects of the shapes">
<figcaption>Figure A.4: Modifying your creatures by varying aspects of the shapes</figcaption>
2023-11-15 23:38:15 +01:00
</figure>
2023-12-06 22:23:05 +01:00
<p>Thinking of a familiar environment may be helpful—a meadow, the bottom of a lake, or a shady tropical treetop, for example. What features might come in handy in these environments? Big eyes? Big wings? A long, narrow body? A round, bobbing shape? Camouflage patterning?</p>
<p>As you sketch, you may discover that the <em>form</em> of your creature suggests a <em>behavior or feeling</em>—one that you can execute in code. Does your creature dart around, creep, or drift slowly? Does it have a huge mouth for gulping big meals or a tiny mouth for nibbles? Does it have massive eyes for finding tasty snacks, as shown in Figure A.5, or for spotting predators in search of snacks? Let your drawings inspire your code and vice versa.</p>
2023-11-15 23:38:15 +01:00
<p></p>
<figure>
2024-02-04 09:56:00 +01:00
<img src="images/xx_1_creature_design/xx_1_creature_design_5.png" alt="Figure A.5: Matching your creatures form to its environment">
<figcaption>Figure A.5: Matching your creatures form to its environment</figcaption>
2023-11-15 23:38:15 +01:00
</figure>
<p></p>
2023-12-06 22:23:05 +01:00
<p>When youre ready to build your creatures in code, functions like <code>translate()</code>, <code>rotate()</code>, <code>push()</code>, and <code>pop()</code> are your friends, since all your character features are arranged in relation to one another. Remember that OOP will, of course, save you time and trouble. Youll be able to reuse and modify patterns quickly.</p>
<p>Start simple and build slowly. Here are a few final tips, especially if its been a while since you tried to draw anything:</p>
2023-11-15 23:38:15 +01:00
<ul>
2023-12-06 22:23:05 +01:00
<li>Like many of us, you may have enjoyed drawing as a kid but gave up when your skills didnt match your vision. Think of these drawings as experiments! Theres no right or wrong when youre exploring. Lower the stakes by drawing on scrap paper.</li>
<li>If you feel tense before you even start, relax by making some scribbles or spirals on paper. This is like stretching before you exercise; artists do warm-ups too!</li>
<li>Great digital drawing tools are available, but be wary of easy erasing and endless “undos.” If you obliterate everything you dont like, you wont get a chance to compare and learn.</li>
2023-11-15 23:38:15 +01:00
</ul>
2023-12-06 22:23:05 +01:00
<p>So, grab a pen and some scrap paper, start drawing, and get ready to meet some creatures!</p>
2023-11-15 23:38:15 +01:00
</section>