Devs comparing high-profile engines

  • Thread starter Deleted member 13524
  • Start date
D

Deleted member 13524

Guest
I thought it could be interesting to have a thread where we could gather developer anecdotal experiences comparing game engines.


There's an article up at Kotaku that consists of an unofficial post-mortem on Mass Effect: Andromeda.
Unfortunately, the devs that were interviewed were naturally prohibited to talk about the game, so all quotes are anonymous.

One particular quote I found interesting was this simplified comparison between Unreal Engine 3, Unity and Frostbite:

While describing Frostbite, one top developer on Mass Effect: Andromeda used the analogy of an automobile. Epic’s Unreal Engine, that developer said, is like an SUV, capable of doing lots of things but unable to go at crazy high speeds. The Unity Engine would be a compact car: small, weak, and easy to fit anyplace you’d like. “Frostbite,” the developer said, “is a sports car. Not even a sports car, a Formula 1. When it does something well, it does it extremely well. When it doesn’t do something, it really doesn’t do something.”


I get that DICE evolved Frostbite over the years to be applied on FPS shooting games, so it's only natural it wouldn't be well prepared for RPGs when DA: Inaquisition came up, much less for Andromeda that makes use of very large maps and has exploration as a significant part of its gameplay.
But I wonder if this "when it doesn't do something" statement is actually tangential to all engines or Frostbite is exclusively difficult to expand new features into it.


The speed comparison between Frostbite and Unreal Engine was something that surprised me a bit too. What does a dev mean when he says UE goes as fast as a SUV but Frostbite goes as fast as a F1 car?
I guess it depends on how much this particular dev knows about cars, but a good SUV does 200KM/h quite easily while a F1 hits 300KM/h regularly.
Does this mean a game with the exact same visuals, resolution, etc. using the same hardware that ran at 25ms/frame (40FPS) in Unreal Engine 4 would run ~50% faster, at about 16.7ms/frame (60FPS) in Frostbite?

Or perhaps this varies on IHV? Unreal Engine games typically favor nVidia hardware, or one could just say it runs slow on AMD hardware. Frostbite games tend to show the opposite scenario. Maybe the dev is talking about how the engines compare when running in the AMD-powered PS4Bone (which is where the bulk of the profits end up coming from)?
 
bf1 on Xbox one is a very fluent game. not sure unreal 4 can achieve such efficiency with game of similar scale and image quality. gears of war 4 is subpart technology comparing bf1.
 
That's pretty much right :)

UE4 has lots of features, but none of them can be perfectly optimized for single platform, as UE4 needs to support so wide range of platforms: mobile phones & tablets (ARM CPUs, TBDR GPUs), VR (HFR, stereo view), PC (low end iGPUs & Titan X), Xbox One (GCN2 + ESRAM), PS4, Switch (low end Tegra), movie production (super high quality shaders, non-realtime rendering). It supports both forward and deferred rendering and has both compute and pixel shader based lighting and post processing code paths. UE must support platforms that don't even support compute shaders. Frostbite on the other hand leans highly on async compute (GCN based console roots). Frostbite also does culling using compute shaders instead of CPU (GPU-driven rendering). This results in architecture that is complex to modify and hard to extend. But performance is great.

The custom engine I was developing at RedLynx (http://advances.realtimerendering.c...siggraph2015_combined_final_footer_220dpi.pdf) was closer to Frostbite than generic engines. Custom console centric engines are designed specifically for your own needs. It works well for single game series, and with extra effort also extends to several games with similar needs (but not without extra effort). Frostbite would never support mobile phones and tablets. It needs features that aren't available. Frostbite doesn't run on Switch either (https://www.gamespot.com/articles/fifa-18-for-nintendo-switch-doesnt-run-on-frostbit/1100-6450567/). Maxwell certainly has all the required features, but Switch performance might not hit their minimum requirements. Unreal Engine and Unity support these platforms. Generic engines tend to scale down well, as every effect can be separately disabled. Dedicated engines however don't always support this, as multiple effects are often hard coded to the same shader to reduce the memory roundtrips. Rendering pipeline of custom engines tends to be highly rigid with lots of hand optimizations to extract final bits of performance (pairing shaders for async compute based on GCN characteristics). Also you don't often have multiple different renderers (forward, deferred, etc) to select from based on your game needs (lots of dynamic shadow casting lights vs mostly lightmaps). UE4 and Unity have pretty good support for different kinds of static and dynamic lighting combos.
 
Last edited:
Frostbite on iOS in 2014.
One of many links, making a specific point of leveraging Metal.


Frostbite on iOS in 2014, yes. Probably using 2014's ipad air which had a with dual Cyclone at 1.4GHz, 1GB LPDDR3 RAM and a PowerVR G6430 GPU (rated at ~120 GFLOPs).


And 3 years later, EA Sports decided that the Switch with substantially better specs than the ipad air (4xA57 at 1GHz, 4GB LPDDR4, 160-400 GFLOPs GPU) wouldn't run FIFA 18 in Frostbite.
This could tell us a lot about Frostbite's current (in)ability to scale down effectively.


Moreover, I don't recall ever seeing an actual video of the ipad running Battlefield 4. There were only screenshots of the game apparently running in the tablet, inside a blog post from Frostbite's website that has since been taken down.

It sure looks like this development path of Frostbite in mobile hardware has been abandoned, at least for the time being.
 
Frostbite on iOS in 2014.
One of many links, making a specific point of leveraging Metal.
"Frostbite stressed that this is only a tech demo and won't be released as a full commercial port."

Developer said tha only "parts" of the engine are working. The engine was named "Frostbite Go", so could have had completely different renderer and reduced feature set for example. It's been several years already and no commercial products using Frostbite on iOS.

Metal is also very different to common mobile platforms. In order to do a successful mobile launch, you need to also support OpenGL ES 3.0, which doesn't support compute shaders. OpenGL ES 3.1 does, but only a tiny percentage of Android devices support it. Vulkan could make things better on Android side, but so far the hardware support is very limited. Metal on iOS however is pretty good already. You could port high end console engine to Metal, if supporting only iOS was enough.

But there's also the problem that most phones that support Metal have only 1 GB of memory, since Apple didn't want to spend extra 5$ to double it. AAA quality gaming on 1 GB memory (not all available to your game) isn't going to happen. The demo was running on 2 GB tablet, but you can't realistically release a mobile game that works only on tablets and iPhone 7.
 
Last edited:
Frostbite on iOS in 2014, yes. Probably using 2014's ipad air which had a with dual Cyclone at 1.4GHz, 1GB LPDDR3 RAM and a PowerVR G6430 GPU (rated at ~120 GFLOPs).


And 3 years later, EA Sports decided that the Switch with substantially better specs than the ipad air (4xA57 at 1GHz, 4GB LPDDR4, 160-400 GFLOPs GPU) wouldn't run FIFA 18 in Frostbite.
This could tell us a lot about Frostbite's current (in)ability to scale down.
Could be.
Could also be that it tells us that, at the time of the decision being made for FIFA, EA was quite cautious in their predictions regarding how successful the Switch would be as a platform and made an opportunity cost based decision.

Given the amount of memory available, the GPU feature set, and the API at hand, barring words from the Swedes themselves I'd sooner make the assumption that this was a financial rather than technical decision at the time.
 
Last edited:
Could be.
Could also be that it tells us that, at the time of the decision being made for FIFA, EA was quite cautious in their predictions regarding how successful the Switch would be as a platform and made an opportunity cost based decision.

You're suggesting it would be more expensive/time-spending to downscale the assets and use the same Frostbite engine as the existing PS4Bone than to adapt the engine made for the old PowerPC consoles.

You being right would be just another proof of Frostbite's inability to scale down.
 
You're suggesting it would be more expensive/time-spending to downscale the assets and use the same Frostbite engine as the existing PS4Bone than to adapt the engine made for the old PowerPC consoles.

You being right would be just another proof of Frostbite's inability to scale down.
In a sense, yes.
Or rather relative complexity of porting anywhere, regardless of direction.

For clarity, the difference being that if EA in thefuture given sufficient projected Switch volumes, believes that a Frostbyte based game would do well enough on the Switch to justify it, they will port it. As opposed to being impossible due to any technical limitation.
As I said, barring word from the Engine guys themselves, it's difficult to make the distinction here and now.
 
Last edited:
For clarity, the difference being that if EA in thefuture given sufficient projected Switch volumes, believes that a Frostbyte based game would do well enough on the Switch to justify it, they will port it. As opposed to being impossible due to any technical limitation.
Switch seems to be selling very well. But Wii was also selling very well, and third party Wii games didn't sell as well as they did on Microsoft and Sony consoles. Nintendo console owners have always favored Nintendo games over third party games. There are some exceptions, but games that do traditionally well on Microsoft and Sony consoles might not fare well on Nintendo consoles.

Would be nice to see some Switch game sales estimates. Anyone knows if there's already some numbers out?
 
Back
Top