Live data from Hacker News

How Unreal Renders a Frame

interplayoflight.wordpress.com

151–160 of 167 posts

Re: How Unreal Renders a Frame

#151
post #57

Earlier quoted context omitted.

Yeah, "low and falling" for both of them. There are only a handful of major engines today and it's been that way for years. Unreal, Unity, Frostbite .... a few games still roll their own but the costs of keeping up are getting extreme. I really doubt the Unreal Engine developers feel abused. For one thing, the release schedules of engines and games are now to some extent disconnected. Games get whatever the engine ca…

Its kind of amazing how Unity forced change on Epic though. In the X360-PS3 era they absolutely _dominated_ the market, the list of games built on UE during that time is insane. However, after that, Unity started to come up as it had much nicer licensing and as a response to that Epic made UE almost free to use for small studios and more palatable for big ones.

In a sense, the amazing thing is that Epic changed. In the past, incumbents didn't, and failed. Today, companies know about this dynamic, and try to adapt and undercut themselves before an upstart can. It takes some steel to let go of all that short-term profit.

Even so, it may be too little too late for Epic. It's straightforward to drop prices, but difficult to change business models, release timeframes, market position in customer's minds, codebase, customer feedback from a new usage.

Re: How Unreal Renders a Frame

#152
post #57

Earlier quoted context omitted.

Yeah, "low and falling" for both of them. There are only a handful of major engines today and it's been that way for years. Unreal, Unity, Frostbite .... a few games still roll their own but the costs of keeping up are getting extreme. I really doubt the Unreal Engine developers feel abused. For one thing, the release schedules of engines and games are now to some extent disconnected. Games get whatever the engine ca…

Its kind of amazing how Unity forced change on Epic though. In the X360-PS3 era they absolutely _dominated_ the market, the list of games built on UE during that time is insane. However, after that, Unity started to come up as it had much nicer licensing and as a response to that Epic made UE almost free to use for small studios and more palatable for big ones.

In a sense, the amazing thing is that Epic actually changed. In the past, incumbents didn't, and failed. Today, companies know about this dynamic, and try to adapt and undercut themselves before an upstart can. It takes some steel to let go of all that short-term profit.

Even so, it may be too little too late for Epic. It's straightforward to drop prices, but difficult to change business models, release timeframes, market position in customer's minds, codebase, customer feedback from a new usage.

Re: How Unreal Renders a Frame

#153

Earlier quoted context omitted.

WebGL isn't trying to be competitive with full blown game engines, is it? For one, game engines normally don't use OpenGL unless they have to. The GL drivers on PC tend to be very weak. High end games target Direct3D on Windows/Xbox and these days are moving to Vulkan/Metal, even on mobile. On Windows the GL driver situation is so bad that Chrome translates GL to Direct3D. This obviously will impose some overhead and…

WebGL isn't trying to be competitive with full blown game engines, is it? Sure it is! Not right now maybe, but the web standards people working on it would love to be a viable platform for AAA games. Every so often they tout a new WebGL port of a well-known game as the harbinger of things to come.

Then why are they implementing an API that's been unpopular for years and is now being phased out entirely (for AAA games)? I think they're more concerned with the politics of it than the technical requirements of that userset. Games are heavy users of driver and card specific extensions for instance. But that'd be at odds with the web's portability commitments.

Re: How Unreal Renders a Frame

#154
post #67

Earlier quoted context omitted.

Yeah, "low and falling" for both of them. There are only a handful of major engines today and it's been that way for years. Unreal, Unity, Frostbite .... a few games still roll their own but the costs of keeping up are getting extreme. I really doubt the Unreal Engine developers feel abused. For one thing, the release schedules of engines and games are now to some extent disconnected. Games get whatever the engine ca…

Whilst this is true for a lot of cases, it doesn't always hold true for companies which consistently release highly profitable games, an example of such company is Travellers Tales in the UK. With their volume sales, the royalties outweigh paying for an internal team to develop the engine (multiple times over). You can check vgchartz to get some idea of their game sales, and if you are particularly inclined, use comp…

It appears Travellers Tales makes almost exclusively Lego games. I doubt those require AAA level game engines. To clarify I was talking about high end 3D graphics.

Re: How Unreal Renders a Frame

#155
post #62

Earlier quoted context omitted.

I don't think Unity forced change on Epic, Unity targeted the nascent indie market very well and was a great replacement for the deprecated XNA. I can't think of a AAA Unity title aside from Microsoft's Recore - which launched with problems at $40. Epic's AAA market ended up with bigger budgets and a demand for more control, so many of them simply created their own engines. So most UE games seem to be big budget indi…

> I don't think Unity forced change on Epic, I know, I know, Correlation does not imply causation. But just from wikipedia: > On March 19, 2014, at the Game Developers Conference, Epic Games released Unreal Engine 4, and all of its tools, features and complete C++ source code, to the development community through a new subscription model. Same year Unity took best engine. > In July 2014, Unity won the "Best Engine" a…

It may be that Unity/Unreal influenced each other but it was hardly reacting to the way the market was going. Many top AAA games are now made with Frostbite which isn't even available publicly at all, it's entirely EA proprietary. If "cheap and open" was such a clear trend Frostbite wouldn't exist.

Re: How Unreal Renders a Frame

#156

I'm a little surprised at how surprised people are here, at how much work is done per frame! Sure, game engines are really complex and impressive, but the same is true of a lot of other kinds of software. If you work on websites, have you thought about how much processing goes on when loading and rendering a page?

Hehe, this is only the rendering part per frame, imagine the AI computations and all other game logic also going , hopefuly within this magically 16ms time =] Game engines in my opinion are some of the most savage pieces of software, pushing performance and really testing programming concepts thoroughly. There's a lot of great knowledge comming from these guys regarding programming in other areas too because they are pushed so hard to make fast fast code. :) love it! i'm every time suprised and amazed at what these engines crank out!

Re: How Unreal Renders a Frame

#157

I'm a little surprised at how surprised people are here, at how much work is done per frame! Sure, game engines are really complex and impressive, but the same is true of a lot of other kinds of software. If you work on websites, have you thought about how much processing goes on when loading and rendering a page?

How much work the parsers, layout engine and renderer have to do in a browser is far more opaque than what a game engine does. For game engines there is a lot of material out there explaining the basic processes and data flows; there are free or open source games and game engines around as well: Unreal engine, used in the article, is free, including full access to the source code. (This is by far the most widely used…

browsers are complex beasts, but they dont need to really go 60+ fps... if a page loads in a second people don't sweat it. if a frame loads in a second, people throw their pc out of a window and rage your company into an early grave ;D

Re: How Unreal Renders a Frame

#158

Earlier quoted context omitted.

WebGL isn't trying to be competitive with full blown game engines, is it? For one, game engines normally don't use OpenGL unless they have to. The GL drivers on PC tend to be very weak. High end games target Direct3D on Windows/Xbox and these days are moving to Vulkan/Metal, even on mobile. On Windows the GL driver situation is so bad that Chrome translates GL to Direct3D. This obviously will impose some overhead and…

WebGL isn't trying to be competitive with full blown game engines, is it? Sure it is! Not right now maybe, but the web standards people working on it would love to be a viable platform for AAA games. Every so often they tout a new WebGL port of a well-known game as the harbinger of things to come.

WebGL makes no sense for AAA titles. How do you even deal with the gigabytes of assets used in those games?

Re: How Unreal Renders a Frame

#159

Earlier quoted context omitted.

How much work the parsers, layout engine and renderer have to do in a browser is far more opaque than what a game engine does. For game engines there is a lot of material out there explaining the basic processes and data flows; there are free or open source games and game engines around as well: Unreal engine, used in the article, is free, including full access to the source code. (This is by far the most widely used…

browsers are complex beasts, but they dont need to really go 60+ fps... if a page loads in a second people don't sweat it. if a frame loads in a second, people throw their pc out of a window and rage your company into an early grave ;D

Browser authors disagree.

Re: How Unreal Renders a Frame

#160

Earlier quoted context omitted.

WebGL isn't trying to be competitive with full blown game engines, is it? Sure it is! Not right now maybe, but the web standards people working on it would love to be a viable platform for AAA games. Every so often they tout a new WebGL port of a well-known game as the harbinger of things to come.

Then why are they implementing an API that's been unpopular for years and is now being phased out entirely (for AAA games)? I think they're more concerned with the politics of it than the technical requirements of that userset. Games are heavy users of driver and card specific extensions for instance. But that'd be at odds with the web's portability commitments.

(I'm mostly playing devil's advocate here, I don't actually think HTML will be suitable for high-end games in the near future. But I think there are decent arguments to be made...)

Then why are they implementing an API that's been unpopular for years and is now being phased out entirely (for AAA games)?

Mobile. They picked OpenGL ES 2.0 for WebGL because it had comprehensively won on mobile. Apple went with ES 2.0 and Android followed. It's taking a long time for the mobile industry to migrate to ES 3 (which would allow WebGL 2) but ES 2 has been a decent stable baseline for a good few years now. That's quite unusual, and very helpful, given how fast-moving everything in tech is.

[Edit to add: ES 2 is based on GL 3, which was the first version to add programmable shaders. That was a huge API change, and an admission that the D3D approach was better. It's barely 10 years old. So any "GL is unpopular" arguments based on the old fixed-function pipeline are a red herring, I think.]

Mobile was and is more important than either desktops or consoles, because the mobile market is huge and growing, while desktops and console are at best stable.

Google came up with a clever technical solution (the ANGLE library) to emulate ES 2.0 on top of Direct3D, so that sidesteps the technical problems of OpenGL on Windows.

Now, for AAA games, desktops and consoles are obviously far more important. I think there are two responses to that:

First, a bet that mobile will gradually catch up and become equally important. There are a lot of factors involved, but on raw technical terms it's not such a bad bet. Mobile hardware iterates very fast, and some mobile CPUs are getting very competitive with desktops (recent iPads and iPhones especially). Sustained performance is an issue, as mobile devices have much stricter thermal limits; but you can put the same mobile SoC in a bigger box, like the TV set-top boxes that Google, Apple, Amazon and others are experimenting with.

Second, there's no reason WebGL 3 couldn't be based on Vulkan. WebGL 2 hasn't even been fully adopted yet, so it would obviously take a number of years to make that happen. Maybe desktops and consoles will have moved on to something newer and better by then, but maybe they won't.

The big question is whether mobile+web is catching up on desktop+console, or if it'll always be a generation or two behind. I think you'd have to be pretty brave to bet against them ever catching up.

I think they're more concerned with the politics of it than the technical requirements of that userset.

I'm sure politics plays into it, but for WebGL specifically, it must have been a pretty easy technical decision. Do you pick the 3D standard used on Windows, or do you pick the lower-end one used by iOS and Android (and can be made to work on Windows)?

You could ask why GL rather than D3D won on mobile in the first place. For that you have to look at Microsoft and ask why Windows Mobile failed (in all its different versions). I don't think you can blame that entirely on politics.

Games are heavy users of driver and card specific extensions for instance. But that'd be at odds with the web's portability commitments.

That's a good point. From a web standards standpoint, it's a very tough conflict to resolve. I think the web people are pushing for common standards. That takes time and it can get very political, but I don't see a better solution. And if they can get it right, portability is a good thing! I don't see why that necessarily means you'll always be behind the curve on performance. A more standardized, portable system can catch up via economies of scale -- it might be easier to learn, have better tooling, a bigger potential market, etc.

Post reply on HN