Easy to use 3D graphics engine for a simple game?

There are tons of lists of 3D graphics engines, but my needs are a bit limited, and I can’t solve one myself.

I'm going to start work on a fairly simple ( C ++ ) game that realistically simulates the motion of a spaceship in the solar system. As you might have guessed, the required graphics are very simple :

  • Planets are simply spheres with textures;
  • The spacecraft has few or no moving parts (only rotation and translation);
  • I may need some lighting / animation effects to make it pretty.

Celestia is aesthetically very close to what I think.

Now the problem is that so far I have used C ++ for scientific simulations, and I have no experience at all in graphical interfaces and games in general. In addition, I don’t want to spend months learning how to use a complex engine.

My question is: which engine is easy to learn and use, while still producing beautiful graphics? I am looking for the best balance.

As far as I can tell, the three most recommended OSS engines are Ogre3D, Irrlicht, and Crystal Space 3D. Comparing a few YouTube videos, Crystal Space's graphics look best, but they seem a bit messy. It is said that Irrlicht is lighter, but for me it also looks worse in terms of graphic results. Ogre3D looks good, but I do not know how convenient it is for beginners.

I would be very grateful for the suggestions!

+4
source share
2 answers

I like Panda3D for quickly rendering simple scenes. It has both C ++ and Python APIs and provides many useful utility types (animation, simple conflict detection, etc.), which should make writing your game easier.

The aesthetic appeal of the graphics made will be a factor in your own artistic quality; the engine only displays what you give it, and the function lists (shaders, stage controls, etc.) are similar to various open source engines. I don't think YouTube videos are a good way to compare.

You have to make a decision about what you personally like to work with, since the time spent on creating a more complicated / complex engine does what you want, most likely it is better to spend on improving the game.

Kerrek is true that none of them are really easy to use.

+4
source

Unity 3D has become extremely popular over the last couple of years and is by far the easiest to use engine that I know of.

I don’t really trust “game engines” at all, because they are almost always poorly written, difficult to use and impossible. This is just not a good metaphor for "everything you need when writing a game."

But from what I saw, Unity actually removes this. I think why it is so popular.

However, its API is intended for use through Mono, so while you support all supported languages ​​(I believe Unity recommends using Javascript, but C # is a pretty popular choice), I don’t think it supports C ++ directly.

The question is, do you really need your game to write in C ++?

But no matter which route you choose, make sure that the graphics engine that you choose is actually used in real games. In principle, the test of the litmus test for any engine (and one that I'm not entirely sure that any of the options you listed is true) is that it can be used to create a reasonable game. This is why there is advice like this . When you write an “engine”, it’s very easy to get distracted by writing the engine code for yourself, resulting in a huge structure of various functions that was never actually used in the game, and therefore when someone tries to do this, it falls apart. It works horribly or hard to use and does not have important functionality.

So, scratch any engine that does not have a full game. Not a graphic demonstration, but a game. Regardless of whether the big commercial game was an AAA or an indie game or some kind of hobby project by someone who is familiar with the engine, it is important that someone made a game with him and that the game looks convincing to you, as a showcase for an engine.

+2
source

All Articles