What is an appropriate OpenGL(ES)-based game engine meeting these criteria?

| | August 11, 2015

I want to try my hands on a little shooter on the Android platform, and I’m looking for a full-featured 3D game engine. I can’t afford to pay more than 400 € for a license, so expensive engines are excluded from the start.

These are my requirements:

  • The engine has to have good level editor (able to place entities, actors and triggers); so “graphics engines” like Irrlicht and Horde 3D aren’t what I’m looking for.
  • The engine should be based on OpenGL Core and use shaders rather than the fixed function pipeline.
  • It shouldn’t use octrees and BSP/PVS.
  • It needs to have decent occlusion culling because I need good frame rates on not-very-powerful graphics cards.
  • It should come with source code.

I like Horde 3D very, very much and I like it’s smart design, rendering capabilities and compactness. Sadly, I can’t use it due to the lack of tools.

So far I’ve come across Torque 3D, C4 engine, Shiva 3D, and Unity 3D.

  • Torque 3D is really nice, decent design, has good tools, good performance, it’s really cheap and comes with source code. Sadly it’s only DirectX for now.

  • Unity has a lot of features, decent performance and tools, runs on Android but they don’t give source code within my price range.

  • C4 is good enough, has tools, and source code but there’s a catch. While you have source code the source isn’t ported to Android and the engine’s owner expressly forbids anyone to port source code on other platforms or to release a game on not officially supported platforms.

  • Shiva 3D seems nice, too, supports Android, has tools but they don’t give you source code license for a decent sum.

That’s all I could find. I used the list on devmaster.net, I searched this site, I’ve searched gamedev.net, gamasutra, polycount.com and of course Google and Bing.

Any suggestions that could help me?

2 Responses to “What is an appropriate OpenGL(ES)-based game engine meeting these criteria?”

  1. The engine has to be based solely on OpenGL Core and shaders.

    Well, that’s just not going to happen. Shaders, yes. OpenGL 3.2+ core profile? No.

    There is no engine on the market that works against the core profile of OpenGL. None. All of them use some of the removed functionality to some degree, even if it’s just GL_QUADS. All of them.

    There is no need for the core profile requirement anyway. Especially since you’re making a game for Android, which does not support OpenGL at all.

    It supports OpenGL ES, which is not the same thing as desktop OpenGL. ES has no concept of profiles at all, let alone a core profile. Furthermore, you can’t just take a desktop-based OpenGL engine and throw it onto OpenGL ES 2.0 and expect it to work. That will involve porting, which (given the significant differences between desktop GL and GL ES) will involve quite a bit of work.

    Therefore, you should be looking at engines that have OpenGL ES support.

    No BSP/PVS, octrees. I need some decent frame rates on not very powerful graphic chipsets, so I need some decent occlusion culling.

    Quake 1 used BSPs, and it ran just fine on GPUs that are inferior in every way compared to anything that implements OpenGL ES 2.0. Also, what is not “decent occlusion culling” about BSPs or portal systems?

    You seem to have some misinformed ideas about what are good ideas and bad ones.

  2. If you are fine with it being 2D, the slick engine can be ported to android. It’s not an engine as per say, but still high level.
    If you don’t mind not having the high level stuff, you can code directly using LWJGL and implement into your game. However I’m not to sure how well that would port.

Leave a Reply