From a purely structural point of view, a game can be designed using multiple graphs (where a "graph" refers to a set of vertices and a set of edges among those vertices, as in discrete mathematics).
The spatial map of a videogame, typically referred to as the "game world", can easily be depicted as a graph in which each vertex indicates a "place" (e.g. room, dungeon, platform (floor), etc) and each edge indicates a "passage" (e.g. corridor, hallway, staircase, etc) that lets the player move from place to place.
The overall narrative structure of the game (aka "scenario") can be represented as a graph, too. An interactive story which drives the player's experience is essentially an ensemble of various alternative chains of events, where each chain can be considered a parallel universe which is bound to collapse into the user's scope of observation under a particular sequence of external inputs. A chain in this context is basically a sequence of events, where each event is equivalent to a vertex and each event-to-event transition is equivalent to an edge in graph terminology. When such chains are all overlayed together, they form a graph which can be described as the FSM (Finite State Machine) representation of the game's storyline.
As we can see, two different aspects of gameplay (i.e. space and narrative) can be modeled as two separate graphs. Since they must be related to each other due to the fact that they are part of the same game, however, one must ensure that there is yet another graph called "intergraph". An intergraph is a bipartite graph whose sole purpose is to establish connections between two disjoint graphs (which are, in this case, the aforementioned "spatial graph" and "narrative graph"). For example, an intergraph may have an edge which denotes a relation called "enable" between the "bedroom" vertex of the spatial graph and the "sleep" vertex of the narrative graph. This will require the system to enforce the following rule throughout the game:
"If the player's current location is bedroom, the player must be enabled to sleep."
Or, in a more logical manner, it could alternatively be expressed as:
enable(player, sleep) :- location(player, bedroom)
If it is guaranteed that the only agent involved in this game is the player, the above horn clause could be abbreviated as:
enable(sleep) :- location(bedroom)
What this implies is that an intergraph should be interpreted as a set of logical conditions imposed upon the way in which the game governs itself. Without such a group of interconnections, the game's narrative elements can potentially all reveal themselves to the player regardless of his/her current local condition; that is, it would be totally valid to assume that the player could just defeat the enemy, undertake all sorts of crazy adventures, and collect all secret treasures of a sunken pirate ship while still chilling in his/her own bedroom with a nice cup of tea.