Advertisement

Game Engine success question.

Started by May 25, 2016 07:48 AM
3 comments, last by Gian-Reto 8 years, 8 months ago

Basic question - What is success formula of game engines?
Explanation - recently I bought new DOOM and it runs on 40 fps on lowest quality on my AMD FX 8320 4.2 ghz and AMD 7870 HD, but also I have Battlefield 4 which runs on 60+ high/ultra settings BUT frostbite have 64 players online open air with vehicle with awesome lightning and shadows game and IDs DOOM indoor awful realtime texture loader peace of crap and singleplayer, where monsters kills themselves all the time( yes when I approach they shooting in they teammates wtf)) ).
But ID had John Carmack and DICE have (just EA money?) no one so cool as John (am I write?).
So why so big difference between this to commercial engines?
Thanks

Monsters killing themselves is an (awesome) feature btw, not a bug, and really has nothing to do with the graphics engine. :)

Aside from that, I think new DOOM looks awesome, and plays very smoothly on my machine(then again I do have a 980GTX).

Also, Carmack left Id and didn't have much to do with id tech 6 AFAIK. Also, he's not a deity, he's a very influential programmer, but there are other people that are very good in their jobs too.

But anyway, different engines do different things better or worse...and I'd say it's all about how many good developers can you afford, how much time and resources they are given, etc etc...It is even possible DOOM runs in sub-60fps on your machine because you have AMD or just unlucky. PC gaming is complicated like that. From what I've heard, it looks and plays smooth as butter in PS4.

Advertisement
I believe it has to do with several things:

- with what goal was the engine created?
- balance between performance and graphics "quality"
- target group and platform(s)
- resources and more resources :)

With the holy goal above: making as much money as possible

Crealysm game & engine development: http://www.crealysm.com

Looking for a passionate, disciplined and structured producer? PM me

You're also, I think, placing far too much emphasis on the "engine" as being the crux of the "success" of the games. But that's not really true; you can make two games on the same engine and one of those can exhibit all the "problems" you described while another will not. There's a lot more that goes into the production of the game's own systems and content that can factor into the quality of the resulting product. It's not just about the engine.

Most of it is down to optimization.

Maybe the artists and tech artists for BF did optimize meshes better? Maybe better Level of Detail? This has nothing to do with the engine (apart of the engine needing to support certain optimization techniques, like instancing).

There is a ton more options to optimize. Maybe the AI system uses less CPU in BF? Especially in Multiplayer, there is NO AI. Maybe there is simpler and more performant physics in BF?

Then today you can offload quite a lot of calculations to the server. I case of multiplayer games, you will HAVE to do that (while the synchronization code will maybe take up the freed CPU time... or not)... doesn't mean a multiplayer game runs faster because of that. But its comparing apples to oranges.

Then the big question is: where is your bottleneck? You could try to find out if you GPU is overloaded or if its actually dwiddling its thumb because the CPU is overloaded.

Given that the CPU you have is pretty crap for singlethreaded use, maybe DOOM is not as well threaded? If both games use a lot of CPU, but BF can use more cores (because the game and the engine have been written to use more threads), maybe DOOM is completl overloading the threads it can use (2 threads? 3? 4?), while BF runs fine because it can spread the same workload over more threads.

Always remember, an AMD FX CPU is ONLY up to modern Intel CPU speeds if it can use more than 4 of its "cores" (because of the module architecture, its not a full core) for the given workload.

Then your GPU.... this is some generations old by now. Given the AMD GCN architecture aged better than Nvidias Kepler architecture (though I am still pretty happy with my GTX 670, haven't had to turn down settings until now), this mean by todays standards your graphics card has low midrange performance, at best. Having to turn down some settings in the newest titles is pretty much expected, even in 1080p.

And that brings us to the next "comparing apples to oranges" thing. You say doom looks like crap, while BF looks great. Well, that is subjective. BF4 is some years old by now. Doom is brand new. There is a high chance Doom comes with some cutting edge postprocessing options, has cranked up the poly count and whatnot.

Some of these effects might even destroy the GPU performance for no real visual gain (Crysis 3 and their lazy implementation of tesselation comes to mind.... yes, lets tesselate flat surfaces without any displacement).

Some of the effects might be so new your old card is just not optimized for it. While newer cards, even with the same theoretical raw power, can process the same effect way faster thanks to small architectural tweaks.

Much like your card has WAY more tesselation power (that was still the fad of the day back when it came out) compared to the old 5870 I possesed some time ago. While the raw power wasn't that much higher (2x maybe?), DX11 tesselation tests (that was a thing back then, as said, fad of the day) have shown WAY more improvements (5x? 10x? Don't know anymore)...

Which means games not using Tesselation would should a mild jump in performance when running in DX11 on the newer card... while a game using lots of tesselation would show a dramatic increase in performance (and on the other hand, might be optimized for the newer card, thus run like crap on the old card unless tesselation is turned off).

Last thing to keep in mind is lighting. Lighting has a dramatic effect on frame rate. You can bake lighting, which relieves the GPU of a lot of calculations. You can have a single dynamic light (if you need a day/night cycle), and no other lights.

Some games might need a ton of lights (indoor, night levels)... there are many ways to optimize that, but they all come with drawbacks.

Given what I have seen from BF, its a pretty standart outdoor setup (one light, no day/night cycle).... light is most probably baked, using a forward renderer (less overhead, but more costly for multiple lights).

Doom looks pretty dark, with a ton of lights spread around the level... certainly part of it is baked, but there are screenshot where you see enemies with parts of their bodies being emitting light. Again, there is a ton of ways to fake light emission, but they again all come with drawbacks. So maybe these characters ARE using real lights? In this case, because they are moving, these cannot be baked.

There is a special renderer for that, deferred. But while it makes using many lights cheaper, it has a larger overhead. Which would the same game perform worse, given the forward renderer is not overloaded with tons of dynamic lights.

So instead of just eyeballing it, maybe test where your bottleneck lies (there are tools to do that). If the bottleneck is on the CPU, and most CPU time is NOT spent on graphics (preparing data for the GPU), turning down graphics settings will most probably not help you (much), your bad framerate is caused by something else.

Have a look at the data the GPU is churning instead of trying to rate graphics by how it looks. Probably DOOM has way more polygons per frame, more expensive lighting and shaders. That alone will not make the game look better (good lighting can, but artists can make any game look good), but the performance cost is still there no matter what the artists do with these additional polygons and lights.

This topic is closed to new replies.

Advertisement