Game Mashups

Microsoft XNA Community @ Joystiq…

Pretty radical stuff. Looks like this is toward “original user-generated content”, but I wonder this community edition of XNA will be an analog for the level/content editors present in many modern games, as pioneered by Counter-Strike which is more “additive user-generated content”. Will big content publishers be able to use this tool as their editor? One could imagine using this tool to develop “add-in” content for larger games (e.g. my own Halo weapons/levels/etc.) Similar to how VS 2005 works, large developers could develop template project types such as “Halo Vehicle”, “Halo Weapon”, etc.

It would be incredibly cool and compelling to have a “game” that provides a common universe for Xbox Live (or whatever distribution mechanism) leveraging this tool (or similar) as an easy way for independent developers to extend this universe with object, gameplay, situational, and thematic content. Kind of like second life only your character (a shared service to the game) would have continuity through different entertainment, gameplay, and social (second life focuses on the social at this point) experiences. Something like this would be great for mixing genres within one theme.

Probably a bad example due to scale, but think mashing-up a RTS with a FPS. When I move my infantry to this location a game lobby opens up for FPS players to join up and resolve that situation. Later, after the game, the strategist (me) and the tacticians (FPS players) enjoy a beer at the pub (social experience): all in the same universe. There’s definately a big-content role in here as the continuity is driven by the theme of the universe…

CAB Podcast

The Power of WorkItems, Events, and Services
A good podcast. I found to be useful in deciding when to use events vs. services. In our shop, we pretty much use the WorkItem as a use case - something Peter Provost cautions against.
We’ve described a bunch of abstract WorkItem base classes kind of organized around feature-types. So we have a SearchWorkItem that a developer inherits to implement a search feature. The workitem contains the feature-level data (overriden abstract properties) such as display name, key, etc. Generally these WorkItems are only responsible for controlling the display (e.g. putting a view in the Items collection) and holding the state.
We try to put all business logic into CAB Services which are called by the various View Controllers (we use MVC).