Aut*_*tAM 11 c++ android mingw android-ndk eclipse-indigo
我一直在为我未来的游戏开发C++游戏引擎运行时环境,并开始将android视为一个平台.我注意到它与Java紧密绑定并大量使用Java VM.
但是否可以在Android NDK中维持完整的C++运行时环境?我没有任何反对Java的东西,如果必须,我准备使用它,但性能是我最关心的问题之一(我打算让我的游戏资源密集),特别是在手机上.
如果可以使用完整的C++环境,我将如何在Eclipse Indigo CDT中实现它?我是否能够提前为Android创建已编译的游戏可执行文件以获得最佳性能?我是否需要在Eclipse中安装任何其他插件?我可以使用MinGW来编译我的游戏,还是需要使用不同的编译器?如果我不得不以某种方式使用Java,那么甚至需要编译C++代码吗?这些都是我想要回答的问题,以便在Eclipse IDE中获得稳定的开发环境.
请知道我对Android开发和一般的多平台编程仍然相当新.我的目标是创建一个能够充分利用新硬件的游戏引擎,特别是在手机上!
感谢您提出的任何建议!
Android 2.3(API 9)中添加的NativeActivity可能是您在仅使用C++编写Android游戏方面所寻求的.http://developer.android.com/reference/android/app/NativeActivity.html
但是,既然你说你是新手,你可能想从一个当前可用的Android游戏引擎开始,而不是立即自己编写.移动设备与其他平台具有非常不同的约束.如果电池在下午中午死亡,手机不是很有用,所以开始一个目标是"资源密集"的项目已经开始了.如果这意味着他们将无法在晚上打电话,很少有人愿意在这里和那里玩游戏20分钟.
如果您的意思是您正在拍摄高端图形,请记住,设备在此区域具有广泛的功能,并且仅针对高端限制您的受众.不同的GPU具有非常不同的策略和性能特征,并且所有GPU都具有光泽或滞后的情况.最成功的手机游戏不是具有最高聚合物或最复杂的灯光着色器的游戏,它们是实现始终如一的平滑帧率并具有独特风格的游戏.
看看Android的一些现有游戏引擎并试用它们.写一些小游戏,带他们去试驾,看看他们做了什么,不要与你想做的事情相提并论.如果你发现自己对可用的东西感觉有限,那就拿走你学到的东西,尝试编写适合你想要制作的游戏类型的自己的引擎.
这里有一些链接可以帮助您入门.这些引擎为Android Market上的一些非常受欢迎的游戏提供支持
http://www.andengine.org/ andengine是用Java编写的,是开源的.
http://unity3d.com/ Unity基于C#和Mono.
http://www.madewithmarmalade.com/ Marmalade,以前的Airplay SDK基于C++.