Skip to main content

Homework 1 — Kisekae Set System

Skills Practiced: None


Introduction

Kisekae Set System (KiSS) started life in the early 1990s as a “digital paper-doll” program, where artists decomposed a character into independent sprites — body, hair, eyes, clothes, props — so users could layer them in any order to create limitless combinations. The starter code loads one base body (BODY, a banana!) plus four groups of parts — HEADWEAR, GLASSES, MOUTH, and PROPS. Your job is to mix-and-match these constants to build complete dolls.

Part One: Creating Your Doll

Play around with the constants above to design one complete banana doll (example below).

Example Banana Doll

Use overlay-xy (or overlay-align) to position pieces. Offsets differ for hats, glasses, and mouths, so experiment until it looks right.

You may introduce intermediary constants while stacking layers, but only your final image should appear when someone hits Run. Make sure nothing else is output (no sub-images, numbers, strings, or otherwise).

Part Two: Practicing Program Planning

Most of the time, producing successful code requires thorough outlining and planning. Program planning is a skill that can help you deconstruct a problem in a way that allows you to avoid potential bugs. We now want to practice the process of outlining code prior to coding.

Pick one of the two images below. Without coding it, write a list of steps and action items that describe, in words, how to recreate your image (imagine that you were trying to get a child to draw the image from your steps) starting from basic shapes. Use any terms you want to describe the steps: you don't have to stick to names of operations that exist in Pyret or concepts that we've covered in class.

Write your instructions between #| and |# in your homework file, which indicates they are comments: ignored by Pyret, but readable by you, and your TAs!

There is no lower or upper limit to how many steps you need to write. Try to make your instructions clear enough so that someone could replicate your image without having seen it.

Example Images