Skip to content

The Three Tier Architecture of SIMBUG

Dimitris Kremmydas edited this page Aug 28, 2015 · 7 revisions

simbug_architecture

The Business Logic Layer

All the details of the game logic are defined in this layer. Those details are:

  1. Who are the players, defined by an unique identification code (e.g. uuid, email, etc.)
  2. What are the details of the game structure:
  3. How many turns to finish ?
  4. What is (if any) the time limit for each turn ?
  5. Which are the players-choice-variables
  6. Which are the players-state-variables
  7. Which are the world-state-variables
  8. Which are the external-data and their retrieval methods
  9. Which are the configuration-data and their values
  10. Which are the random-number-generators
  11. Which is the advance-turn-algorithm of the game

The Data Storage Layer

For any turn-based serious game, all kind of variables' current values (players-choice-variables, players-state-variables, world-state-variables) should reasonably recorded in the turn-advance of the game. This is a reasonable clause since the game creator might use this kind of data for drawing conclusions.

The recording will greatly be enhanced by the use of some kind of database. The schema of this database can easily be derived from the given business logic of the game.

The Presentation Layer

In this layer the players are interacting with the business logic layer.

This layer is difficult to be standardized, since almost any game-case has unique requirements and features on how this interaction will take place (e.g. special reports, side-information, etc.)

Because we recognize that for educators this is a very important layer and at the same time requires special skills, in future releases of SIMBUG a standard presentation layer will be crafted.