home | system architecture | participants | Making Of

 

System Achitecture

The main idea of the system architecture design is to separate the visual layer from the logical/control layer, thus reducing the level of dependency between the two layers and increasing the game flexibility. The architecture functionalities are divided into two engines: Graphical engine (G-engine) and Game logic and control engine (C&L engine). The availability of two separate engines and XML based communication and game description can lead to flexibility. Therefore, this allows for scalability of the project, e.g. by adding more castles, players, or any other new game elements. The C&L engine is responsible for the control of the login of the game and of generating a set of events. Those events are sent to the G-engine to be informed about the changes in the game setup and states. In addition, an XML description of the game is updated and sent also to the G-engine to update the visualization part of the game based on the current description (current game state).
The game world is represented in XML. It consists of different parameters, some related to the game setup as a whole and some related to specific game states. The “GameConfiguration” element contains all the children elements pertaining to the game configuration setup. All the basic game parameters need to be explicitly assigned. Those are: Global time, Number of players, Number of rounds, Current round, Time limit for each round, Number of guesses, and Number of castles in the game. “Status” element contains the current state of the game including the players’ and the castles’ list. The “players list” contains the basic information about each player in the game, which is: Player number in the game, Player’s name, Player’s current score. The “castles list” includes information about each castle in the game, including: Castle number in the game, Actual owner of the castle, Current owner of the castle, “Health” of the castle, Value of the castle, Visualization level of the castle.