The Machinations framework formalizes a particular view on games as rule-based, dynamic systems. It focuses on game mechanics and the relation of these mechanics and the dynamic gameplay that emerges from them. It is based on the theoretical notion that structural features of game mechanics are for a large part responsible for the dynamic gameplay of the game as a whole. Game mechanics and their structural features are not immediately visible in most games. Some mechanics might be close to a game's surface, but many are obscured by the game's system. Only a detailed study of a game's mechanics can shed a light on the game's structure. Unfortunately, the models that are used to represent game mechanics, such as representations in code, finite state diagrams or Petri nets, are complex and not really accessible for designers. What is more, they are ill-suited to represent games at a sufficient level of abstraction, on which structural features, such as feedback loops, become immediately apparent. To this end, the Machinations framework includes Machinations diagrams which are designed to represent game mechanics in a way that is accessible, yet retains the structural features and dynamic behavior of the games they represent.
The theoretical vision that drives the Machinations framework is that gameplay is ultimately determined by the flow of tangible and abstract resources through the game system. Machinations diagrams represent these flows and foreground the feedback structures that might exist within the game system. It is these feedback structures that for a large part determine the dynamic behavior of games. This is consistent with findings in the science of complexity that studies dynamic and emergent behavior in a wide variety of complex systems. By using Machinations diagrams a designer can give game systems a shape which would normally remain invisible. The main premise is that through Machinations diagrams, structure and quality in game mechanics become tangible.
Machinations diagrams are designed to capture game mechanics. As such, they are not only a design tool; they are also useful as an analytical tool to compare and analyze existing games. The Machinations framework allows us to observe recurrent patterns across many different games. Machinations diagrams are a medium to express and reason about these patterns.
Machinations diagrams can be drawn with any tool. The language was designed to draw easily on a computer, or on paper. At the same time, the syntax of the language is exact. It describes unambiguously how different elements interact. This allowed the development of a Machinations software tool, which can be used to simulate and experiment with game systems. With this tool, a user can run and interact with a Machinations diagram. To a certain extent, a user can play a game represented as a Machinations diagram. In addition, the Machinations tool allows users to define `artificial players' that interact with a diagram automatically. This means that games can be simulated without any actual interaction of real users. Such a simulation can run very quickly, allowing a user to experiment and gather quantitative data from thousands of simulated play sessions quickly and efficiently. To support this, the tool features automatic charts to collect data from each simulated play session.
The figure below is an overview of the Machinations framework and its most important components. It summarizes the discussion above.
Machinations diagrams create an abstracted perspective on game mechanics and are often used to focus on certain aspects of a game. The framework does not dictate how much detail a diagram should capture or what aspects of the game economy one should represent. Using Machinations diagrams many different aspects can be captured at many different levels of detail. The best perspective and level of abstraction is largely determined by context and purpose. Often it is sufficient to model games from the perspective of a single player, even if the game is actually played by multiple players. In these cases, it is often fairly easy to imagine how a diagram might be duplicated and combined to represent the multiplayer situation. In other cases it is useful to model one player at a higher level of detail than other players. Likewise, particular aspects of games such as taking turns might be abstracted away. At a high level of abstraction, there often is little difference in the effects of players acting simultaneously and asynchronously, or in alternating turns. I have tried to keep the level of detail low and the level of abstraction high in the examples used in this chapter. This way the structural features of the internal economy are best foregrounded, which best serves the purpose of examining the effects of these structures on emergent gameplay. For this reason the natural scope for Machinations diagram is that of a single player and his or her individual perspective on the game system. Although it is certainly possible to model multiplayer systems, the framework, as it currently stands, does not include features designed to support multiplayer games in particular. For example, the main input device for interaction with a Machinations diagram is the mouse; there is no support for multiple input devices. Likewise, turn taking is geared towards a single player only: the system responds to every turn in a similar way. There is no support for alternating turns for a number of players; and it does not prevent the players to take actions outside `their turn'.
The Machinations framework focuses on rules and mechanics and does not take into account all elements of game design. Most importantly, the Machinations framework excludes all elements of level design. As such, the framework is more effective for games that do not rely on level design that much. This includes most board games, strategy games and management simulation games. While the framework will still be applicable to games that rely more on level design, for these games the framework can only describe a part of the picture. Level design will be the subject of the next chapter.
Moreover, The Machinations framework does not involve the player or any cultural dimension of representation through games. The framework treats games as complex state machines: interactive devices that can be in many different states, and whose current state determines the transition to a new state. This is an approach that can be and has been critiqued: without players games would be, quite literally, meaningless. The formal rule systems of games are subject to constant change and reinterpretation by players. A formal approach always runs the risk of turning a blind eye towards this dynamic and important dimension of games. However, building game systems is an important task of a game designer. It is this system that codifies the player's possible interaction and generates individual game experiences. The aim of the Machinations framework is to understand the elementary structures that contribute to emergent gameplay and that ultimately facilitates the expressive and dynamic nature of games.
Finally, one more word of caution: when one sets out to model anything as complex as games, a model can never do justice to the true complexity of the reality of gameplay. The best models succeed in stripping down the complexity of the original by leaving out, or abstracting away, many important details. This is certainly the case with the framework and diagrams I present here. However, any model is a tool that can help us understand and work with complex systems. To be able to use the model to the best effect, understanding the concepts that informed the creation of the model is required. As any model, the Machinations framework and diagrams only facilitate understanding; they are never a substitute for it.