Live data from Hacker News

How Unreal Renders a Frame

interplayoflight.wordpress.com

61–70 of 167 posts

Re: How Unreal Renders a Frame

#61

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…

We might also include engine component suppliers, such as Speed Tree, Physix, and (whoever makes) Bink Video.

Bink is made by the awesome Rad Game Tools. They have some really good engineers on their payroll (ryg, cbloom) and they're consistently churning out cool things :)

(Disclaimer: Not affiliated, but I enjoy reading their developer's blogs)

Re: How Unreal Renders a Frame

#62
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.

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 indie titles (Obduction, PUBG, Psychonauts 2) or tight budget AAA titles (Street Fighter V, Shenmue III)

Re: How Unreal Renders a Frame

#63
post #38
post #8

Earlier quoted context omitted.

Yes, and more. You’ve also got a rigid body (physics) simulation, ai/pathfinding, animation, networking, audio and gameplay logic all to run. If you’re making an open world game, you also need to have streaming code to load and unload parts of the game on the fly. It doesn’t always happen at 60hz (which is 16ms total processing time for all the above plus what’s in the post). Some games run at 30hz(33ms), some run un…

I'm curious how you would relate in-browser WebGL performance vs. performance of native software such as Unreal. Is running it in a browser 10x worse? or 100x?

It's not going to be a simple constant factor. The ideal case will be the same - ultimately the CPU is doing the same work (so provided the JIT picks it up correctly it'll be executing the same instructions) and the GPU is running literally the same shaders, so performance should be identical. It's more a question of how much work you have to do to hit that happy path, and what edge cases pull you off it.

Re: How Unreal Renders a Frame

#64

Earlier quoted context omitted.

> in the game industry there is no guaranteed reward at the end of the development cycle The same is true for any product industry. There are things you can do (customer development, short iterations that involve your potential customers, etc) to increase the chances, but if you're not doing work for clients directly, then there is no guarantee. Note that the "doing work for clients directly" exists in game developme…

Yeah I agree, the problem applies to most of the entertainment industry. As a result more investment is put into sequels of successful games, artists, TV shows, movies, books etc. Edit: as for crunch times, I expect this is to do with the interactive element of gaming. There is whole lot more work involved when the client has the ability to break your product.

My understanding is that crunch time (as well as the release of flagrantly buggy games with patches coming later) is driven primarily by marketing schedules/budgets. Ad buys, press releases, interviews etc. are negotiated and coordinated months in advance, and big releases from any given publisher need to be staggered largely so that they don't all demand marketing money at the same time.

Re: How Unreal Renders a Frame

#65
post #6

So all of this processing happens for one frame? And this is going on at 60 Hz?

I'm completely fascinated that games can perform massive amounts of math and render 120 frames per second, while some business applications fail to do completely basic data manipulation in an reasonable time frame.

Almost anyone can program a CRUD app. Very few people can write a game engine.

Re: How Unreal Renders a Frame

#66
post #46

Does anyone know of a good book or course that does a deep dive into unreal engine source? I'm trying to level up my graphics programming skills and that seems like it would be an amazing reference, but I don't currently have the knowledge to navigate it myself.

I'm not sure about unreal engine, but for a general overview the "Game Engine Architecture" book is a great starting point.

Re: How Unreal Renders a Frame

#67

Earlier quoted context omitted.

I wonder what the turn-over is for engine programmers? I'd guess very low. I wonder how many commercial engine programmers there actually are, anyway? I'd guess very few.

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 companies houe to drill down to get the P&L (although you may need to spend some time getting through their company structure to find the actual P&L which has the right information).

But for a lot of companies, using an existing engine is a no-brainer - even more so when the developer has no idea how well their game is going to do, using something like Unreal effectively means they share the risk with you.

Re: How Unreal Renders a Frame

#68

Earlier quoted context omitted.

This is just capitalism at work; in the game industry there is no guaranteed reward at the end of the development cycle, so you have to keep up the pressure in order to beat out your competitors, and increase your chances of winning. This leads to crunching, 60 hour weeks and mass layoffs when you lose - lookup any of the top AAA game companies on Glassdoor and you will find they are awful places to work (Projekt Red…

> in the game industry there is no guaranteed reward at the end of the development cycle The same is true for any product industry. There are things you can do (customer development, short iterations that involve your potential customers, etc) to increase the chances, but if you're not doing work for clients directly, then there is no guarantee. Note that the "doing work for clients directly" exists in game developme…

Games don't have inherently have crazy crunch times, they are simply going to fire a lot of people so they don't care about burning them out.

It's completely rational behavior that has nothing to do with games, just look at MMO's for a more reasonable development process.

Re: How Unreal Renders a Frame

#69
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.

Wikipedia's insane list of Unreal games: https://en.wikipedia.org/wiki/List_of_Unreal_Engine_games

Re: How Unreal Renders a Frame

#70
post #8

Earlier quoted context omitted.

Yes, and more. You’ve also got a rigid body (physics) simulation, ai/pathfinding, animation, networking, audio and gameplay logic all to run. If you’re making an open world game, you also need to have streaming code to load and unload parts of the game on the fly. It doesn’t always happen at 60hz (which is 16ms total processing time for all the above plus what’s in the post). Some games run at 30hz(33ms), some run un…

Minor nit: some of those needn't run every frame (ai/pathfinding, gameplay logic). It's also possible to calculate future points and interpolate between them per frame. A nasty trick is to have shadows running at a half framerate (Crysis did this).

I don't really think it's minor, or a nit! But at the same time, I had to simplify or I'd never have stopped writing.
Post reply on HN