Graduate Studio: Technology A [Class Notebook] (DES-720A-02)

Week 14: Cyberbnetics and Playtest

What is an algorithm beyond its technical definition? How do computational and cybernetic modes of thinking influence the ways we organize, participate, and relate to one another? How can algorithmic processes be used to create more open and evolving forms of community interaction?

Cookie (Cybernetics: Or Control and Communication in the Animal and the Machine by Nobert Wiener (1948))



Assignment

Due: Dec 2, 2025

Submit Assignment (closed; archived)

Keep working on your community protocol, set it up in the desired environemnt and invite participations through playtesting.

For the final presentation, you will need to:

Tutorials & Resources

Class Notebook

Bella Tsai

Through the design of this little game, I started by exploring how to create the effect of fire using particles. I used class to store objects and then put one object into another class (particles—fire—fire jet). Each layer had its own executive purpose. I discovered that deciding which function to place and execute requires a lot of experience and trial and error. For example, there are many details to consider in order to create small fires that spread. The fire extinguisher also uses a (particles-foam-foam spray) structure, but they have totally different executive purpose and function. Additionally, there's keyboard movement function, such as a simple operation involving many intricate design details (release, hold, simultaneous presses, etc.). This project felt like a summary and review of the course throughout the semester. From variables, loops, maps, custom functions, floor, arrays, push, mousePressed, keyPressed, vectorCreate, and velocity, I used them all in this project. I used AI to assist me with some complicated parts, but by reading each piece that it helps generate, I'm proud that I can understand over 90% of the code and adjust the values to achieve the desired effect. The process made me get more familiar with computational languages. Realizing that even a seemingly simple interactive game is full of design details. This project gave me a deeper understanding of the world created by programming languages, and also deepened my admiration and respect for them.

Binjia Li

I learned how to build an interactive scene where a cat with three movement styles chases a yarn ball that follows the mouse.

Kate Chon

This week, I learned how small interactions can shape the behavior of a system. I explored how changes in scale, motion, and audio can make an environment feel more alive and responsive. I also realized that designing interaction is less about perfect control and more about creating space for curiosity and unexpected outcomes.

Lin Kim

Through this project, I gained a deep understanding of the Unity WebGL build structure, the limitations of the browser environment, and the entire process of implementing Mediapipe-based motion recognition logic directly on the web. In particular, the most challenging part was resolving seemingly minor details—such as the file structure required by WebGL, differences between local and deployment environments, camera permission issues, CDN script version conflicts, and path errors introduced during compression—that could completely break the application. However, by pushing through countless errors, black screens, 404s, and rendering failures, I developed a much clearer grasp of the overall web deployment workflow, debugging strategies, and the practical skills needed to create a fully functional interactive web experience.

Lina Lee

I learned how to create a new website.

Nancy Scanlon

I have questions with preload and adding pngs to be glasses into my code.

Zoe Liu

For performance reasons, some aspects of the project had to be compromised. I initially intended to make the background contours more detailed, but frequent re-rendering caused significant performance issues. As a result, the movement of the figures and lighting effects became less fluid. To fix this, I simplified the contour system to improve responsiveness and maintain a smoother interactive experience.