Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Hey Guys, i want to make a 2d game. I know C++, C#, javascript.

I want my game to run in a browser so a user doesnt need to run an exe. I want the game to be multiplayer so it needs server communication (and not do it through AJAX or p2p). So what are my options? From what i know unity3d, flash, silverlight and java can run in the browser but can they communicate efficiently to the server? Are there any known problems doing a multiplayer browser 2d game with any of these tech? I hear unity isnt easy/overkill for 2d but i get a language i am familiar with and more power?

share|improve this question
@acid: it is irrelevant that Java is not installed in your machines: it's installed in most. MS can push silverlight as much as they want, but it will still be an optional install on OSX and not even an option on other platforms. Browser-side Unity still requires the user to install its plugin, as it is not installed by default pretty much anywhere (maybe some future versions of Chrome will have it?). – o0'. Nov 17 '10 at 15:01
-1, lots of scattershot questions here. Be specific and have a singular question. – Tetrad Nov 17 '10 at 15:26
Writing the game in raw Javascript with a HTML5 Canvas is an option. There are a few proof of concept games written as such lying around. On all browsers but IE you can use HTML5 WebSockets to connect to servers. – Raynos Nov 17 '10 at 23:46
In order of prevalence, Flash, Java, Silverlight and Unity. Silverlight has great penetration, due to being included in WIndows Update, especially on any kind of gamer system (casual and up). Canvas-capable browsers would be on the lower end, but still most browsers are newer vesions on gamer systems. What to use is a moot point, and Lo'oris is a little off in his warnings. – alphadogg Nov 22 '10 at 19:55
Flash v9 and higher is around 95%. Java v1.6.x is on 70% of systems. Silverlight on 55%. I think it's obvious Unity is likely fourth. – alphadogg Nov 24 '10 at 0:55

If you don't want to worry about people having to install stuff, go with Flash. Otherwise, I'd do Canvas/Javascript with Socket.IO. Canvas works in everything except IE, though excanvas.js adds support to IE7+, albeit a bit slow. Socket.IO works on pretty much anything, so I'd say Canvas is pretty close to matching Flash in ease-of-use, but users may need a better browser, depending on game complexity.

share|improve this answer
+1 although i dont like the idea of using a non statically compile language for a game. I hate runtime errors – acidzombie24 Nov 20 '10 at 16:47
I'm going to try canvas/javascript since its small. unless a friend wants to talk me into learning flash or unity. – acidzombie24 Nov 21 '10 at 1:23
IMO, non-statically compiled languages are better for big projects like games, because you can more easily take pieces out of them and do unit tests and such. With a self-contained Flash object it becomes more difficult to debug condition-specific errors. – Stephen Belanger Nov 21 '10 at 16:32

You might look into WebSockets, especially if you already know JavaScript. Granted you won't see WebSockets supported in IE until IE9 at least, but most other browsers support them already.

share|improve this answer

The penetration of all the above technologies are irrelevant. Most systems, esp. the systems of people who play games from casual and up, are decently up to date wuch that they can handle most. The only issue may be if you want to go "multi-platform" or just Windows.

What you want to look at and worry about is not penetration, but game developer friendliness, which depends on both on any current skills in the project, and the availability of demos/tuts/tools that support the development process on these web platforms.

share|improve this answer
Excellent answer. This is why i asked. I heard unity3d is very nice for development and i heard its hard for 2d. I dont know any of the tech but unity gets a + because i know .NET so that MIGHT help. But i heard flash is easy too. – acidzombie24 Nov 23 '10 at 4:03
Thanks. If you are a .NET dev targeting browsers on the Windows platform, you can't go wrong with either Silverlight or Unity. Unity gives you the additional option of having other targets than the browser too. – alphadogg Nov 23 '10 at 13:38

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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