Jump to content
  • Advertisement
andriyndev

Mobile Remake a Direct3D 11 C++ application for Android (help me choose a library/engine)

Recommended Posts

Hello everyone!

I want to remake a Direct3D 11 C++ application for Android. I'm not familiar with any engines or libraries on the current time, only with pure Direct3D and OpenGL (including OpenGL ES), but I'm ready to learn one. Which library/engine should I choose? On the current time I'm considering LibGDX for this purpose, but I heard that it's not very suitable for 3D. I was also considering OpenGL ES (with Java) but I think it will be tricky to improve the game in this case (I'm planning to use an animated character, particles in the game). Performance is one of the main requirements to the game. I would also wish to have a possibility to compile the code for iOS or easy remake the code for this platform.

Thanks in advance!

Share this post


Link to post
Share on other sites
Advertisement

If you intend to target iOS also, it seems using an engine that targets both platforms would be preferable to using e.g. Java + OpenGL ES. The latter choice would likely require you to rewrite some or all of your code for iOS, and would also probably be more work than using an existing engine. (You can increase code sharing between iOS and Android by using C/C++, but you'd still have to deal with portability issues that most engines will handle for you.)

I'll also note that Java + OpenGL ES shouldn't limit you in terms of what you can accomplish design-wise, and I'd be surprised if it limited you in terms of performance (unless you're doing something particularly demanding). I think the most compelling reason to pursue other options is probably portability, as discussed above.

As for engines, what springs to mind immediately is LigGDX (I can't comment on its suitability for 3-d other than that it seems to support it), Unity, or one of the Cocos2d branches (not sure off the top of my head what the state of 3-d support is there). I've also seen Godot recommended often, but I don't have any experience with it myself.

Share this post


Link to post
Share on other sites

Recommendations will depend on what exactly the application is, how big it is, what it does, what percentage is graphics / other code etc, application is rather a vague term.

Just as a heads up, there is no need to use much java on android, you can use it just as a thin layer to call your c++ code compiled with NDK, or you may be able to go native completely and have no java code. c++ then is cross platform and you can have an android / PC / iOS build.

Share this post


Link to post
Share on other sites

You can break your programm for 3 parts:

1) Data layer

2) Graphics layer

3) Bisness logic/Scripting/Gameplay layer

Probably you must develop most flexible Data/Graphics Layer. And make your programm crossplatform. Or take an engine (like Unity, NDK, libGDX) and develop from scratch, again.

Share this post


Link to post
Share on other sites
4 hours ago, lawnjelly said:

c++ then is cross platform and you can have an android / PC / iOS build.

Just to clarify for the OP, even if you used C++ primarily or exclusively, you'd still likely need a fair amount of platform-specific code in this scenario.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!