Jump to content

  • Log In with Google      Sign In   
  • Create Account

Objective C + Java + XNA Vs C++


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
7 replies to this topic

#1 kerosennin   Members   -  Reputation: 104

Like
0Likes
Like

Posted 27 May 2013 - 05:02 AM

Me and my friend are interested in mobile gaming. We had released few small flash games before. Before diving into mobile platforms, I would like to know the choice of programming languages. We want to develop for iOS, Android and Windows phone. Which of the following solution will be ideal for developing?

1) Using XNA for Windows phone, Objective C for iphone, Java for Android

2) C++ for all platforms

 

We gonna develop 2D games only. We need to use APIs like Admob and other hi score APIs. Can they be accessed using C++ native calls? Will it take more time using C++ than separate languages for each platform? Please tell the advantages and pitfalls in both. Thank you

 

 

 



Sponsor:

#2 kunos   Crossbones+   -  Reputation: 2207

Like
0Likes
Like

Posted 27 May 2013 - 05:18 AM

Monogame will take you on all of those, in C#... of course there is a price tag on the iOS and Android versions.

Same with Unity.

 

C++ could be the solution that will allow to share more code among platforms.

 

I think rewriting the project 3 times in 3 languages is just silly.


Stefano Casillo
Lead Programmer
TWITTER: @KunosStefano
AssettoCorsa - netKar PRO - Kunos Simulazioni

#3 Zaoshi Kaba   Crossbones+   -  Reputation: 4591

Like
0Likes
Like

Posted 27 May 2013 - 05:54 AM

My friend writes code in C++, they use Java & ObjectiveC wrapper to load C++ program on Android and iOS, however he ended up rewriting it for Metro.



#4 HyperV   Members   -  Reputation: 873

Like
1Likes
Like

Posted 27 May 2013 - 07:57 AM

you can use C++ but you will write 10x more code then using a Game Engine that can be Cross-Platform like Unity

 

i heard that you can build games free for Android and iOS
 

i have here a link with all the mobile game engines

you can use C++ ,  it actually depends on your experience , you told us that you've used AS (ActionScript) that is High Level.

C++ is Low Level and every project you're making you have to optimize it for you device.

you can create a framework that can call the Files to create a cross-platform game.

and besides creating a cross platform game in C++ you also need experience in DirectX (Windows Phone 8) and OpenGL ES (Android , iOS)

 

 

my advice is if you have the experience in C++ , try it why the hell not

if you don't have the experience ? Do Not use C++,  use Unity it's easier and faster to create a game same as flash by using Adobe Air biggrin.png 

or you can use HTML5.

 

i hope you can do something with the information i gave you.

P.S XNA is a framework not a language :D


 



#5 Dawoodoz   Members   -  Reputation: 331

Like
0Likes
Like

Posted 27 May 2013 - 08:26 AM

Java is still fast enough by being JIT compiled for your processor and having a memory manager on top of the operating system.

Java's biggest bottle neck is that it only support object orientation so that functional programming look messy.

Java also have a lot of obsoleted things in the framework for backward compability.

For a beginner allocating and destroying many objects, Java will give you a more efficient code by not fragmenting the memory since C++ assume that you write your own memory manager.

 

C++ is multi paradigm, have many libraries supporting it natively, don't require JVM to run and the language is very flexible.

C++ is very hard to debug if you get pointer errors that randomly write to the wrong memory locations.

For a beginner that use table driven programming C++ can be made quite safe if you use references instead of pointers, don't use C-style casting and always check array bounds.


My open source DirectX 10/11 graphics engine. https://sites.google.com/site/dawoodoz

"My design pattern is the simplest to understand. Everyone else is just too stupid to understand it."


#6 kerosennin   Members   -  Reputation: 104

Like
0Likes
Like

Posted 27 May 2013 - 09:24 AM

Thank you everyone. I feel C++ is a better option for us as we know it already. smile.png



#7 SimonForsman   Crossbones+   -  Reputation: 6306

Like
1Likes
Like

Posted 27 May 2013 - 09:31 AM

Monogame will take you on all of those, in C#... of course there is a price tag on the iOS and Android versions.

Same with Unity.

 

C++ could be the solution that will allow to share more code among platforms.

 

I think rewriting the project 3 times in 3 languages is just silly.

 

Unity just gave away the mobile versions for free so unless you need the pro features or have a turnover above $100k allready it is a fairly decent option for mobile development, especially for 2D games since the limitations on the free version of Unity don't really matter for those.


I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#8 frob   Moderators   -  Reputation: 22732

Like
0Likes
Like

Posted 27 May 2013 - 11:05 AM

If your heart really is set on C++, I'd go with an existing set of libraries like Marmalade or Dragonfire.

If none of those, Cocos2d-x and LibGDX are both free and cross platform, in C++ and Java respectively.

If your goal is to make a game rather than building your own engine, go with Unity. As was just mentioned, Unity for Android and iOS now follows the same basic pricing as their PC version. As long as your annual sales are under 100,000 you don't need to pay them, and if you do have that much in annual sales the cost is pretty reasonable.

Check out my book, Game Development with Unity, aimed at beginners who want to build fun games fast.

Also check out my personal website at bryanwagstaff.com, where I write about assorted stuff.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS