Networked Systems

Discussion in 'Game Design' started by Lemon, Dec 18, 2015.

  1. Lemon

    Lemon Well-Known Member

    Networked Systems

    In my previous post, I outlined how the rules of a game can be split into static ‘scaffolding’, and variable ‘content’. Towards the end was a diagram showing how this variable portion can be thought of as an input to the system.

    The diagram, as a whole, represents a game. The blue box is the game’s scaffolding; its fixed rules. The red input arrows show the various forms of content needed by the scaffolding for a given match. The green output arrow shows the results of a given match; whether you won or lost.

    The diagram can be understood like this: When a match is started, the blue box pulls in a set of content. The player then interacts with the box in an attempt to win the match. Once complete, the box pushes its results out.

    How is this Diagram Useful?

    Most discussion on this forum looks only at the ‘game’ part of a software package, where ‘game’ means the contest of decision making. Things that happen outside of matches, such as picking characters or unlocking content, are generally considered to be outside of the game and will be ignored. It makes sense to look at a game this way. We can isolate the regions of the software package that are most central and important, helping us make better design decisions.

    These diagrams let us think of the ‘game’ as one region of a larger network of subsystems. It lets us see the entire system in a more holistic and connected way.

    Give me an example?

    The first system I’ll take a look at is Minecraft. The system is split quite neatly into two contrasting halves: mining and crafting.

    The crafting subsystem is a sandbox toy with light puzzle elements. You can place blocks from your inventory onto the ground. By layering these up, you can build a staggering variety of (square) structures. Some of the blocks are interactive, and bring up a menu used to transmute certain types of block or item into certain other types of block or item.

    The mining subsystem is a contest with light game elements. You venture into sprawling, labyrinthine caves and look for rare ores. On the way you battle with various monsters that can also drop rare items.

    Each subsystem takes in something that the other subsystem produces. Mining produces the blocks that are needed to continue crafting. Crafting produces the tools, weapons and armor needed to continue mining. The system, as a whole, forms a circle. You travel from one subsystem to the next in a continuous loop. Each subsystem provides goals and rewards for the other.

    Of course, no loop can last forever. A point is eventually reached where one system’s content is maxed out, breaking the cycle. In Minecraft, this point actually comes pretty quickly. With each revolution you move a rung up the tech ladder. You start with nothing, and mine for wood (by punching a tree). With wood you can craft a pickaxe that lets you mine for stone. Crafting a stone pickaxe lets you mine iron. Crafting an iron pickaxe lets you mine diamond. Crafting a diamond pickaxe lets you mine obsidian. And here, the mining content becomes maxed out. There is no obsidian pickaxe or higher. The cycle is therefore broken, and the system becomes one way. With a little practice, this can easily be done in half an hour.

    Crafting is also maxed out at this point, with one notable exception. One of the first things to occours to most minecraft players is to build a house. One of the next things that occours to most players is to build a bigger house - and down the rabbit hole it goes. The mining system does help here, since higher tech levels allow you to mine materials faster. But there’s still a limit to your mining speed (diamond). By contrast, there’s very little limit to how large you can make a house. And most people quickly come into a headlong collision with the mathematics of volume. If you make a house twice the size in each dimension, it doesn’t double your work. It makes your work eight times greater. A naive player (remember that many players are children) might think "It took me one hour to build this cool house. With four hours I could build a totally super awesome house that's four times the size (in each direction)". And so they begin on their sixty-four hour objective. Once you start building a large mansion it feels pretty bad to stop, so I think this goes a long way towards explaining why many players would say “I was building my mansion in minecraft until four in the morning. It’s super addictive!” (I did this). At the same time, many other players would start a new world nearly every day, building a small fort, working their way to diamond, and then abandoning it all. They were bumping into the content cap every single day, even when starting from scratch.

    So maxing out one subsystem (and therefore breaking the cycle) can create two serious problems. One: it makes progressing in the other subsystem harder, since it isn’t receiving regular content upgrades. Two: it can discourage further play, since the highly appealing goal of ‘getting further’ has run out.

    Despite all this, when the cycle is working correctly it can be a great way to provide intrinsic goals to your system. By intrinsic, I mean the goal of each subsystem is defined in terms of the other subsystems rather than defined by the player. You want to mine so you can craft, and you want to craft so you can mine. The overarching extrinsic goal of wanting to reach the ‘end’ of the game produces a long chain of these intrinsic goals that lead up to it.

    I’d suggest the following change to Minecraft. Early in development, they introduced the idea of ‘infinite’ procedural worlds. You could walk in any direction for years and still not reach the end of the game, since new terrain is generated on the fly as you walk. It was a cool idea, but it turns out that the surface world of Minecraft isn’t very interesting. Instead, they should have gone down.

    Minecraft worlds are capped at 256 tiles high. If they were capped at 1024 (or 2048) instead, there could have been multiple rock layers stacked on top of each other. To compensate for the increased height, the surface area could be dramatically reduced. Each rock layer contains a unique set of resources, unique enemies and a unique theme. Through mining, the enemies can be defeated and the resources can be acquired. Through crafting, these resources can be converted into the tools required for entering and surviving in the next rock layer. This way, the system can support more content revolutions - one revolution for each layer. And at the end of it all, there will be an artifact of your hard work on the top of the map - your base. Each rock layer can let you create a more luxurious home base, which you can feel proud of once you reached the final layer.

    Does this apply to strategy games too?

    Minecraft is a fairly simple example. It might be hard to see how networked systems apply to strategy games or e-sports, so the next example I’ll look at is Auro.

    In each match of Auro, you’re tasked with earning a target number of points through killing monsters. The map layout and the monster layout are provided as content. You’re also provided with a randomised set of spells which help you defeat the monsters. These are the inputs to the Match subsystem. Once a match is complete, a binary win or loss is produced.

    The Ladder subsystem takens in your wins and losses. It then adjusts your position on a single player ELO ladder. If your position rises enough, you’ll go up a rank. If it falls enough, you’ll go down a rank. Your current rank affects the kinds of map, spells and monsters are sent to the Match.

    Like Minecraft, Auro contains a cycle of subsystems. But a key difference is that, in Auro, one of these subsystems is considered the ‘core’ game, and the other is a lightweight wrapper that tunes the experience for you. Most of what makes Auro interesting happens inside of the Match subsystem. This does not mean, however, that the Ladder subsystem is unimportant. It supports the match by providing the player with an appropriate level of challenge. It also provides Auro’s progression mechanics. The Ladder is the primary measurement of your long term progress since Auro lacks experience points, leveling and other persistent RPG elements. Without it, the matches of Auro would be far less connected to each other.

    So splitting your system into two equal halves isn’t the only way to build an interesting networked system. One alternative is to have a core subsystem, and supporting subsystem(s).

    Can we have more than two subsystems?

    There are many popular games with more than two subsystems. Hearthstone, depending on how you divide it up, has three.

    Each Match is provided with a deck and an opponent as content. It has a binary end condition of win or lose, which is piped out to the ladder. Statistics about the match are also piped out so that they can be checked against daily quests. Every third match also pipes out 10 gold.

    The Ladder works in a similar way to Auro. Each win or loss changes the number of stars you have. Stars determine your rank, and rank determines which opponents are piped into the next match.

    The Collection is a little more complex. It contains a set of cards which you may use to build decks. It also receives Quests which can be combined with statistics (from the Match) to unlock packets of gold. This gold can then be spent on new cards. Finally, real money can be spent on cards to boost your collection size.

    Note that the quests and purchases arrows are coming from outside of the system. Quests are provided periodically by Blizzard, and purchases are only provided when you open your wallet. In this sense, we can say that Hearthstone is an open system (that is, not a closed system). After a few games, the player will complete all their quests and max out their content for the day. It doesn’t stay maxed out, however, since a new quest will arrive tomorrow. This is how Blizzard encourages long term play. They inject just enough content to make you play, but not enough content to let you quickly progress through the game. If you do want to progress, you’ll have to return in the future.

    Isn’t this basically a ‘patchwork system’?

    A ‘clockwork system’, as described in Clockwork Game Design, is a system built using the ‘clockwork design pattern’. You start with a goal, then create a core mechanic that lets you reach the goal, and then create supporting mechanics that make reaching the goal more challenging. It’s called ‘clockwork’ because everything revolves around a central hub - the core mechanism.

    A ‘patchwork system’, by contrast, is any system that lacks such a design pattern. They are usually stitched together in an ad-hoc fashion, resulting in a system that is wide rather than deep.

    A networked system is not a patchwork or clockwork system, but it can contain patchwork and clockwork systems. To explain why this is the case, let’s look at a large and well known patchwork system - World of Warcraft. This game contains a number of different subsystems that all have to compete in the same space. This makes it difficult to balance one subsystem without affecting the others. Here are some excerpts from The Ludite’s article on WoW

    “Let’s look at the highly popular structured PvP experience in the battlegrounds. Players are divided into equal teams to compete with each other in a completely fair and balanced… Yeah, I think by now everyone knows what’s wrong with this picture: levels and gear. The problem is that no matter what tier you’re playing on, there’s always going to be someone who is arbitrarily weaker or stronger than you, whether it’s his less shiny equipment or his grind-certified privilege to higher HP totals and larger DPS potential. This is not an accident or oversight. This is a consequence of the PvP game having to coexist with a leveling grind and a loot machine.

    How about an experience that is less rigid and structured? Let’s talk about world PvP. You have this whole world to run around in and take all comers! Stake a claim in an area and fight for control! It sounds really exciting, but again, you’ve got all these ulterior motives yanking back the other way. Now that everyone in the whole world is participating, the power scaling problem is even worse. If you thought fighting that fully geared max level player was hard in battlegrounds, try doing it with a level thirty-eight nobody.

    Well, if we have to kill mobs to have fun, maybe we can try the raid content. Gather together your buddies for the most challenging PvE fights of all! Finally, something that World of Warcraft is suited for! After all, it uses the combat and movement mechanisms heavily. The dungeons are hard enough that they require very specific group compositions, thus reinforcing the role-based social aspect of the MMO. It’s perfect, right? Wrong. See, you don’t even get to do the raid content until you’ve done your time in the quest grind. If you’re missing a critical role from your raid composition, you can’t even substitute a spare player into that role without doing the entire leveling grind yet again.

    What about a less popular activity? Let’s roleplay! After all, roleplaying is an officially Blizzard sanctioned method of playing World of Warcraft. Maybe all these oddities produced by the leveling power curve are forgivable from a realism point of view. After all, maybe I should have to train up my character before I stand a chance in Blackrock Mountain. Realism it is! Until, that is, you find a very nice looking pair of pants you can’t wear because it’s “too high level.” That edgy leather vest? You must be this tall to ride. It doesn’t matter how well it fits the fashion sensibilities of your character, you haven’t sworded enough dudes to warrant clothing that manly. Or even worse, what about a mage who wants to put on a leather belt? Clearly he is of too frail a constitution to bear the weight of it even for an instant.”

    You could draw WoW as a networked system. But that diagram is going to look very jumbled and complicated. There will be a large number of subsystems, and each one will connect in several ways to every other subsystem. It would probably make more sense to draw WoW as a venn diagram.


    Each of the hundreds of mechanics in WoW is connected in a big, tangled web. It’s difficult to find a group of mechanics that affect only one subsystem.

    You turn a patchwork system into a clockwork system by pruning mechanics. You remove the mechanics that don’t relate well to your core, and are eventually left with something much more centralised. Alternatively, you can turn a patchwork system into a networked system by pruning interfaces. You restrict the degree to which any given mechanic can affect distant subsystems. The example diagrams from earlier all contain some complex subsystems, but they also all have highly restricted interfaces between these subsystems. The individual turns of a Hearthstone match has no impact on your collection - only winning or losing has an impact. The order you mine blocks in Minecraft, or the tools you use to mine them, have no impact on what you can craft later. Rather, only the sum total of all the blocks you bring back is relevant.

    Each subsystem in the network could be a clockwork system, or a patchwork system, or indeed any other kind of system. But by carefully restricting the interfaces between subsystems we can allow them to live near each other in harmony.

    Closing thoughts

    The networked system design pattern presents a more holistic way of looking at complex interactive systems, and lets us start combining wideness with depth. We can keep some of the popular parts of modern game design, like progression mechanics and subsystem variety, while mitigating many of their harmful side effects. The pattern is also useful when looking at more streamlined games, since even highly elegant games benefit from ranking ladders and other supporting subsystems.
    Batlad, alastair, keithburgun and 5 others like this.
  2. richy

    richy Well-Known Member

    Good job with these essays - they're very well written and thought provoking!

    One thing caught my eye, in the Hearthstone diagram with:

    Ladder <---> Match ...

    I wondered if you were thinking that this way of compartmentalizing things could open the way for designers to do more work on "side" games like ladders, and bring some real depth and interest to those areas. Or if that would be silly? Or if not, would it be possible?!

    I mean it looks like a symmetrical relationship in the diagram - one might even imagine a player spending more time "playing" the ladder game than the main game if it were good enough.
  3. Lemon

    Lemon Well-Known Member

    I certainly do think that's a possibility. There's a lot of space between a hearthstone-style ladder and a minecraft-style dual core system.

    One potential issue, though, is the risk of players liking one subsystem significantly more than the other. If you put too many obstacles in front of the part they like, you're cutting them off from the game's value. For example, most competitive pokemon battlers really hate the hoops you need to jump through to train pokemon in the RPG half of the game.
  4. keithburgun

    keithburgun Administrator, Lead Designer Staff Member

    Nice post! I posted it on Reddit, so be prepared for people thinking that I wrote the article again, haha.

    I think you laid things out nicely and clearly here, but here are my two big pieces of criticism:

    1. I think this is already what developers working with systems like this do. In other words: I agree with this, but this is already status quo.

    2. I am skeptical that having these huge interconnected systems like this is anywhere near as good as having one clear, isolated and pure game. You have these constant external costs everywhere. It's hard enough to make one good game, but now you have to make like five good games and they're all interconnected? I just find the prospect totally impossible and at best you're going to have five "meh" systems. I think it's much better to have one stellar system.

    A side thing: I'm a bit confused that you used Minecraft as your first example, given that, as far as I know, it's not a contest of decision-making? Maybe I mis-read something.
  5. Lemon

    Lemon Well-Known Member

    I'm not quite advocating for this. Making five good game*s that are all interconnected does sound like a clusterfuck. But rather, you could have one good game, one good toy, and 2 or 3 well-chosen points of contact between them. I think your guidelines are a solid first-order heuristic and I'm trying to build on them by finding situations where they don't hold or can be bent. The most important part of building a networked system is choosing a clear and simple interface that supports each subsystem without pulling them into conflict. At any time, it should be easy to reason about how your current decision will affect the other subsystems (and most of the time the answer should be 'it doesn't').

    Minecraft is, indeed, not a game. But the mining half of minecraft has many characteristics of a (shallow) game. You have to make combat decisions, usually revolving around positioning advantage. You have to choose your path through the caves. You have a clear loss condition, even if there isn't a binary win condition. By viewing minecraft as a networked puzzle/toy half and game half, changes could be made to improve each half without damaging the other.

    I'm not so convinced. I think most status quo designers are genuinely building patchwork systems. I'd expect that most games take an existing game as a base, add a collection of things the designer thought 'would be cool', and then do a few refinement passes afterwards. I don't think the average status quo designer is using a formalism with self-contained subsystems and clear interfaces to guide their design.

    I do think, however, that this design pattern could improve many status quo designs by helping to reduce internal conflicts within the system. By pruning interfaces, they can end up with a more robust and harmonious design.
  6. keithburgun

    keithburgun Administrator, Lead Designer Staff Member

    I guess I don't see why this networked system thing isn't just a big bloated patchwork system.
  7. Erenan

    Erenan Well-Known Member

    The mining part of Minecraft is basically like Tetris in terms of what form it is. No binary win condition, only a loss condition. I mean, it's easy to imagine a version of Minecraft where instead of the FPS mining thing you just play an abstract Tetris-esque minigame and as you clear blocks you get resources. There are games that do something like this (e.g., Puzzle Pirates).

    It's interesting because in a networked system, certain forms that may by themselves not be very interesting can suddenly be useful to support another more interesting system. Typical ladders are non-interactive systems, but the function they perform with respect to competitive games is really important. Surely it's debatable how good the dual system network in Minecraft really is, but it's nevertheless interesting to me how you can network what's really just a toy with another kind of system to make something that roughly works.

    Actually, coming back to Puzzle Pirates... Not sure if anyone's played that, but you play minigames in order to do basically anything in the game world. You join a crew, go sailing, and get into cannon battles with other ships. While the captain is playing the minigame for controlling the ship, the crew members are all playing the minigames for sailing, cannon loading, and so on. The sailing minigame was always my favorite. There's no binary win condition, you just keep trying to clear blocks and score as big of combos as you can. By itself this isn't very interesting because how well you do doesn't matter for anything, but in the context of the ship battle it matters because it allows the captain to be more effective at doing well in the battle. Surely there's room to debate how well this model works, but in my mind it's at least clearly more effective than just straight up (single-player) Tetris by itself.
    cpudreams and Lemon like this.
  8. Lemon

    Lemon Well-Known Member


    Let's consider StarCraft. Most people divide StarCraft into 'economy' and 'military'. Both halves use units that cost resources. They both take place on the same game map. Many mechanics are shared between the halves and they aren't clearly separable. As a result, the system is a bit like a ball of yarn, where all the mechanics are tangled together and it's hard to reason about the ramifications of actions or balance changes.

    Another way people divide it is 'macro' and 'micro'. But this isn't very neat either. If you split a group of units into two groups, is that macro or micro? The game can't be cleanly divided on this axis either.

    The idea behind a networked system is that each subsystem should be mostly self contained. You can then worry about building just one system at a time. By linking a few self contained subsystems in clear and simple ways, they can then support each other.

    This way, we can make games that resemble popular modern games, but that also avoid becoming tangled soupy messes (a requirement if you want the system to have some degree of depth).
  9. Erenan

    Erenan Well-Known Member

    In Diablo, there's two subsystems. There's killing monsters. And then there's the part in town where you talk to people and buy things. So basically Diablo can be broken down into two parts: Killing things on the one hand and talking to people and buying things on the other. So really, Diablo is a game for both boys and girls.
    Jon Perry likes this.
  10. Lemon

    Lemon Well-Known Member

    The town part of Diablo is pretty terrible though. Even worse than the rest of Diablo.
  11. keithburgun

    keithburgun Administrator, Lead Designer Staff Member

    So, your "answer", sorta, to a patchwork system is to separate the systems out more, basically, right? So they're more clearly identifiable as "system 1, system 2, etc". That is fine, but then the issue you're going to run into is what I originally said. It's nearly impossible to balance one system, but now you have a situation where System 1 not only has to be good and balanced on its own, but also now has to feed resources in a balanced way to System 2. To me that seems like an impossibly high bar to reach and I also don't even see the need to try that. It's not like we're even particularly good at designing and balancing one system alone yet, and yet we're discussing maybe having several systems loosely interconnected?
  12. Lemon

    Lemon Well-Known Member

    If system 1 is a balanced game that already contains 'content', and system 2 is some other type of system (like a toy), then it should be fairly easy to connect them.
  13. keithburgun

    keithburgun Administrator, Lead Designer Staff Member

    Yeah but won't connecting those two necessarily make them both worse?
  14. Erenan

    Erenan Well-Known Member

    Let's be specific. Minecraft consists of the house building part and the looking for materials part. Would the house building part be better if you simply had unlimited access to materials so you could just build whatever you wanted without having to stop and go look for more materials periodically? I mean, like, if I just want to build a dang mansion or whatever, but I keep running out of bricks and having to go wander around some caves and bonk some monsters over the head to get more stuff to build my mansion out of, I might take the position that this is less fun than if I just automatically had however many bricks I need.

    Kinda like, let's say you were using MS Paint to draw a picture of a zebra, but then halfway through you ran out of white and black pixels. So then you have to go explore a dungeon and kill some monsters who drop pixels when they die. Not always white and black ones, sometimes green or brown or whatever other colors you don't need. But then, ahhhhhhh, finally you think you have enough. So you go back to MS Paint and... Oh no! You ran out of white again. Back to the dungeon.

    I guess the question is whether this is always a problem or if there are ways to avoid it.
    Nachtfischer likes this.
  15. Lemon

    Lemon Well-Known Member

    Is SimCity always better with the infinite money cheat enabled?
  16. Nachtfischer

    Nachtfischer Well-Known Member

    As a toy, yes. As a strategy game, no.
  17. Lemon

    Lemon Well-Known Member

    Is there always a clear distinction between playing SimCity as a toy and playing it as a game? Strategic limitations can spur creativity in the toy, and sub-optimal but thematic decisions can create fun in the game. Dwarf Fortress players often make a mixture of creative and logical decisions.
    cpudreams likes this.
  18. Batlad

    Batlad Well-Known Member

    Given how bad most of the game systems were in Puzzle Pirates it is amazing how compelling they were once they were connected together between players. I think there's a lot of value hidden in this idea of asymmetrical coop and have at least two prototypes that have tried to explore it.

    I was always more of a bilger myself.
    cpudreams and Erenan like this.
  19. cpudreams

    cpudreams Well-Known Member

    This sounds like my previous project, I ended up shelving it, but I do think they idea has promise even if my own attempt wasn't there yet.
  20. Batlad

    Batlad Well-Known Member

    It is as you would expect very difficult because you need to not only execute on one game idea, but two to the point where they are both good games. But then on top of that you also need to make the link between them feel good and build into something greater than its parts. My attempts have both been shelved because I couldn't execute on at least one half of the idea. Likely also explains why we don't see many games like this. As Keith says its already hard to make one good game...

Share This Page