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

I already know C# and am familiar with XNA.

So it would make sense to develop for the Windows Phone 7, but would it be worth while to learn Java, get familiar with Android, and instead develop for Android devices?

Android has been around longer so it would probably have a larger user base. Is it really worth it to try to develop for one of the more popular mobile platforms. (Windows Phone 7 has been out for like a month?)

I haven't tried either one yet though. I'm also going to buy a phone, so this decision would probably influence the phone that I buy. (to develop/test on)

share|improve this question

closed as not constructive by Byte56, Sean Middleditch, Trevor Powell, Arcane Engineer, sam hocevar Jan 2 '13 at 9:33

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

-1, There are a lot of "which phone should I use" questions. In fact here's one that's almost exactly the same as yours:… – Tetrad Nov 24 '10 at 14:44
That question was asked over a full week ago... things change so fast, it should be asked again!!! – WernerCD Nov 24 '10 at 14:49
Sorry for asking it again. I searched for a similar topic, but I didn't think of searching on the terms of "phone". I'll try to do more extensive searches in the future. – Michael Coleman Nov 24 '10 at 15:53
up vote 13 down vote accepted

I would say try Windows Phone 7.

Couple of reasons I say this, first and foremost, if you are already familiar with C# and XNA then you don't need to use your first couple of projects to simply learn the language even before you start learning the platform. This might only be because I personally am rather lazy, but either way I think it's worth considering.

The bigger reason I would suggest Windows Phone 7 is this, while it's no Apple App Store, the android marketplace still has a whole lot of apps already released onto it, and that is going to make getting yours even noticed, much less popular, very difficult. Since it has been out for such a short time it's very much like getting in at the ground floor, and since you already have at least some of the required experience you can get in early before the marketplace becomes flooded.

That said, I've found a number of limitations in the API at the moment, there's some parts of the hardware that developers don't have access to for whatever reason, so that is something to take into consideration as well.

share|improve this answer
I didn't think of the infancy of the platform as a pro. I could always go back and start developing for Android. I'm still a hobbyist, so hopefully Windows Phone 7 will have an extensive enough API for a simpler 2D game. (like pac man, etc) – Michael Coleman Nov 24 '10 at 15:52

I would say try Android.

If you are already familiar with C# then it's easy to learn Java. There are some differences, but I think you can get comfortable with Java in a few days. On the other hand, XNA and OpenGL ES have different philosophies and you would need to spend time learning OpenGL (although you can get away with using the simpler Canvas class for 2D games). Whether spending time learning a new technology is worth it is a hard question to answer. It takes more time, but the knowledge is applicable beyond just Android as OpenGL (ES) is also available on iPhone and all major desktop operating systems.

There are relatively few applications available for Windows Phone 7 and you can't tell how viable of a platform it will be yet. On the other hand, Android has a growing market share and a wealth of tutorials and documentation to get you started (including the source code for a full 2D platformer). Android marketplace is not as saturated as Apple's App Store, especially when it comes to good games. You are also not limited to one market, there are alternative market applications, and you can event host your Android apps on your website. While Windows Phone has the full backing of Microsoft and a huge marketing campaign, it's still too early to predict its future performance, especially since they target higher end devices and might not directly compete with Android in certain markets. You can see Android market as a middle ground between the more mature iPhone store and the budding WP7 marketplace.

Personally, I'm comfortable with working with Android (and all that talk about fragmentation issues is a bit overrated). I don't have any experience with Windows Phone 7, although I know that you can use XNA to program for it. In the end it depends on whether you want to be an early adapter or not. Nothing stops you from making games for both systems; make an Android game now and then port it to WP7 when it gets popular enough. Try the tutorials on the Android developer site, and see how you like it. You can get pretty far with just using the emulator to try things out without needing to buy an actual device.

share|improve this answer
You can also make applications with WPF and Silver light for Windows Phone 7, or at least I think that. I feel like developing for Android would be the harder route, and I just feel like going down the easier path at the moment. – Michael Coleman Nov 24 '10 at 15:55

On the WP7 side is the ability to easily port the game for xbox360 sales on Xbox live Indie Games and possibly pick up some easy extra cash that way. Visual Studio does the heavy lifting for the port job.

share|improve this answer
+1 There are also simple game engines around that support all three platforms, like FlatRedBall – Oskar Duveborn Nov 24 '10 at 16:24
I didn't know FlatRedBall supported Android development. I'm guessing that's new, but I haven't really used it in a while. – Michael Coleman Nov 24 '10 at 17:40
I meant Windows Phone 7, PC and XBox 360 - not Android. – Oskar Duveborn Dec 30 '10 at 22:23
+1 You'll have even less restriction on those platforms when you port, too, so you can add "enhancements" specific to the platforms if you want. – ChrisC Sep 21 '11 at 18:41

We all can give your our opinions, but in the end, the choice is up to you, i like better Java, and really hate Windows (i'm a Linux guy, didn't notice :) ).

You should just try, the tool that feets better for you, and have more confidence with

share|improve this answer

I´m developing a game for Windows Phone 7, but I have an Android device and I´ll give you my point of view.

If you know C# and XNA, go for Windows Phone, you can jump straight to the game instead of learning the basics again. The marketplace is great for costumers to find stuff and buy. On the other hand you must pass a certification process first, and if you are new to gamedev in general you probably will get frustrated if your game does not pass the cert.

Now, on android, you can upload your game as is. The bad thing, is you must learn android´s architecture (not that difficult) plus some other concepts needed to develop a game. IMHO the marketplace is not as good as WP7´s.

Now, my final answer: if you can buy or borrow a WP7 device, make your game for WP7. If you can have an android, make your game for Android. Testing a game on the emulator will work for the first part of your project, but eventually you´ll need a device to test on.

Microsoft Mexico(where I live) lends devices for short periods of time, but is really hard to go to their offices to get the device. As soon as I finish my game, I´ll port it to android.

Hope the advice helps.

share|improve this answer

I would add two points to keep in consideration:

1) Platform popularity: this is a country-dependent factor. For example, at the present, in the country where I live (Italy) Android it seems to be more popular than WP7. Furthermore, it's difficult to find a WP7 phone at a reasonable price.

2) Platform hardware: on the other hand, WP7 gives you a baseline on hardware performance in which you can rely on. I played a famous race game on WP7 and the experience was amazing. In Android, when you develop a 3d game, you don't know in advance whick kind of hardware your application will run on. It might be a 150 euro phone with a poor hardware, or a 600 euro phone with a great hardware. Since the Android ecosystem is open, you must cope with many different devices. This could be hard to deal with.

Hope this helps.

share|improve this answer

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