Jump to content

  • Log In with Google      Sign In   
  • Create Account

After learning basics of C++

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

#1 Sarkurd   Members   -  Reputation: 155


Posted 04 June 2014 - 03:44 PM


i was studying C++ basics for about 6 months now i want to start developing games for Android , IOS and WP

but i don't know where to start and i don't know any other languages except C++

and i saw that none of mobile platforms support C++

i need your advice




#2 Karsten_   Members   -  Reputation: 1499


Posted 04 June 2014 - 04:07 PM

and i saw that none of mobile platforms support C++

They do not advertise very well that they support C++ but the fact of the matter is that they all have to support C++ because they were largely all written in C or C++.


So with Android, have a look at using the NDK (https://developer.android.com/tools/sdk/ndk/index.html). The examples are great and you can generally get started (with OpenGL) directly from the hello-gl2 example project.

If you do not want to use *any* Java in your application, then look towards using the NativeActivity. Personally I much prefer using this simple event driven system rather than all the object-orientated fluff required by typical Android development.


With iOS, you will be using Objective-C++. Most of the documentation is about Objective-C (i.e https://developer.apple.com/library/mac/documentation/cocoa/conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) but frankly it is quite straight forward to apply your C++ knowledge to extend it to Objective-C++. One of the main tricky bits is getting the automatic memory management (RAII) provided by C++ to play nicely with the automatic memory management (Reference counting) provided by Objective-C.


With WP8 / Metro you will be using C++/cx (http://developer.nokia.com/community/wiki/C++_support_from_Windows_Phone_8). This language is very similar to Microsoft's C++/clr compiler and is basically an extension to pure C++ (i.e it also provides ^ and % in place of * and & for managed or WinRuntime references).


Blackberry primarily uses C/C++ anyway (have a look at http://developer.blackberry.com/native/documentation/cascades/getting_started/first_app/create_your_first_core_app.html). I enjoy blackberry development. I found its API to be really clean and well documented. It is really noticable that the API is designed with C++ in mind as being its main applications language. Shame Blackberry is no longer "cool" :/.


Tizen is apparently programmable with both Javascript and C/C++ but I dont know too much about it. Not yet had a project involving it (some docs: https://developer.tizen.org/dev-guide/2.2.1/org.tizen.native.apireference/group__Cplusplus.html).


You may also want a look at Marmalade (https://www.madewithmarmalade.com/) which not only provides the C++ SDK but also an abstraction layer to help write cross platform code for many platforms.


Finally, and I probably do not advise this but you can also use Microsoft C++/clr to script more hobbyist tools like Unity. If you make sure to use the /clr:safe flag, it even works in the restricted WebPlayer environment (Though you also lose a lot of the power and benefits of C++ too).

Edited by Karsten_, 04 June 2014 - 04:23 PM.

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.

#3 Sarkurd   Members   -  Reputation: 155


Posted 04 June 2014 - 04:43 PM

well explained thank you

#4 joew   Crossbones+   -  Reputation: 3555


Posted 04 June 2014 - 06:10 PM

deleted, I misread an above comment :)

Edited by joew, 04 June 2014 - 06:10 PM.

#5 DavitosanX   Members   -  Reputation: 271


Posted 04 June 2014 - 07:13 PM

There would be no harm in learning a new language. General programming concepts you learned for C++ apply for most languages out there.

Starting out in game programming? Me too! Check out my blog, written by a newbie, for the newbies. http://myowngamejourney.blogspot.mx/