Content and Scaffolding Most modern games are stuffed with content. A large game could have thousands of different assets, many of which are used only once or twice. There are significant costs to this, in terms of development time, balancing, and accessibility. So the claim has been made that the content in a game should be minimal. Each element must justify its place and we should err on the side of cutting content, rather than adding it. But how much content is minimal? We need to understand the benefits of content before we can find this balance. Defining ‘Content’ Most people have an intuitive idea of what ‘content’ means. Characters, levels, items and abilities would all be examples of content. But these words are thematic and are, therefore, not necessarily good descriptors of the system’s actual behaviour. It has also been noted that any piece of content is essentially a package of rules. For example, “A ‘goomba’ is a token that moves slowly to the left. If it hits another solid token it reverses direction. If it hits Mario then he is damaged. If Mario hits it from above then it is destroyed.” So content is an emergent quality of certain types of rules. But what exactly determines whether a given set of rules are content or not? I’ll be using this prescriptive definition: Content is the rules that vary over time. Scaffolding is the rules that are always constant. Here are some examples, to illustrate what I mean more clearly. In Super Mario Bros the scaffolding is the game’s laws of physics, the screen only scrolling right, the victory condition of reaching the far right side, and such. These things hold true for every match of Super Mario Bros. The content is the level layouts and the enemy types. These change every time you complete a match (until they are exhausted, since the game is non-random). In Hearthstone the scaffolding is the rules governing whose turn it is, how much mana you have, how much health you have, and such. The content is the decks you each brought into the match. Each card uses a set of shared building blocks (attack, health, cost, abilities like Battlecry, Deathrattle and others) in a unique combination. The shuffling of decks further increases the variety between matches. In Auro, the scaffolding is the rules determining movement, bumping, barrier and such. The content is the level layout, the monster types and the spell types. Auro’s content has much lower variance than most other games, due to careful control over the generation algorithms. Chess has no content. It is always exactly the same each time you play. The players are the only source of variation. This definition isn’t perfect, but I find it useful. Variety Variety is clearly the main benefit of content. A content free game like Chess can be intensely studied, leading to a formal ‘book’ of correct strategies. These strategies can be laboriously memorized, and then perfectly executed to dramatically increase your chances of winning. And since it can be done, it will be done whenever people get serious about improving at the game. But content exponentially increases the number of potential matches you can play. There are 40! (forty factorial) different ways to shuffle a 40 card hearthstone deck, which totals to 815 quattuordecillion possible setups. I don’t know exactly how large that number is, but it’s definitely rather big. If memorising the majority of chess takes a lifetime, memorising 815 quattuordecillion chess-like games would be a significant challenge! Players are therefore forced to rely on heuristics over rote memorisation. It’s also worth noting that content doesn’t just increase a system’s strategic value. It can dramatically increase the system’s novelty value, too. This is nothing to sneer at. Most people place a high value on novel experiences, even if that value is exhausted quickly. Scaffolds But no game can be infinitely variable. A game needs structure to be understandable. This is where scaffolding fits into the picture. One of the major roles of scaffolding is to support content. To use a real-world analogy, the shape and utilities of a building determines what activities the building supports. You need running water to support a kitchen. You need large halls to support an expo. Interactive systems are similar, in that the rules making up your scaffolding will support specific types of content. We can create a rough measure of a system’s ‘flexibility’ by comparing the size of the scaffolding to the size of the content-base it supports. A more flexible scaffolding can support a wider variety of experiences. So there are benefits to having more content, and we’re already aware there are benefits to having less content. Let’s look at some of the main arguments against content to help clarify where the balance lies. Content Layers One serious problem is that content heavy games are hard to learn. You need to understand how each piece of content works before you can play the game effectively. You can alleviate this by splitting your content into layers. The first layer defines a set of basic components, and the next layer up combines these components in different ways. Hearthstone illustrates this idea very clearly. As mentioned earlier, the first layer of content defines some shared building blocks, such as attack, health, mana cost, and abilities like Battlecry and Deathrattle. The second layer of content then combines these components into around 500 unique cards. Once a player has learned the layer 1 content, it becomes very easy to learn the function of a unique card in layer 2. In the picture below, I’ve drawn level 2 as much larger than level one, to show how reuse of lower content can dramatically expand the flexibility of your system. Each layer can support many more possible combinations than the previous. Each layer can even be thought of as forming part of the scaffolding of the next layer. Many other games also do this. In Auro, spells are broken up into terrain effects such as floe, flame and vortex. Monsters are also divided into the heavy, flier and normal classes. The map, too, is divided into water, ground and pillar tiles. These are then combined to make the maps, the 10 or so spells, and the 10 or so monsters. Here I’ve drawn layer 2 significantly smaller than the base of layer one. This is because several elements in Auro’s layer 1 are only used once or twice in layer two. There’s a lot of empty space in layer 2 that could be mined without dramatically increasing the complexity footprint of the game. Content layers can also solve another problem - that content heavy games require a lot of development time. By splitting the content into layers, your content becomes more modular and reusable. This should significantly cut the marginal cost of adding a new piece of content. Content Bundles The third problem is that content heavy games are hard to balance. As content increases, the number of possible interactions between all pieces of content increases exponentially. It quickly reaches a point where some content will be inherently more useful than other content, and so only a small subset of your content will see regular use. To solve this, your content can be split into bundles. Each bundle is only a small fraction of the total content, and it can therefore be curated more carefully. This approach keeps the best of both worlds - you get the balance of a small content set, and you also get variation between bundles. Hearthstone could split out a different ladder for each expansion pack (though in practice this wouldn’t work with their monetisation model). An adventure game can quite naturally bundle content by in-game geographic area. Closing thoughts Careful layering and bundling can mitigate some serious problems of content heavy games. This means we can make games that are more varied, without being hugely more difficult to learn, balance or create. As a final point, the definitions proposed here allow us to divide games into fixed and variable components. We can therefore draw an interactive system as a box with input and output ports. The inputs provide content, and the outputs provide results of the match. This means we could pipe the outputs of one system into the inputs of another system, creating a network of subsystems. I’ll explore this idea more in a future post.