We usually think of objects as a whole, especially when they have labels.
But if we take a moment to consider what an object is made of we are likely to discover multiple components.
Dealing with individual components allows us to focus on a smaller aspect of the whole questioning its constitution, function, and purpose.
Modularity in game design can be used to improve the depth of a game by introducing complexity. This is done primarily by breaking up an object into many components and having them all do something.
Components can be composed of other smaller components. In theory, we can keep breaking them up indefinitely. This is a great creative exercise that can lead you to unexpected places.
A good way to look at components is to see them as systems.
A system is a set of parts that work together towards a purpose.
So components are systems that are made of sub-systems. Systems become more fundamental to the overall structure of the object the deeper they are. An object that is made from pixels, a web of points, or triangles has profound effects on the entire structure.
At one point we have to stop breaking systems up into sub-systems and define a base type with real quantifiable attributes.
Name | Property | Property | Property |
---|---|---|---|
Pixel | X | Y | Color |
Material | Mass | Smoothness | Flexibility |
Human | Age | Health | Speed |
So for example, if the base type of every system in a tank object is a Material, then they will all obey the same rules. If the material type is destructible then every part of the tank will be destructible. Depth is created through small details like learning that you can take more damage on stronger materials and protecting areas made with weak ones.
When you find a base type that you like try to use it as a base in systems of other objects too. This will ensure a world with consistent interactions that are easy to understand and make predictions.
On its own, complexity isn’t really a good thing. And while modularity is fun, it’s easy to get carried away with it.
Remember that the real game is happening within the mind of the player. The numbers on the screen simply drive behavior. If they don’t make sense then all behavior stops.
Use modularity creatively to take you to unexpected places. Find the one thing that excites you and build a game around it. Let every system reinforce that one thing — the core.
Modularity questions:
- Can I break this object into two or more components?
- What is the function of this component?
- What is the purpose of this component?
- What is this component really made of?
- How does it interact with other components?
- How many states can this component be in?
Try it!