Emerson: Scripting for Federated Virtual Worlds
Published in Proceedings of the 15th International Conference on Computer Games: AI, Animation, Mobile, Interactive Multimedia, Educational & Serious Games (CGAMES), July 2010.
Abstract
We introduce Emerson, a scripting language for virtual worlds that are seamless, scalable, and federated. These worlds present a number of unique challenges. Most importantly, scripts that specify the behavior of the world are distributed across many hosts and users may generate and host scripts. These constraints imply features not common in other systems, such as frequent use of asynchronous message passing for basic interaction between entities, a lack of trust between entities inhabiting the world, and live-editing of entities in the world. Emerson addresses these challenges with three core design concepts: entity-based isolation and concurrency, an event driven model with concise and expressive pattern matching to find handlers for messages, and strong support for example-based programming within the live virtual environment. Our prototype implementation of Emerson, based on the V8 JavaScript engine, demonstrates that a variety of applications can be easily written in Emerson in a live system.
BibTeX entry
@inproceedings{chandra2010emerson,
author = "Bhupesh Chandra and Ewen Cheslack-Postava and Behram Mistree and Philip Levis and David Gay",
title = "{Emerson: Scripting for Federated Virtual Worlds}",
booktitle = "{Proceedings of the 15th International Conference on Computer Games: AI, Animation, Mobile, Interactive Multimedia, Educational & Serious Games (CGAMES)}",
year = {2010},
month = {July}
}