Visual Editor

Teachers: 
Fulvio Frapolli
Maurizio Rigamonti
Amos Brocco
Denis Lalanne
Student: 
Roland Plüss
Project status: 
Finished
Year: 
2008

Context

The Dynamic Rule theory [1] proposes to allow players to interact with the rules of a game. In common games the rules are very rigid and can only be altered in small boundaries. The idea is to break this rigid body of rules and allow to modify the game rules dynamically before a game session. This principle ( which is similar to „sandboxing“ ) would be useful as well as for players as for game designers to test out new game variations. Besides other components The Dynamic Rule project [1] contains the task to provide a Visual Editor ( dubbed „WhiteRabbit“ ) to allow users to define a game without the requirement of a complex programming language. This bachelor project is located in this context and has the goal to implement such a Visual Editor.

Goals

  • Creating a concept for designing a game in a graphical way as well as defining the XML file format to save the game.
  • Implementation of the editor after the design document.
  • Testing the editor using a real user on a board game.

Description

The editor is a graphical tool to define a game in a generic way. The individual elements of a game ( entities ) can be edited with this editor. An entity can be anything from cards in a card play over fields on a board game to players themselves. Each entity owns properties and behaviors. Properties describe an entity. They do not influence the game state directly but are the base to choose and execute behaviors from. Informations concerning the appearance of an entity are handled separately. Entities are not required to have an appearance at all. Behaviors change the game state. Each behavior composes of one or more actions with optional conditions. Actions can only be executed if all conditions are fulfilled. Conditions are constructed in a tree fashion. Actions can change the properties of their parent entity or send messages to other entities. An entity has to know another entity to send a message. An entity knows another one if a property holds its ID. Each entity belongs to a Model defining properties, appearance and behaviors. Entities can not change the structure of properties and behaviors but the value properties have. The editor provides support for templates containing a collection of Models. This way each Model can be created quick and easy. Templates can be stored into XML files. A created game can also be stored into an XML file. A separate XML file is used as well as for the structure of the game as for the informations about the appearance. The elements of a game are edited in the editor using only graphical means. The editor is designed to be used by people without knowledge of specific programming languages

Technology

Java, Swing, XML

Bibliography

  1. Dynamic Rules thesis, by Fulvio Frapolli: http://diuf.unifr.ch/people/frapollf/thesis.php