1. Pseudo-code
What rules govern the system?
Lecture companion
Before a project becomes hardware, code, or a finished installation, explain how it behaves as a system. Each section pairs the lecture with a picture you can step through.
I
The traditional meaning starts with an object, a system, or a piece of software. You examine how it works, infer the structure, and reconstruct the logic or the implementation.
In this class the goal is different. We are not trying to recover the original code or the original hardware. We are trying to make a reasonable model of how an experience behaves as a system.
That model can describe an existing professional project, a proposal, a classmate’s idea, or your own capstone.
If we had to build this experience, what would need to happen for it to work?
Immersive projects often depend on parts that are expensive or easy to get wrong:
A problem is much cheaper to find in a diagram than in a finished installation.
Rules inside the box are a model of the experience, not its source code.
The useful model is a few rules for how the experience behaves, not the original source code.
II
Start with a vague concept:
An interactive projection responds to visitors’ movements and gradually transforms the space.
The sentence is a concept. A system has to answer what is missing:
Reverse engineering is how we move from idea to system, before prototype and implementation.
The scene is still a vague idea. Answer a question to add a label.
The same projection scene stays vague until each missing question gets an answer.
III
Pseudo-code is a plain-language description of system logic. It looks a little like code. It does not need to compile. Syntax does not matter. Logic does.
While you write it, keep asking:
“The participant is interested” cannot be checked. “The participant stays in the area for 20 seconds” can. The same is true of direction: left and right are observable, so the particles can follow them.
Turn “something happens” into “WHEN X happens, DO Y.”
IF participant is interested
the computer cannot check this.
IF participant remains for 20 seconds
reveal more content.
Press Play to run the example. The highlighted line is the current step.
Plain-language rules can run: the active line is what the room is doing now.
IV
A flow chart maps how information moves through a system.
Input, then process, then output.
Camera, microphone, controller, keyboard, motion or proximity sensor, participant position, audio level, a network message, or time.
Detect, measure, calculate, compare, classify, transform, generate, store, or randomize.
Projection, image, sound, lighting, animation, physical movement, haptic feedback, or a network message.
The diagram shows dependencies, technical complexity, bottlenecks, and the places where systems connect. Those are often the risky parts.
What enters the system, what happens to it, and what comes out?
A token carries one example from an input, through a process, to an output.
Information moves from inputs through processes to outputs. Body tracking is where this installation can get stuck.
V
A state is a condition the system can remain in for a while: idle, active, waiting, calibration, interaction, success, failure, or reset.
Where does information go?
What is the system doing right now?
The boxes are states. The arrows are events that cause change: someone enters, a timer expires, an object is selected, a score is reached, a threshold is crossed, someone leaves.
Participants do unpredictable things. They enter halfway through, leave early, press something over and over, skip the instructions, act at the same time, or do nothing. The diagram has to say what happens anyway.
What can the system be doing, and what causes it to change?
State: IDLE. The room is empty and waiting.
The system stays in one state until an event, such as someone leaving, moves it to the next.
VI
Pseudo-code, flow charts, and state machines describe the system. An interaction diagram describes the relationship between the participant and the system.
Participant ↔ system
The participant acts. The system responds. The participant perceives that response and acts again.
What does the participant do, and what does the system do back?
Action: the participant enters the room. You can also drag across the canvas.
The participant acts, the system responds, the participant notices, and that leads to the next action.
VII
A core mechanic is a fundamental action-response relationship that makes the experience work.
A finished project might include projection mapping, motion capture, shaders, spatial audio, AI, custom controllers, networking, and fabricated objects. The mechanic underneath can still be simple: moving your body changes the position of something on screen.
That is what to prototype first. The prototype does not need the final technology. It only needs to test the important interaction.
Body tracking → Unity → projection
can be tested as
mouse → Unity cube.
Finished version: body tracking, a game engine, then projection. The motion is the same.
A mouse moving a cube can test the same relationship as full body tracking and projection.
VIII
The diagrams are a way to see trouble before a build starts. Four kinds of risk show up in the same system:
Reverse engineering helps expose each of these before major implementation begins.
Choose a risk to see which part of the system it asks about.
Each risk looks at a different part of the same system: technology, understanding, interest, or time and resources.
IX
On Wednesday, you will take another student’s project idea and model it as a system.
You are not being asked to redesign it. You are trying to answer one question:
How would this project need to work?
Work from the idea as it was described. Where the description is still open, write down the assumption instead of inventing a new project.
What rules govern the system?
What are the inputs, processes, and outputs?
How does the system change over time?
What is the smallest important interaction worth prototyping?
What did your group have to assume because the idea was not yet fully specified?
X
Before you build it, can you explain how it works?
Pseudo-code: What are the rules?
One pass through the five questions is the explanation you want before anyone builds the project.