I'm going to develop a strategy browser-based game with ASP.NET MVC and SQL Server.

However, as I explored the web to get some ideas and patterns from existing games, I found out that none of them developed by .NET tools.

So, it made a question for me that what's the reason behind this...:

1) Is there any big draw back for microsoft technologies in this area?

2) Why all of games in this field are developed with PHP & (maybe1?) MySql?

3) Is there any performance issue with above mentioned microsoft technologies in this area?

Thanks in advance

  • 2
    \$\begingroup\$ Saying that all of the games are developed with PHP and MySQL is quite the generalization. I do not think there is an actual answer to this question. For what it's worth, both ASP .NET and PHP can help you see your game through development and both have advantages and drawbacks. \$\endgroup\$ – user15805 Aug 9 '13 at 17:19
  • 1
    \$\begingroup\$ Your questions are a bit too open ended to be reasonably answered. You should edit your question to narrow the scope. 1) The drawbacks and their importance, depend on how you're using the software and how it aligns with your requirements. 2) As Alex says, that's a pretty big generalization, and difficult to answer, since we don't know for sure why someone decided to use X instead of Y. 3) Again, this depends on how you're using it, how well you implement your functionality and what kind of performance you require. \$\endgroup\$ – MichaelHouse Aug 9 '13 at 17:33
  • \$\begingroup\$ I'm voting to close for a combination of what-tech-to-use and not-gamedev specific. For a browser game, the details of the web server that sends and records data are almost irrelevant. Anything that provides a data service will do, all equally well. The point of data over http is that the source doesn't matter. And likewise, storing data on a server is not a game dev question. The data structure and logic...maybe. But not the operating environment. \$\endgroup\$ – Seth Battin Aug 10 '13 at 4:07
  • 1
    \$\begingroup\$ @SethBattin Actually, if you look at the gorilla vs. shark article blog.stackoverflow.com/2011/08/gorilla-vs-shark which lists all the good reasons for not allowing technology choice questions I don't see a single one of them really being relevant to this question. 1: OP did in fact need to know if there is anything holding ASP.NET back. 2: The playing field in this case is games, it could have been narrowed further, but it still does allow a reasonably concrete debate. 3: It doesn't seem to be a lesser resource for learning than a lot of other questions. \$\endgroup\$ – aaaaaaaaaaaa Aug 11 '13 at 9:11
  • 1
    \$\begingroup\$ 4: Of course we need to limit the amount of technology questions, but that seems to be reasonably handled by the duplicate questions rule. The next PHP vs. ASP.NET question we get can probably be closed as a duplicate of this one. \$\endgroup\$ – aaaaaaaaaaaa Aug 11 '13 at 9:16
  1. There are some differences between ASP.NET and PHP, mostly they suit different programming styles. The both use a similar request/response pattern designed for generating old school web pages. They seem about equally useful.

  2. I think the trends have more to do with market powers than technical differences, until a few years ago you couldn't get a good free software stack for ASP.NET, so hobbyists mostly went with PHP.

  3. Both ASP.NET and PHP are geared towards treating each incoming request as a separate entity. If you want to share data between the processing of different requests you are more or less forced to do so through a database, and that can be a huge bottleneck.

  4. What tool you actually should use? Well I'm glad you asked. Node.js provide easy to use http server functionality without making any assumptions on what threading structure you would like to use or how you want to share data internally. For a basic website the setup is a bit more complicated than PHP or ASP.NET, but for a game server you'll be rid of a lot of stupid constrictions. Send whatever data needs to persist in case of a crash to the database, keep everything else in process memory.

| improve this answer | |
  • 1
    \$\begingroup\$ Just to add a bit, if you choose the ASP.NET approach, look into SignalR, it allows you to keep things in memory and not have that constant DB appoach you mentioned in this answer. Instead, you only query the DB at certain key points (ie: start/end of battle and not every round of it). Similar to node. asp.net/signalr \$\endgroup\$ – JClaspill Aug 12 '13 at 16:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.