Lost in a sea of source code

LovePosted by Eskil Sun, October 10, 2010 06:24:58
I always thought that the future of video games was clear. A game should be a story that unfolds in response to actions. I assumed that everyone else thought that it was so obviously the goal. I'm starting to feel very alone in that vision.

Some are aiming to make games tell a photo-realistic story but cares very little if players are passages rather then protagonists. There is a line of thinking that goes that if only games deals with serious subject matters like alcohol abuse or immigration it will become a mature medium. Many think that games should be small little art works that we can interact with, short memes that we consume in bulk. Few people look at the level of interaction, but to me interaction, the ability to influence the world and have it respond was always the key.

In fact if we look at the level of interaction in a game like Zelda on the NES, you have more freedom and ways of interaction then in many of today's games. Why is that? If a more dynamic game is the goal, then what would be the obvious thing to make dynamic? I chose to make the environment dynamic, and it seams like a logical next step from having dynamic characters. Enter LOVE.

I think LOVE goes further then any other 3D game I know in the direction of being dynamic, and when it shines, it is the best game I have ever played, but there are three reasons why it shines so rarely.

No one has ever lived though an action film in real life. Why? because the chance that some one would end up in a car chase, a bar shootout, fall out of an airplane and find the love of his or her life with in 2 hours is just about zero. Building a world where the chance of that happening is over 50% is hard, building a system that builds a world where the chance of that happening is over 50% is orders of magnitude harder. Players have become accustomed to having a games prepare scripted sequences, and big set piece, and all the players need to do to experience them is to show up and follow along. If something happens they think it is because of a decision taken by a designer rather then as an effect of the logic of the universe. (All players are creationists...)

The second reason is that the logic of such a system also becomes so complex that its hard to communicate to the players. If a system isn't known it will be perceived as unfair. Many people was disappointed by Spore for this reason, the game did not take in to account many of the decisions players made when creating the characters because the system would have become infinitely complex if they did. Its easy to communicate that the player should place web feet on the character in order to make it swim, but it is very hard to communicate that the creature swims poorly because the webfeet are pleased in suboptimal place. So the game makes it a binary decision, webfeet or not and it doesn't matter if you put them on the head. It doesn't matter if you have managed to create some amazing cause and effect systems unless the player is aware of it.

The final problem is that the systems handling all this become so big, so complicated and so interdependent, that they become incredibly fragile. This means that I spend almost all my time looking for bugs, and for every change I make it feels like ten other things break. Let me give you an example: the artillery system. For a shell to fire loads of conditions has to be meet, like the artillery unit has to be in range, it has to avoid unfair accuracy, it has to be powered by a power line that has to be uninterrupted, something that in turn is dependent on the world geometry. With so many dependencies it is incredibly hard to keep it reliable, while at the same time allowing it to be disrupted in may ways. Yes, Artillery is suppose to be able to fail, so when it fails it is very hard to know if it does so for the right reasons.

The work of improving the two first is severely hampered by the third, and I spend almost all my time fixing things that once used to work, but for some reason no longer does. One could argue that if only I had more resources this could easily be overcome, but I actually think the opposite. Since everything is so interdependent it becomes almost impossible to work on unless you know and understand all of it.

The last few weeks Love has become substantially improved, as many things have been fixed and tweaked. It plays much more as a directed game, even if it isn't. Yet every day i ask my players "How is the game playing today", and most days something is broken. I used to think that I could work on Love forever and just add more and more stuff, but now I feel that the complexity has made it so unwieldy that it looks less and less attractive. The one thing I want to add is friendly AI, and even though I know it will add a range of new bugs I feel it is what i really wan to do.

In many ways I feel like I have reached the outer limits of what is possible, you could say I have reached the speed of light or found the end of Moore's law. At this point development will only yield diminishing returns. This doesn't bode well for the future of games, if interaction really is holy grail. The only solution, is a paradigm shift that can reduce complexity. The question is what that paradigm is.

  • Comments(23)//