After seeing the Discovery Channel documentary on the making of Spore I’d like to nominate Will Wright for smartest person on earth. He’s the creative genius behind the Sim City franchise, The Sims and now Spore. What can Flash designers, animators & developers learn from Spore? Lots! Frank Gibeau, president of Electronic Arts’ Games, states “What’s so beautiful about Spore is that it’s extremely malleable… you could take it to different platforms, like playstation, Wii, and flash games…” Seriously, Spore in Flash?
Spore’s creators took a great deal of time developing a framework where users can create a wide variety of life-like organisms, vehicles, and planets without designing and animating them individually. Wright says in an interview with Popular Science “The art staff is very unusual in that most of them do some level of programming. The team is unusual in a number of factors because we’re doing this all procedurally…you can easily send anything you’ve made in Spore down to a cellphone, it’s just a matter of reconstituting it at that resolution. Our creatures should be compressible down to about 3K each, and they’re one of the largest pieces of content.”
I’ve got more questions than answers at this point. Is the source available on Google Code? Will all animation and design be procedural in the future? Probably not on either count, but it’s enough to wonder what other procedural components are out there? Flex buttons size to their labels and scrollbars appear when content extends past the viewable area. What about procedurally driven websites? What about the components I’m building for Flash Den? Could I come up with procedural code to write this blog?
Without getting too crazy i’ll briefly describe what they mean by procedural. Instead of making a shirt color midnight blue {shirt.color = ‘#191970′}, you would set the shirt color equal to an equation. For example you could say the shirt color is a combination of it’s base color, ambient light, shadow & perspective. Wright describes this as “voodoo” math. {shirt.color = voodooMath(baseColor, ambientLight, shadow, perspective)}. The result is procedurally generating the color with a very small amount of starting information. In this example the only value you need is the base color of the shirt and everything else would be calculated at runtime.
You can tell that procedural generation is extremely powerful and could be used in a number of ways. Elevate your understanding of this concept and your creations will take on a life of their own, literally.
More on Spore
Will Wright on You Tube
Will Wright Interview with Popular Science




FatCat
September 12th, 2008
hmm.. interesting
personally I like stuff from EA, wow lots of detail to digest.
thanks for the article, Sooner or later someone will
Paul Ferrie
September 13th, 2008
If we could get it on 360 or PS3 then that would be a good start
OXYLUS Flash
September 13th, 2008
I agree, Will Wright work and ideas are revolutionary ! Spore is a great piece of engineering.
Majd Abdulqadir
September 14th, 2008
As an avid gamer, I found your read quite interesting and hopefully it will inspire flash developers to incorporate a “procedural” way of thinking in their desgins and games.
Regarding the game discussed, I would have to say that after experiencing it first hand, I was quite disappointed. Throughout all of the game’s stages there was a feeling of missed potential, and every new feature introduced didn’t provide much complexity and intrigue. Overall the game was fun while it lasted, but it didn’t last long.
As a last note I’d like to introduce you to past gem in gaming history, which people perhaps overlooked. It is a japanese game from Enix released in 1992 which introduces an evolution system similar to spore’s. Check it out here:
http://en.wikipedia.org/wiki/E.V.O.:_Search_for_Eden