views:

406

answers:

2

I am starting to develop a facebook game using ASP.NET + Silverlight

Which architecture would you use? ASP.NET MVC or MVVM or RIA Services?

ALso what do you think about using XNA with Silversprite?

The game won't be a arcade game. It will be more strategy/RPG.

Thanks a lot in advance.

+3  A: 

If you are developing a game then I doubt you'll have a great deal of the sort of navigation that MVC helps you with. Hence if anything you should be looking at MVVM and even that may not be applicable to game dev, it really does depend on the sort of game you are creating.

It might be worth you considering Silversprite which enables you to use XNA to develop a 2D Sprite based game and then deliver it on silverlight.

AnthonyWJones
So basicly you would use silverlight to do everything (Connecting to Database, Layers, ...) or?
Ben
@Ben: For database I would use WCF-Ria-Services. Not sure what you mean by "Layers"?
AnthonyWJones
I mean it should have a layered structure. A separation of design and business logic.Actually your answer sounds really good. Maybe one note: The game won't be a arcade game. It will be more strategy. So there are no physics involved.
Ben
The game is more a mixture between Tamagotchi and Final Fantasy from the game type of view. It's not gonna be that complex ;-)
Ben
If your app needs duplex communication (e.g., from client to server), my understanding is that RIA Services doesn't support that very well, or at least, not very easily. (See http://forums.silverlight.net/forums/p/151090/338654.aspx#338654.) Otherwise, yes, RIA services seems like a good choice.
Ken Smith
Yeah there definitly has to be some form of communication from client to server....
Ben
+2  A: 

There's no reason you can't use a combination of almost all of those.

  1. Your web application could be an asp.net mvc web app
  2. The silverlight app could be implemented using mvvm
  3. silverlight/server can use ria services for communication

That leaves whether to use silversprite or not ... that really depends on the kind of game. If your game is going to use lots of menus and text, then you might want to avoid silversprite (which is based on xna). However, if you want a more graphical/interactive experience then silversprite is a great choice as it's basically just writing the game with xna.

And then, you could always port your game to windows, xbox360, windows phone 7, and even iphone (via xnatouch) since silverlight is based on XNA ;-)

Joel Martinez