Storytelling Engines are computer programs that manipulate media objects based on their knowledge of content, rules for story progression, and potential for audience interaction. They can be designed to configure a presentation on-the-fly (selecting one material at a time), or they can be designed to select, assemble, and present a composite stream of scenes. Example engines include: ConTour, a system that uses the principle of a spreading activation network combined with positive-to-negative keyword weightings to locate the next relevant content segment; and Agent Stories, a system that assembles a story presentation based on the preferred characteristics of a storytelling agent.