Ethan Miller

Unless otherwise noted, all work licensed under : Creative Commons License

Lapytha

April, 2005

Lapytha is an environment for open ended interactions among characters and objects. Initially nothing exists in the environment. Users begin by creating actors, then specifying actions the actors should take. As the game progresses, more actors and objects are available for players to interact with. Users will be able to specify conditional actions (i.e. If x is true, take action y). As the game progresses the web of interactions will become more and more dense, creating complex emergent patterns of interactions among the inhabitants of Lapytha.

Inspiration

One of the first inspirations are the surrealist games. It is hoped that players will play the game without excessive planning, or forethought. Players should be able to throw out the first thing that comes to mind. In this environment, however, the first thing that comes to mind takes shape (as code) and survives to interact with other player/actors independent of the original author.

Gameplay

The current version of the game is played through a text only interface. The goal is to allow as much natural language interaction as possible. For example, if the user types "The farmer drives the truck," the software will pick out "The farmer," and "the truck," and create code objects representing them. Those actors then become available for future interactions. Actions described by players will require further explanation. For example, if the user enters "The cat eats the fish," the software will ask "what happens to the fish, when the cat eats the fish?" The user might reply "The fish is gone." As understood in code, gone is simply an attribute of the actor fish. Other players will then be able to build on these attributes. The next player may specify "If the fish is gone, the fisherman goes home."

Certain commands are available for practical purposes. "List actors" for example provides a quick reference for the actors in a given game. A legend of such commands will be available.

Visualization

The visualization provides a larger view of the interactions taking place. Actors are represented with icons, with lines indicating interactions.

Code

PyOpenGL was used for the visualization. MontyLingua was used for natural language processing. Here are the Lapytha Python files.

Images

  • Lapytha text and visualization