Robert J Duncan IV


A Monk, A Forest, And...

Core Details

  • Completion: November 2010
  • Span: 4 weeks
  • Project Type: Academic Team of 4
  • Platforms: Panda 3D, Audience Interaction
  • Role: Programmer/Designer

Developed as my fourth (or "round 4") team assignment in the Building Virtual Worlds class at Carnegie Mellon University's Entertainment Technology Center, A Monk, A Forest, And... is arguably less of a game and more of an interactive story, and an experience where the audience members (instead of a single player) become characters in a virtual world. More specifically, the audience members find themselves digitally represented as Kodamas, forest spirits, simply with the ability to stand up, sit down, and wave. It is with just these few and simple interactions that the audience has the power to grant forgiveness to an errant monk and bring the story to a happy conclusion... or a sorrowful end.



The tale begins with a view of a lush forest that is nearly glowing with life as its trees sway in the wind. Soon the audience is prompted to stand up: as they do, their Kodama incarnations begin to appear in the forest, also standing up from their previously hidden sitting positions. As the Kodamas appear, the forest begins to appear even more green and lush: it is literally coming to life in the presence of the forest spirits. Next, the audience members are prompted to wave to themselves; naturally, their Kodama-selves cheerfully wave back. But then the audience is ushered to return to their seats: someone is coming! Once the audience has been re-seated, a young monk in a distinctive hat and mask enters the scene. With a yawn, the young man lays down to take a nap; at this point, a sinlge Kodama stands up to "investigate," shortly followed by the audience. Sensing something, the young man stirs and rises to his feet, only to be startled by the appearance of the spirits. The young man stumbles back in shock, only to accidently snap a nearby sapling. As the young tree dies, so does a nearby Kodama: the young man runs out of the forest in shame. The audience returns to their seats, and the scene fades to black.

The forest appears once again, and soon the young monk enters. He returns to the spot where he broke the sapling, and kneels down to plant a new sapling that he brought. Upon gently placing the sapling in the earth, the monk returns to his feet and begins to look out amongst the trees: the audience stands to be seen. The monk soon notices, offers them a bow of respect, and then cheerfully waves. Naturally, the audience waves back, and then the monk departs. However, should the audience choose to retain their seats, the monk will soon give up his search for the Kodamas and walk out of the forest in sadness. Once the monk has left, happy or sad, the scene ends with a fade to black.

We re-open on the forest, but now it is autumn: the trees have turned to red and orange and gold; where the monk planted his sapling, there now stands a young tree. Soon the monk enters the forest, but he is different: he is older, an adult, and carries with him a large flagon of water. He stops at the young tree and begins to pour from the water flagon. Once he finishes, he looks to the trees, searching. Yet again, the audience has the option to show themselves or remain seated: should they rise, the monk will bow in their honor and then greet them with a wave before leaving; should they stay seated, the monk will leave the forest in sorrow. Once the monk's departure is complete, the scene fades to black.

Now it is winter: the trees are all but bare, their branches covered only with the sparkles of snow and ice. Where there was once merely a young sprout now stands a mighty and strong tree, swaying in the wind with its kin. Slowly but surely, the monk enters: he is now an old man. He makes his way to the tree, gives it a caring pat, and then takes a seat at its base, resting upon its trunk. He looks up to the branches above, searching yet again. Once more, the audience may show themselves or remain hidden. Should they rise, the monk will wave cheerfully before resting peacefully at the tree. Should the audience remain seated until the monk gives up his search, the monk will not walk out of the forest in sadness: he will simply lower his head in sorrow. Yet again, the scene fades to black.

If at no point the audience chose to stand and forgive the monk, the scene will re-open on the same wintery forest, yet where the monk once sat, now there is merely a grave with the monk's distinctive hat and mask resting at its side: his fate is clear. However, if the audience chose to forgive the monk through their actions, the scene will re-open upon a bright spring forest. The unmistakable grave is still present, but soon a sapling begins to emerge from the earth, growing quickly into a small green plant: as its leaves spread open, a single Kodama appears wearing the distinctive hat of the monk. The audience stands, and the monk-Kodama waves: the audience waves back, and the scene fades to black as a happy melody begins to play. The credits roll as a line of Kodamas, lead by the monk-Kodama, cheerfully march across the bottom of the screen. The credits finish, and the scene fades to black one last time, and the experience is complete.


A Monk, A Forest, And... was designed with just one goal in mind: to tell a good, short, and complete interactive story that has meaningful interactions. By meaningful interactions I mean that we (the team) sought to create a piece that does not simply tell a story and happens to feature some interactive elements; we wanted to create a story that was actually affected by the interactions such that those interactions actually mattered to the story. When we decided to use the Audience Interaction system as our platform, how to do this became clear: to deliver a story to the audience in which they actually participated and felt responsible for the final outcome of the story.

After many iterations and modifications, the story finally evolved to the one you see above; before it reached that point, it underwent many modifications and iterations, often with one prevalent question: how do we get our audience (and thus, in effect, our "players") to create a good story? Using psychological techniques (predominantly conditioning), we were able to develop an experience that used a gentle (but firm) hand to guide the audience through the tale.

In addition to this guiding hand, we were fortunately afforded a single "ace up our sleeve," a small advantage: we had friends in the audience. In all of our intended venues, we had the beneficial circumstance of our peers being present amongst the viewers. As such, we chose to use them to our advantage: we requested that, should the rest of the audience (for whatever reasons) not be taking the piece's cues regarding when to stand (or sit), our peers take the lead and set an example for the rest of the audience. This was intended to give the "non-compliant" members of the audience the notion that "well... if they're doing it, perhaps I should too..." Indeed, this technique proved quite valuable: when presenting the piece to a particularly "reserved" audience, the vast majority of its members appeared to be (at least initially) unwilling to stand. Our "seeds" in the audience soon solved this issue by setting a precedent that was quickly matched by the entire audience. Suffice to say, the following interactions behaved smoothly just as planned.

In addition to the particular case noted above, I am satisfied to say that all "performances" of piece resulted in full audience participation, just as planned, and thus happy endings for all. As actor Anthony Daniels (most widely known for his role as C-3PO in Star Wars) kindly said upon enjoying the piece: the audience was "in the palm of [our] hand," and we lead them subtly and gently to a "quite lovely" ending.

Lastly, A Monk, A Forest, And... was one of only roughly a dozen virtual worlds to be selected out of over 60 to be shown in the Building Virtual Worlds show of 2011.


While the design and planning of an interactive story is incredibly complex, fortunately in the case of A Monk, A Forest, And..., its implementation was fairly straightforward. The most notable aspects of the piece's development were the effort put into ensuring that the characters transitioned between animations smoothly, and the custom "level editor" that was built into the piece to allow the forest and its Kodama inhabitants to be placed visually (as opposed to numerically, a notable constraint of Panda 3D when no "editor" is provided).

Panda 3D has native support for animation "blending," as in having an animated model simultaneously play multiple animations at the same time. More specifically, it allows a model to play several animations at the same time with different weights such that a model might be mostly playing "animation a," but have a little bit of "animation b" blended in as well (hence, "blending"). However, Panda 3D does not innately support the ability to smoothly transition between these weights: an example situation where this need might exist would be transitioning from a walk-cycle into an idle stance. By adding this functionality, I was able to have characters shift nearly seamlessly between animations, and thus the immersive experience of the piece was allowed to progress unhindered by "jerky" transitions between animations. I am happy to say that this implementation was of such benefit that it was able to be used in later works of my own as well as those of my peers.


Return To Top