With the development of mobile platforms’ software and hardware, more and more games are available for mobile platforms. And other great game engine, such as Unreal, also has mobile versions. Probably it won’t take a long time to see a mobile CryEngine.
Besides hardware and software, another problem is the language used in development. Almost all existing game engines on desktop platform are written in C/C++. If a mobile platform has no C/C++ support, the cost of rewriting the engine will be very high. Now lets have a look at the situation of pure C/C++ support of major mobile platforms.
Symbian
As a tradition style mobile system, Symbian platform supports C++ well. The official Symbian SDK includes Symbian C++. The STL and Boost works well too.
iOS
iOS are hot along with iPhone and iPad. But the SDK provides by Apple officially supports Objective-C only. Since iOS SDK uses gcc tool chain, in fact the gcc can be used to compile C/C++ code directly. And someone has already done like that. It’s said that you can get a C++ SDK from Apple after applying from them.
Another option is to use a third-party SDK, such as DragonFire SDK. It can help you to develop iOS apps on Windows with pure C/C++. No Mac any more.
Android
Android’s “native language” is Java. I have a post “Pure C/C++ development in Android” few days ago talking about the method of utilize NDK to develop pure C/C++ apps. Full STL, RTTI, Boost and many libraries can be used without third-party modified Crystax NDK.
Windows Phone 7
While the previous generation, Windows Mobile, supports C++ well, but the Windows Phone 7 (WP7) officially provides only C# and Sliverlight for development. It’s a pity that it doesn’t support native C++ code yet. Onan Games provides a middleware than can execute C, C++ and Objective-C source code in web browsers, WP7 and Flash. I think it uses some dynamic compilation methods, still not a native solution. I even don’t know if it reaches the speed of a Java virtual machine as well.
MeeGo
Intel and Nokia are working on MeeGo for many years. MeeGo’s kernel is Linux, its SDK‘s native language is C/C++. So no problem here.
Conclusion
Nearly all major mobile platforms can be successfully using pure C/C++ for development currently. Waiting for WP7 to catch up with them.
Comments