To put an Object on the playing field, type F2 O. Next, you can choose a character to represent the Object. Finally, you can enter a program to control it.
To change an Object's program, move the cursor to the Object and press Enter.
Commands are executed in tempo with the game. Usually, an Object is updated 4 or 5 times per second, and several commands are executed on each update.
Objects communicate with each other and with the environment by sending and receiving messages. Understanding ZZT-OOP is often difficult because it is possible to have many objects operating at the same time, and each object can interact with any other object at any time.
Objects can also move, shoot, and interact with other objects.
For example, whenever the player touches an object, that object receives the message, "TOUCH". The object can then act on the message, for example by greeting the player or attacking. Or, the object can ignore the message.
Similarly, objects can communicate with each other by exchanging messages. For example, a board contains a "BUTTON" object and a "GATE" object. The player touches the button. Upon being touched, the button sends the message "OPEN" to the gate object. The gate, upon receiving this message, moves aside.
The first step to learning ZZT-OOP is seeing actual programs with explainations, in the ZZT-OOP Tutorial.