Today marks the official beginning of a very ambitious project, one that will require an enormous amount of effort and stretch the limits of my creativity. Over the past two weeks I've been dabbling with test projects as proof-of-concepts, and I'm very excited by some of the breakthroughs!
The game will consist of a few key components:
- Silverlight 2.0
The entire game will run in the context of a browser, eliminating any need for software installation beyond the plug-in itself.
- Server-side data
Upon establishing a free account, players can save their character data server-side. Item properties, dialog responses, and some zone-related data will also be server-side.
- Persisted items and achievements
Player will have the ability to create customized items. If an item is truly unique to the world, the player can assign a name to his/her creation (and that name will persist even if other players create the same item later). As the player achieves specific milestones, those accomplishments will be recorded in the world and visible to everyone playing the game.
- Dynamic assembly loading
Everyone will download the initial "core" application/.xap, but during the course of exploration content will be downloaded only on a per-zone basis. This approach greatly reduces the size of the initial download and allows the world to scale out.
That last item is an exciting prospect. Packaging the entire game in a single .xap would severely limit the available content since I'm trying to keep the "core" download as small as possible. After setting up a proof-of-concept yesterday, I've seen it in action and I'm convinced that the sky's the limit!
And now, the tough part: drafting up a feature list and design spec without getting in way over my head.