This post is an idea dump, an exercise in trying to clear this mess that is my head right now. The subject is certainly too big to analyze in just one post, so later I’m probably going to end up writting again about it or possibly making a game that tries to experiment with some of the concepts floating in my head. You never know.
There’s just something very very interesting about networks isn’t it? A bunch of nodes with simple behaviours interacting with each other resulting in extremely complex situations. It’s beautiful in it’s simplicity, in it’s complexity, in it’s strength and in it’s weakness. If a minuscule change in the rules that govern the behaviours of each node is made, the results of the same input will be wildly different. But on the other hand, since each node is an entity in and off itself, you can remove and add any number of nodes to your heart’s content without having that much relative impact in the outcome.
The internet is a network, our brain is a network, our universe is a network, hell, even our every single molecule is a node in this giant network we call life. Simple concept, complex execution. Like I said, beautiful.
At the end of the day, a network can be an extremely powerful tool, and that’s why I’m surprised that it hasn’t been explored thoroughly in videogames. Sure, we have Object Oriented Programming, which is based partly on this idea of a network of nodes (objects) interacting with each other (by methods), but that doesn’t mean anything if all we do with it is build fake worlds with pre-determined interactions.
We have the tools, we just haven’t used them in this particular way.
To be fair, there are some games that implement network based mechanics. Now, I may be wrong, but I think that the first game to experiment with this concept is the John Conway’s Game of Life. The entire game consists of a binary matrix (a grid of ones and zeros, where a 1 is a live cell and a 0 is a dead cell) and the following rules:
- Any live cell with fewer than two live neighbours dies, as if caused by underpopulation.
- Any live cell with more than three live neighbours dies, as if by overcrowding.
- Any live cell with two or three live neighbours lives on to the next generation.
- Any dead cell with exactly three live neighbours becomes a live cell.
There, that’s the whole game. Pretty easy to implement and the results can be quite complicated, at least compared to the simplicity of the rule system. But it’s not very interesting as a game isn’t it? The player just selects which cells are alive and then let the game play itself based on that initial input. There are some amusing animations that can play out, but that’s about it.
There are certainly other games that touch the concept, but only one has managed to squeeze some juice out of it. That game, is of course, The Sims. Gossip was certainly the first videogame to try and implement how social networks work, but it was a very primitive take on the subject (due to hardware constraints mostly, it was waaay ahead of it’s time), so at the end of the day it wasn’t very compelling, or fun, or even interesting to play. Only years later did we get to play a little bit with the potential of the concept, that is, with the arrival of The Sims.
Every Sim is a node, and each one has the potential to form a relationship with any other Sim (hate, apathy, love, friendship, etc). Now, based on that network, every node behaves according to their environment. Every Sim has to take into account which Sims are around him and what are each of them doing. Your wife just yelled at you, your brother just punched you gently in the shoulder, a perfect stranger just hugged you, your mother broke the refrigerator, your dad is watching TV while you are trying to study, your neighbour just won the lottery, and so on and so on. How should a sim react to these situations? It’s not exactly easy to program, and The Sims certainly fails most of the time to come up with reasonable reactions to complex situations, but it’s certainly making progress in each iteration (case in point).
I guess what I’m trying to say in that overly long paragraph is that The Sims let’s us take a peek at how interesting network based gaming can be.
The next step would be to take that concept and apply it to environments, to level progression, to AI, to quest design, etc, etc, etc. But that’s a task that I’m not ready to tackle yet. I need to think about the implications of the concept more. After all, if a not so simple network is what makes our brains work, then I’m not seeing the whole picture yet.