Wednesday, May 11, 2011

Daily Inspiration for Game Developers

One of my favorite things about the universe is that it is beautifully balanced. This set of probably super small equations that run this incredibly complex machine that encompasses thought and stars colliding and clouds and cute puppies. Sometimes I find myself staring at a leaf and thinking how the patterns in it remind me of spatial arrangements of planets and stars. Or how the ingredients in my mocha settle just like a geological formation. I love the slow swirl and filtering as the sugar catches at points and stops, elsewhere, the weight of the heavier ingredients pushing onwards, leaving behind beautiful vertical formations.

They look similar because they are. The rules behind much of the systems are the same. Gravity, mass, tastiness.

I guess what I'm saying this morning is that you should be aware of this when building a game, when running your life, that all of life has a generally simpler set of rules that can be applied and expanded to accompany specific scenarios. The universe is generic. Are you aware of that when building your game?

Bejeweled is a series of jewels, all with exactly the same rules, except that here and there is a "special" jewel. But they all move alike. Most just have one fundamentally different variable which is a property that when the same value of that property is aligned in chains of 3 or more, they will disappear. Color, shape, or you could give them numbers, but that one variable is really all that game is. Move shapes around being aware of this one variable.

Minecraft, I've been sucked back into it. I had an idea to build a town. I'm playing the game solo. I know that when I want to, there's this world that is larger than I could ever explore, and the whole system is run by a few simple rules. When Notch added rain, I thought, crap, now there's more darkness. That's all there was to it. (I haven't dealt with gardens and harvesting and all that yet, so I don't know about rain's effect on that.) But that's the beauty of Minecraft, rain didn't fundamentally change how the game works, it took a variable critical to the game, light, and just inserted a little randomness to outdoor lighting conditions. Simple, but it reverberates.

Far Cry 2, you could say it's an incredibly complex game, but the laws ruling it are understandable. There are pieces to it, and those pieces, once you understand them, generally allow you to move throughout the greater world with an awareness of a system. I hated that every outpost was aggressive as soon as they spotted me, but that knowledge informed everything else. I knew what happened where and a new location was just another roll of the dice against a system which I understood. It was rolling dice, knowing that one of them was loaded.

This idea of balance across systems is important to us as game developers in every manner. Last week a theoretical physicist pal of mine (yes, bragging that I know one) tweeted about an xkcd comic which stated that Emmy Noether deserved a Nobel prize for her work which, he paraphrased:

@hundun2:"Fact: Emmy Noether deserves to be more famous. http://xkcd.com/896/ #xkcd Einstein's letter to NY Times on her death. http://bit.ly/bzzNKO

Her main contribution to physics was Noether's theorem, which says (roughly) that conservation laws come from symmetries in laws of physics. For example, energy is conserved because the laws of physics do not change over time ("invariant under time translation" in physics-speak). Momentum is conserved because laws of physics don't change depending on where you are ("invariant under space translation").
Noether's theorem is a fundamental result in itself. Also led physicists to look at symmetry as a central concept in physics."

Tell me, have you ever once thought about how the laws of physics don't change over time and space? It's mindblowingly obvious, but super critical.

I've been learning the hard way, don't do too many projects at once, use time efficiently. A good gamer knows how to use space and time in your game efficiently. Are systems utilizing that, or do things run differently here and there and everywhere?

My point today is that I love how straightforward the universe is, and the games that I enjoy function in the same manner. (I didn't talk about W. Wright's games since I assume we all know how they derive from the same concept.) Complexity can arise out of a very simple set of rules, so, as a builder, I strive for that, because then I have an incredibly fluid amount of control over the worlds I create. Fifty rules vs. fifteen, are you in control of your game, or being overrun by a flawed concept that the universe is made up of millions of separate situations?