Newsweek - National News, World News, Health, Technology, Entertainment and more... | Newsweek.com
Full Post
Posted Tuesday, May 27, 2008 11:15 AM

The XML-ization of Videogames, Part II: A Chat With Spore Senior Development Director Eric Todd

N'Gai Croal
 Spore, developed by Maxis and published by Electronic Arts 

Last month, as part of our ongoing obsession with Media Molecule's upcoming Playstation 3 game LittleBigPlanet, we threw out the idea of the developers turning their 2-D prototype Craftworld into a full-on game, while allowing levels to be exchanged between the two games using a common extensible markup language, or XML. We wrote:

Here's how it would work. Media Molecule would produce 2-D Craftworld versions of all of LBP's art assets, each tailored technically and aesthetically to both the the capabilities of the specific platform and the visual style of Craftworld. Marry that to our theoretical Media Molecule Markup Language (MMML for short), and we now have a system by which a level created in LBP could be exported as a small data file to Craftworld and vice versa, just as easily as a Web page can be authored once and read in various browsers....

Games like Echochrome and Spore are, like LBP, partially or entirely built around user-generated content. In the case of Echochrome and Spore, they're also multiplatform, as we're suggesting Media Molecule should do with LBP/Craftworld. Some of those platforms have similar technical specs, like Spore's support for PC and Mac. Others are radically different, as with Echochrome (PS3 and PSP) and Spore (PC, Wii, iPhone, DS). As more developers build games that support user-generated content across multiple asymmetric platforms, it only makes sense to design their file structures in such a way that much, if not all of that user-generated content can be shared across each and every target platform.

Advertisement

At the end of our post, we promised to reach out to the teams behind Echochrome, Spore and LittleBigPlanet to find out how XML-ized each of their titles had become. According to our previous reporting on the upcoming game Spore, we knew that the PC and Mac versions could exchange data, while the owners of the iPhone, mobile phone and DS versions could share only share levels with users of the same specific platform. We conducted an email interview with Spore senior development director Eric Todd to get some more insight into the XML-ization of Spore; here's what he had to say:

Can you explain, in layman's terms, how various types of user-generated content in Spore--creatures, buildings, vehicles, space ships, music, etc.--are translated into small files that can be easily shared among various players?

User-generated content in Spore is shared among our players in small files that are generally less than 20KB in size. However, the final game-ready form of that content can be 1MB or bigger! This is possible because the game-ready content is algorithmically generated based on the information in the small files.

Each of the small files is a recipe that describes how assets that come with the game can be combined to make something new. The assets are things like hands, mouths, wheels, textures, or even animations. When the game creates a game-ready piece of content, the instructions in the recipe are followed and final geometry, textures, animations, and sounds are created as a result. We call this "baking'" because conceptually we take raw materials that come with the game, combine them, run them through a number of optimization processes and after a while, something interesting pops out the other end.

For example, when a player is creating a creature in the creature editor, they take actions that can be boiled down to statements like "elongate the spine by 10 percent," "bend the spine upward," "put legs on the creature," "bend the knees outward," "paint the skin of the creature in purple scales, with little warts all over." The recipes that are shared between players consists of these kind of statements. When we need to view a creature in the game, we assemble the skin of the creature per the recipe, stitch on the parts, pose the creature, go through the process of painting the creature’s skin, and so forth. Each of these steps are usually done on-the-fly, in the background, as the player is playing. After a few seconds, the final content is ready and the game can display it in the world. This is different from most other games in that most games have the final assets on the DVD and display them directly in the game, with little modification. The fact that we build them on-demand allows for a much wider range of content in the game than is usual.

Is Spore file-compatible across all platforms? Is that being considered for future iterations?

The recipes are essentially a binary form of XML and are not tied to any particular platform. What’s more at question is whether a platform has the raw assets and processing power necessary to bake out a final asset based on the recipe. A cell phone, for example, can’t hold all the parts, textures and animations that come with the desktop version of Spore, so it can’t display things the same way as we see them on Spore PC. At the same time, it is possible for a cell phone game to display a simplified version of the recipe, where simpler raw assets are used and some of the steps of the recipe are skipped. This is not something we’ve implemented for the current version of Spore for the cell phone, but it’s something we’ve considered and will consider in the future. The same applies for the DS version of Spore.

Which versions of the game are file-compatible with regard to user-generated content? We already know that user-generated content created on the Windows version of Spore can be shared with players on Macs, and vice versa? But what about Macs and mobile phones; PCs and DS's. etc?

The Mac and the PC version of Spore are functionally identical; they will run (literally) the same executable and will point at the same content sharing (aka pollination) servers. Neither the Mac nor the PC version are currently set up to share content with the DS or mobile phone, but this is something that is feasible and that we will consider in the future.

***

Verdict: Pretty darn XML, but Spore still has a ways to go to fully live up to our share-and-share-alike dreams.

To read our Q&A with Echochrome associate producer Kumi Yuasa on XML and games, click here.

You must be a registered user to comment.  Click here to register.  Already a user?  Click here to login.

Member Comments

Posted By: supergg2k (May 30, 2008 at 12:37 PM)

@Absolut - There are going to be trade offs. You may not have the same features on a handheld that you would on a PC. For example, you could edit your monster's color on a handheld but not polka dots. Or a better example would be putting a custom texture/bitmap on an object on the PC but not having that look carryover to a handheld.

Features would be very difficult to make consistent across systems, XML data by design makes it easier to provide consistency and portability.


Posted By: Absolut (May 29, 2008 at 4:54 PM)

Interesting article. I'd love to see more of this cross-platform interoperability in games, yet I see 2 major problems with creating a DS/Mobile version of Spore that uses the same XML for characters as the PC versions.

1. If the mobile version isn't as capable, how do you edit a creature that was created on a more advanced environment, and still preserve it's detail? If a creature on PC was textured, but the DS only supports single colored parts, would it save the approximation after you edited, or would it try to preserve some of the original data? If I end up making a Green Spotted Lizard, and then on the DS it turns into a green lizard, if I add fangs on the DS then bring it back to the PC, will it be a green spotted lizard with fangs, or a green lizard with fangs, as I saw on my DS?

2. If Spore gets updated, via expansion packs or downloadable content (and we know Will Wright loves expansion packs), this creates a requirement that any character created with any of the new parts from the expansions will not be compatible with the mobile versions.


Posted By: nevelator (May 29, 2008 at 10:36 AM)

So it all boils down to space and processing contrstaints on the portable devices.  If there was a way of using an 'asset hierarchy' where the more sophisticated machines would have a full set of assets for a given hierarchy and the mobile devices have a cut down version.  The XML descriptors may be sharable amongst different platforms easier.

At this point in time nobody is expecting a mobile/portable game to look the same as a console one.