Hacker News new | past | comments | ask | show | jobs | submit login

Not only was MGSV5 great graphically, it also was very performant. I always wondered if they where using rendering tricks like the ones known in Just Cause (loading in 2d assets when very far away and than swapping them with 3d assets as you get close) or similar.

Someone else replied pointing out that what you're referring to are called imposters. I would also like to add they're a very very common technique, and something Wolfire Games added to their indie game Overgrowth in 2010, with a complete explanation: http://blog.wolfire.com/2010/10/Imposters

Yes, you can expect modern games to use any and all tricks available to squeeze performance. Imposters are an example of a LOD (Level of Detail) technique, which is standard in all game engines.

Imposters seems to be really old technique - see Trespasser 1998:

"The engine also used two other big tricks to lower the poly count: The most famous was "object caching": While rendering objects, the distant ones would be rendered to a cache and drawn as sprite on a quad. This trick originally resulted in mixed results since the mesh would remain a sprite too close from the player and changed from 2D to 3D in a very noticeable way as see in the two next images" (http://fabiensanglard.net/trespasser/index.php)

Another fabien post!!! Can never get enough of his writeups, no fluff just good review analysis and code.

Are those imposters usually prerendered or are they rendered at runtime, just at a much lower framerate? In any case, both could be seen as temporal LOD.

More than a lower temporal resolution (framerate), imposters are more often about a lower spatial resolution (2D billboarded asset instead of fully textured 3D model, or 3D model with fewer polygons/lower res texture, etc.)

There are also tricks using a lower temporal resolution - for example giving fewer ticks per second to the logic or animation of entities further away/out of sight.

I believe the question was whether the texture for the imposter is loaded from disk or rendered to a frame buffer but at a lower frame rate. I'm guessing rendering the object to a texture dynamically is the most common approach.

It's usually more performant to store them as framebuffer objects, so this way they could stay in the memory of the graphics hardware.

AFAIK, it runs stable @ 60fps on the standard PS4, with quality similar to PC (Xbox One version drops a few of the effects). Very impressive.

Don't forget that the same game also ran beautifully on the PS3. Not 60fps, but fluid and pleasant.

Yes, to be sure, but seeing the difference between PS3 and PS4 is a sea change. It doesn’t really run “beautifully” on a PS3...It runs on a PS3.

It functionally works as a different game. I watched an ex play through the whole game on PS3 (her choice) and there were many aspects of her playthrough that were not tied to her platform, but were hindered by being on the PS3

yes it scales down really well.

The 2d assets when very far away is called billboarding.

Billboarding is more general than that, it refers to any 2D sprite that always faces the camera. It's often used at close range for things like particles and grass as well.

Billboards that are used as substitutes for 3D models at long distances are more specifically called "imposters".

Or 'posters ?

BTW I've often noticed these 2D images (which work better than I'd've thought)... but for distant objects (in an open world game where the player can approach them from any direction), is a 3D model ever rendered once to a 2D poster when the player first sees them, then that is reused (until player gets too close; or approaches at too different an angle)?

I'm concerned at the uneven computation required as objects move in/out of range and need to be re-postered. (I prefer steady fps).

Back when I was in games we still called them billboards or more commonly just LODs.

LODs refer to simplified versions of the original mesh. So they are not flat like billboards, and still have the "depth" to them. Think for example, a pine tree with many shapes for branches in the foreground, but in the distant background the entire body of the leaves can just be a simple cone.

Ahh, I always wondered what that was called

MGSV is also has comparatively low polygon count. Coupled with the clever shading, lighting and great art this it what makes it run so well and look so good.

Similarity Super Mario Odyssey has lots of clever tricks to hit 60 FPS. For example far away models animate at 30 FPS instead of billboarding. You won’t notice it because there’s so much detail and richness close to you.

On the other hand Just Cause 3 barely manages to keep above 25 FPS on a standard PS4. The difference is jarring.

As a side note the a Fox engine used for MGSV was also used for the P.T (Playable Teaser) for the cancelled Silent Hills. This was incredibly photo realistic and pretty scary!


That's the oldest trick in the book...

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact