Android or PC?

Started by
7 comments, last by kruncher 11 years, 11 months ago
Hello, devs!
I've got a rare question. It's not about engines, languages or "How do I make a MMORPG?" but about devices. First, my skills. I know Java and Android. I know C++/SDL too, and a bit OpenGL. Problem is I'm about to start developing an entire game, and I don't know which platform to target.

ANDROID: Revenue is a plus. Android Market is full of indie simple games, and a small development could lead into great visibility. Also, every developer would be very proud to see his game published and get feedback. I would use LibGDX. For the 'cons', there are lots of different devices and I think programming is less friendly than the alternative.

COMPUTER: I would use SFML. Cause I already know C++, it shouldn't be any difficult. I've heard SFML is very easy. There are lots of tutorials through the net, and C++ is heavily used for game programming, so I think I could learn more and have better community support. This time, the 'cons' are that it's almost impossible for a noob game developer to get visibility, so the development would be like a never ending beta, without the massive feedback of the Android platform.

My objective is to learn game programming, and I was wondering if Android/LibGDX is good for learning or I better go the C++ way. If someone knows the two libraries and can tell me which is better for that, I'll appreciate.

(In short, I don't know much more of LibGDX or SFML, so I can't decide which is better for game programming)
Advertisement
You could grab Unity 3D and then you can target both. Well you'd have to pay $400 for the Android license, but otherwise its a pretty good option.
Why not develop for both? Make a PC version and if you like its direction port it to Android or vise-versa. You could always post your PC version here on gamedev.net and you will get feedback it just won't be published on a market. Have you looked into Steam of marketing it on PC?
I can't edit so I'll just double post I guess.

I also wanted to add that if you don't go with Unity, I would chose Android development, since as you've mentioned you can get more exposure for your product.
If you're doing it for money, Android doesn't seem to monetize well compared to iOS, though I'm sure its miles ahead of WinPhone (though that will probably change after a year of Win8 entrenching the Windows Marketplace).

If you do target Android, design for the Kindle fire and Amazon's market -- there are litterally hundreds, or possibly thousands, of different Android devices out there, but more than half of them in the hands of users are Kindle Fires. That's massive pay-off potential for only having to worry about one specific device. I'm not saying to not care about other devices, or being generally-usable on any android device, I'm saying get on the Fire first, and make it the first "first-class citizen". By concentrating there first, you can hit 50% of the market with minimum effort, for example, if a feature wouldn't work on the Fire hardware, plan for it but put it aside until V1.0 is on Amazon's market.

Steam games do very well financially, but the bar is quite high for getting on there. There'll also be the Windows marketplace for Win8, but to get on there you need to embrace the WinRT/Metro app model (which is actually perfectly good for most games and UI-light apps). There's also a few smaller places to sell your PC games, and you could always self-publish, but attracting attention is always a problem.

throw table_exception("(? ???)? ? ???");

Money is not the main reason. As I said, I plan on developing small games by myself or with some friends. Selling the game on any app market it's only a great motivation. My goal is to learn the basics of game programming (Not only learning some API, but programming an entire game and its components).

Developing for both it's a good idea. Also, I could reuse all the sprites, sounds, etc. What I'm confused about is the classic "Where to start?". Is LibGDX (Or any Android lib for game programming) better designed than SFML? Can Java/Android programming lead to get bad habits? C++ seems to be the correct answer cause it has more community support (Tutorials, examples, developers...) but I don't know if I would have any problem by starting game programming with Java on Android (Maybe some lack of tutorials and community help).
I would rather eat one of my testicles than develop for Android again. The platform is mindnumbingly frustrating to support, I had an absolutely abysmal time trying to get code to work across multiple devices. Perhaps NDK development isn't as painful, or things have improved since the Android 2.3 days ( when I last tried direct Android development ).

But now, if I target the Android platform, I do so through a middleware layer, like Unity, Titanium, Mono, etc... so they can deal with the myriad of fragmentation issues.

Also, outside of freemium, not many people are making money on Android.

That's my 2 cents.
I'll try a different approach for giving my 2 cents :)
First, you should come up with a game idea. Then, if that game would play nicely with a touchscreen, go for android. Otherwise PC.

Comparing the development frameworks does not make much sense to me. Both platforms have good tools. I have tried libgdx and it's good. I have not tried SFML but people seem to like it, so it must be good too.
If your objective is to learn game development then I would also recommend Unity. It is a fantastic tool and a joy to use. You can easily port your game to lots of platforms, but yes there is a licensing fee for Android and iOS.

I would get started with the PC/Mac and then port to mobile device when you have come up with something.
Rotorz Limited (http://www.rotorz.com)

Check out our latest game Munchy Bunny!
Editor Tool: Rotorz Tile System (for Unity 3D)

This topic is closed to new replies.

Advertisement