Sonntag, 5. August 2012

Which Game Engine is the best?

Seems like a valid question and it is also a common starting point for rediculous and endless discussions in hundreds of forums where it sometimes even turns into a cat fight. The problem is there doesn't exist "the best" game engine (surprise...surprise), only a game engine that fits your needs "the best". So simply one you prefer, but it doesn't mean everyone else would prefer it too. That could be an in-house engine developed for only one specific project or a comercial one, where you spend the time you saved developing the core engine in adding additional functionality instead of reinventing the wheel. But the biggest benefit you gain is obviously the engine frontend you get for free, which is the weak spot of most in-house game engines. In my case i always prefered CryENGINE (Captain Obvious Rises), but i wouldn't say it is "the best", at least not in discussions. It's the same as saying: "I have the best Mom in the world!". Of course you have, this little planet is full of "the best" Mom's. Isn't that awesome?

"Didn't you see [insert random marketing screenshot] of Engine A? It looks far better than Engine B!"

"Are you serious? The Engine A [insert random marketing video] shows that it looks far better and everything is realtime, same as in Engine B!"


"Of course there exists the best engine! Engine A has Feature Z which Engine B doesn't have! So Engine A is obviously better!"

If you really argue like that and think that it is the right way to discuss what kind of game engine you prefer i feel really sorry for you and i hope you don't work in the games industry and you hopefully never will. First of all saying that one engine is superior over another engine based on a marketing screenshot is like saying those magazine cover girls are looking the exact same while buying stuff in the supermarket. Of course they never had a date with Captain Photoshop. A static scene simply doesn't say anything about the real capabilities of a game engine, which you should know is normally not used for static scenes. Of course you can squeeze the shit out of a game engine to get this fancy looking, marketing fulfilling one screenshot. A bit of Captain Photoshop magic and BAM! The best game engine in the world is born, right? No.

"Ha! So a video makes your argument obsolete! It is not static! It's like playing a game!"


But a video can be "optimized" the same way as you can optimize a screenshot. You don't care about the framerate while recording it, you can enable ridiculously high settings for all of the rendering features your game engine supports (which includes resolutions you could never use in a game). You simply don't care if it in the end renders with 1 frame per second, but you do so while playing a game based on a specific engine. Most of the time you simply render out single frames similar to an offline renderer.

"Ok! But if Engine A has Feature Z which Engine B doesn't have and the rest of the feature list is the same, Engine A is obviously better! No matter what you say."


Ok, let's say Engine A has this awesome new rendering feature and i will tell you a secret: sometimes it is just a different name for an already well known feature... but let's say it is really a cool new feature no other engine has. Imagine this fancy new feature is on the feature list of the engine, even an awesome screenshot / video exists, but do you really know the drawbacks of that feature? Do you know if it is well optimized and works well together with all other rendering features? Or is it limited to a specific way of presenting a scene and can't even be used in all possible ways without cutting your framerate. And even if this fancy feature is super optimized and doesn't really impact your framerate, does it mean this engine is far better just because of it? Nope. Do you know the exact profiling numbers for every rendering feature both engines have in common under the exact same conditions? What if Engine B misses Feature Z for a reason, what if Engine B's Feature X is 5 times faster than Engine A's implementation? Is now Engine B the best? Imagine you don't even need this fancy feature...scary.What if all rendering features are equally fast but it's a pain in the ass to actually create a game with this "graphics demo / benchmark" Engine A? Is it still the best? I guess designers, programmers and artists in the games industry would say: "Hell, no... i don't want to waste my time...", some of you would just say: "Hell, yes! It looks better, that's all that counts...N00b!".

If that would be your answer simply "goto line 1" of this blog post. So maybe the next time you try to fight for the one and only game engine across the internet you should instead just try to present a list of arguments why you prefer a given game engine and listen to people who might have different preferences.

Keine Kommentare:

Kommentar veröffentlichen