Tuesday, January 24, 2012

Architecture: Overworld and Minigames

Here is an outline of the architecture we are planning to use for the overworld, mini-games, and how they are connected. This architecture is the "non-experimental" (or at least less experimental) part of the project - the basis of the game that we want to make. The more experimental part, which will be the focus of my research, is how to use this architecture to enable the game to tell dynamic, non-predetermined stories.
  • The overwolrd consists of locations which are connected by paths.
  • Each location can have a number of state variables and a number of mini-games associated with it
  • Mini-games can take input from the world, including information about the current location and/or character state, and configuration variables such as the type of "skin" the game should use (if applicable), or an item that the player should have a chance of acquiring as part of the game.
  • Each mini-game provides one main discrete output (with a small number of possible values, e.g. yes/no or left/right/center) and may also provide a number of secondary outputs, also discrete, such as whether the player got the item passed in as input.
  • When a mini-game completes, the current location makes changes to the world based on that game's output.
  • All changes to the overwolrd happen through mini-games (or pseudo mini-games - "Interactions" that follow the same input/output structure as mini-games). This includes changes to the character; traveling between locations connected by a path is a core type of mini-game.
  • Some changes in world/story state can be communicated to the player through short cutscenes, which would essentially be non-interactive mini-games.
The story, setting, characters, etc. of a particular mission would then be defined by: placing and connecting locations; defining the mini-games available at each location; for each mini-game, defining: the conditions for its availability, its inputs, and the effects each possible output would have on the world/location/player character.

This architecture provides for a very simplified structure that is still flexible enough to allow for almost any mission, quest, story, or general setting to be encoded. The simplified nature of the architecture, especially the discrete outputs of the mini-games, should also make analysis of potential missions easier. In fact, the idea is to make it possible to traverse the tree of all possible chains of events as part of some form of automatic analysis.

No comments:

Post a Comment