Game: XNA/C#/Web Services/SQL or Java Applet?
I am trying to make a gaming website. I'm going to start off small with some basic card games. I am wondering if I should use Java (which I have no expierence with) or C# with XNA. I have a lot more expierence with C#.
If I go the XNA route I was thinking about allowing members to register at my website, download the game and install it. Run the game off of Windows (the game will make sure they are registered at the website) and report game stats back to a SQL database that both the game and website share. I am making card games so they need to be multiplayer. I was told I could achive this by using web services with XNA. The web services atually run the game, and tell the client games what the other person did so the screen can be updated.
I've been told on an MS forum this is possible, but how reliable is it? I know nothing about web services except you can use C# to make them. I was told that .Net Remoting had some limitations when comming to heavy loads and processes that can't be executed quickly. Are web services powerfull enough to handle this sort of load?
If not what else do I use? I dont understand yet how online games work but I know there must be an online hosted program some where that actually runs the game and just updates all the clients on what to do without the computers connecting directly togther.
I also want to have a small chat program with each game. Users HAVE to be able to communicate. Can this chat room be made with web services as well? To allow the different players to talk and harrass each other? The web service would need to be powerfull enough to track tons of rooms in the future, as each instance of the game will have its own chat room. When messages from players of "game 1" are sent they should not be placed in "game 2", "game 3", etc... chat rooms. I also would like to support private chat between players so teammates can type without opponents knowing about it. In the end the chat room may turn out to be a pretty tough load, but not in the first few years.
If anyone knows of any tutorials that will help me please let me know. I am unsure how to use web services with XNA or web services to make a chat program. Any basic examples to get me started would be great!
I need to make the right choices now so I don't pay for it later. I can make a card game for windows, I just need help knowing what to do to pull this all togther so I can make a REAL game that can actually be played by different people, etc. Right now I am getting all these different technologies confused.
Thank you very much for the help. I will try to return the favor if I can.
Edit: I plan on making the web service that runs the game and the web service that runs the chat room into two web services. The client machine will connected to a game and chat web service within the same program, this should help a lot with the load on one service.
Other gaming websites like pogo.com and yahoo.com break the same game down in many different game rooms, with a limit on the number of people that can be in one room. Why is this? Does each room have its own instance of the web service to lighten the extream loads they take on with hearly a half million people playing at once?
My website will not be that huge, maybe few dozen players at once, but I still want something that is going to be powerfull. I want something I can grow into incase things got out of control and get bigger than what I expect.
[3551 byte] By [
DanDandy] at [2007-11-20 9:36:22]

# 1 Re: Game: XNA/C#/Web Services/SQL or Java Applet?
XNA is a good choice for this, but I think the answers from this forum may be biased toward C# technologies. :)
As far as the user downloading, installing, and then playing your games, I would suggest you take a look at "ClickOnce". It would fit well with your website and relieve you (and your users) of having to install software, and maintain updates.
# 2 Re: Game: XNA/C#/Web Services/SQL or Java Applet?
Thanks, but can you please provide a little more info of how XNA is good for this? What about the web services can they handle the loads?
I really need some tutorials or something I've been searching but there are so many I am way too confused and now I'm just stuck.
I don't know what clickonce is but I will try to find it. I need a little more help getting started. I have been programming for about 7 or 8 years on and off, but only as a hobby.
I am looking forward to it. I really want to use C#. I am already use to it. Making a game like this no matter how small is going to be a challange. I don't need to learn Java at the same time.
# 3 Re: Game: XNA/C#/Web Services/SQL or Java Applet?
XNA is is the "successor" to Managed DirectX, So any discussion about using DirectX for games, and it's suitability for such, applies to XNA.
(in other words, XNA is designed for games)
There is alot of information/tutorials online for working with XNA, google returns plenty.
Microsofts own XNA development site is a great resource:
http://creators.xna.com/
As far as ClickOnce goes, its simply a way for users to run your games directly from your website without "installing".
Deploying a ClickOnce app is not much more than pointing the wizard to your website, and building your solution. (A wizard walks you through this)
Video here: http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20040108clickoncejc/manifest.xml
Building a webservice is also a relatively easy task, but, if you are a beginner at all these technologies, tackling them all at once is going to be a bit tough no matter how you approach it.
I'd suggest, starting with XNA, build a small (single-user) game, decide if this platform is right for you. (This is where 80%+ of your coding will be).
Once you are happy with your decision, and comfortable with XNA/DirectX, Adding communication with a webservice from your game should be your next step.
Setting up your website, and the deployment method for your games, comes later (and is the easy part).
# 4 Re: Game: XNA/C#/Web Services/SQL or Java Applet?
I found this click once article. I seen how to do it with C# and it looks easy so I am not going to worry about it right now. Until I have something to deploy. I noticed that the publish tab doesnt appear on some of my widnows projects so I don't understand why some cant be publshed. The article didnt say anything about that.
I will start with XNA I guess and get the game built. I was thinking most of the coding would be in the web services, and planing on how the games would communicate. I've seen that XNA forum that is where I posted before. But there was too much information on there and I was getting confused. Too much animation examples, etc. There was nothing that would show me how to make a basic card game or something similar, only how to make 3D levels.
I found the examples to be really confusing. I didn't understand how they were working. I will look again and see if they have any more basic tutorials.
# 6 Re: Game: XNA/C#/Web Services/SQL or Java Applet?
That card game template uses standard .net controls for display (pictureboxes, etc...), which is only going to work for simple games. But is fine for card games. (This does not use XNA)
The Marblets template here:
http://creators.xna.com/Education/StarterKits.aspx
might be a better starting point.