Scalability of ND's Uncharted engine *spawn

I have to disagree here... there are many aspects of the game world that are drastically different this way, it has an effect on streaming level data, rendering shadows, handling visibility and occlusion, and so on. There's a reason we don't get games on the current gen hardware that have this amount of detail and variety in a large and completely open world - it's just not possible to do...

I disagree, we're not dealing with a fixed camera game like a God of War, in this case the shadows and textures are streamed in as the player gets closer, texture and geometry details are always greatest when close to the player, this game isn't exactly taking the "fake movie-set" approach, it can't because of the levels are very cohesive and consistent both inside and outside the same structures, some of the combat areas are actually quite massive, and the player can look at just about anything and everything with the free camera, and often this is how the player can find out about a missing treasure because one can look all the way back and see a distant place that one has been at and see that missed treasure right there, and while you might not make it back there because you've progressed past that point, you can actually shoot it down if it's hanging, all the way across a level.

While the player path might be linear, the game is rendering far away geometry that the player has interacted with or on his way to interact with, LOD this generation is much more dynamic anyway. If anything I'm often more surprised at how insanely brute-forced they do everything, they could have taken out distant collision maps, but they didn't, you shoot out a missile pod, it lands on a distant rooftop, it will be right there after you have crossed the bridge and made a couple of roof-jumps, if it lands on the street below, when you get down there, it will be right there, and the player can interact with it.
 
Last edited by a moderator:
*nod* *nod* but that's how most games work right ? Open world games have to sacrifice some quality for scale and freedom. I'd say that's a fair tradeoff.

Although the story element drives U2 into a linear path often, there are occasions for the player to fight freely in an open space. In this scenario, it is possible to have beautiful vista too (Just a backdrop ?).
 
Oh come on, AI hasn't got much to do with texture memory limitations and storage issues (loading a huge game world and keeping it in memory).

It is a resource issue first and foremost, and performance is secondary here. Granted, raycasting for AI sight gets more computation heavy as you increase the scenery poly count, but it isn't such a bottleneck.
Just look at GTA4 where you can literally go anywhere and have to keep a huge city at some detail level in memory with all its components. Then compare it to UC2's city where there's a limited path you can follow, with only a few buildings in sight that you can ever interact with. The game also knows the direction you're allowed to proceed through that city so it can preload data only when it's needed, when you're just around the corner. Clever construction of the level can hide parts that aren't loaded yet. And so on and so on.

It's smoke and mirrors, but it works perfectly well and looks very nice.

Open-world games do very much the same thing, a row of tall buildings block out geometry that are to be streamed-in, or using a bridge to separate two islands. Every game uses smoke and mirrors because there's no need to render geometry the player can't see.

It's not like you can interact with distant geometry in most open-world game (with the exception of being able to shoot helicopters out of the sky in GTAIV), and it's not like open-world games are rendering every single building in high detail, they just use aggressive LOD and stream in the geometry as the player gets closer, and very often most of the buildings don't even have interiors. More likely than not in Uncharted 2 you can take out an AI from much farther away and still be able to get to the corpse to see your handywork such as the bridge sniper battle, in an open world game AIs wouldn't even be streamed in at that distance.
 
Last edited by a moderator:
The vistas aren't using any LOD at all, they're made at one level of detail - because you, the player, won't be able to get any closer to them. You're always constrained to a relatively thin path.

Again, this is not bashing, it's just pointing out that there are compromises and UC2 choses one kind over the other, that's used in free-roaming games (which have significantly blander looks, but you can explore almost everywhere).

Right, and what makes you think that Naughty Dog couldn't have easily changed this? This engine is certainly capable of doing such, and I'm sure that it's not a "compromise" as much as it is a design decision. It's a finely crafted and directed experience, and that's what they want, not an open world title.
 
Really? So which games have been developed with the engine that allows you to make such a definitive and bold statement?

That's kind of a strawman argument, if Naughty Dog has already made an open-world game with their current engine, the current debate, which is purely hypothetical, wouldn't even exist. The only thing we do know is that while Uncharted 2 isn't an open-world game, it does have some expansive vistas, not everything on screen is playable geometry, but there are many instances where distant geometry is in fact playable, whether Naughty Dog can use this engine to create an open-world game with visuals that are comparable to Uncharted 2 is purely conjecture, so is arguing otherwise.
 
Last edited by a moderator:
I think the sheer amount of work on art needed to create an open world that has a similar quality, detail and definition as the game currently has would be immense, and the game would probably get into trouble dealing with populating the open world with stuff like cars and people. I don't think it's far fetched to assume that a significant amount of work would need to be done on the engine, and it would be much harder to predict what needs to be streamed.
 
I think the discussion about free-roaming capable engine could be the same with killzone 2 engine ( that is the most similar to U2 ).

But if you play the desert multiplayer map you could see that is easily doable a free-roaming game...
 
The levels are mostly narrow and tightly controlled. Obviously they could make an open ended game but there'd probably be significant changes in visuals (depending on how much thy rework the engine).

With limited walk path they can make good looking large vistas using sprites very upclose like seen in many many parts. But one really doesn't take attention to it being simple sprites becouse you cant reach that parts. Would you actually be able to walk to these parts they would have to do a LOD switch between sprites and 3D vegetation. Ofcourse here comes the problem!

The LOD switching would be painfully obvious considering how very close the sprites are in these zones. Solution would need to be rendered 3D vegetation at farther distance to make LOD switching less obvious. However here comes the problem. The further draw dsitance of 3D vegetation would mean a increased load on the hardware and thus framerate problems unless they lower graphical detail in the scene to compensate! :smile:
 
Last edited by a moderator:
LOD "engine" in U2 can handle large open environments without any problem, the issue here is not technical but financial: the content for detailed open world would cost enormous amounts of money.
Technically they stream in data constantly, not while playing cutscenes, constantly. Technically they have dynamic geometry and full dynamic lighting everywhere. I don't see any technical problem to do open world here.
 
I think the meat of the discussion is not, that there's a tradeoff. We all agree that tradeoff for one comes in the form of higher costs by having to create more assets and tackle especially game related problems.

The big question is: How well suited is the Uncharted 2 engine for an open world game from a technical point of view? To people that have played the game and made observations, it seems quite well, as the game already streams most of its content rather intelligently and not in the time frame while cut-scenes are running.
 
With limited walk path they can make good looking large vistas using sprites very upclose like seen in many many parts.
Is there a screenshot that shows where sprites start? Not having the game I don't have a frame of reference as to what people are seeing and where the engine is applying whatever drawing methods.
 
LOD "engine" in U2 can handle large open environments without any problem, the issue here is not technical but financial: the content for detailed open world would cost enormous amounts of money.
Technically they stream in data constantly, not while playing cutscenes, constantly. Technically they have dynamic geometry and full dynamic lighting everywhere. I don't see any technical problem to do open world here.

The "technical problem" with nonlinear large map is that you have multiple potential zones that the player may travel to. That means even for the most efficient theoretical streaming engine the available memory for current zone is always less than the linear case which only needs to stream one (or at most two) zones to the buffer. In the end that means less detail/space.

That being said, Uncharted streams from BD which is up to three times slower than HDD.
They can make up for some of the memory loss of going nonlinear by switching to HDD streaming.
 
That being said, Uncharted streams from BD which is up to three times slower than HDD.
They can make up for some of the memory loss of going nonlinear by switching to HDD streaming.

It's a two-stage process though, where they stream from BD to HDD in advance, and then stream in the textures from HDD.
 
It's a two-stage process though, where they stream from BD to HDD in advance, and then stream in the textures from HDD.

Streaming engine is still not faster than BD streaming speed (the bottleneck).

Going off topic here but according to Naughty Dog the reason behind HDD caching in UDF (and most likely U2) was easier syncing.
 
The "technical problem" with nonlinear large map is that you have multiple potential zones that the player may travel to. That means even for the most efficient theoretical streaming engine the available memory for current zone is always less than the linear case which only needs to stream one (or at most two) zones to the buffer. In the end that means less detail/space.

That depends though how much of that map has room in RAM at any given time, though doesn't it? In Uncharted 2, even in the larger parts of the game, I can still backtrack relatively quick without ever seeing a loading screen which makes me assume that the engine can handle quite large 'sectors'. Depending on how fast other sectors get loaded in, you may still be able to load it in, even if the player is standing at a crossing with 4 directions to chose from. Or it's done dynamically, with new parts being loaded into the engine constantly as you get closer to them.
 
The "technical problem" with nonlinear large map is that you have multiple potential zones that the player may travel to. That means even for the most efficient theoretical streaming engine the available memory for current zone is always less than the linear case which only needs to stream one (or at most two) zones to the buffer. In the end that means less detail/space.

It's not that obvious, more "open" world means less detailed areas by definition. I.e. city-like landscape means very predetermined walk paths an more detail on each one, and forest-like landscape means much less detail and much more "free" roaming.
 
Is there a screenshot that shows where sprites start? Not having the game I don't have a frame of reference as to what people are seeing and where the engine is applying whatever drawing methods.

If you backtrack the U2 game thread there should be large photo(s) at walk path border and water/forest vista or such. Might check out Gamereactor for capture shots.
 
I can agree Uc2 uses a lot of tricks, in a positive manner....that is they have unleashed the potential of PS3. I like to add my 2cents wrt to UC2 designs...we should not compare it with AC or GTA or even Oblivion, those are sandbox games...the engine has to be different. If we are to compare, then i like to use Halo...a series that is closer to UC2 designs and has received a lot of praise for its 'scale'...now if we take away the vehicle sections (which are just pulling back the camera and using smaller models, that have not made into UC gameplay...yet), i do not think UC2 loses at all in the 'scale', at the same time maintain a graphics fidelity that is one level higher, imho UC2 is the best looking in this class of games.

Can ND do a sandbox game with the same amazing in their class of fidelity. I believe so. They did it with JD2 for PS2...this open world ND game, i expect it to look/run better than the likes of AC or GTA, it may or not retain the same fidelity as UC2. ND are gods and PS3 potential is misunderstooded.
 
OK, to be clear, I have no idea whether the engine can handle larger "sectors", I don't even know what "handle" means specifically.

What I'm saying is that there is a theoretical reason why perfect nonlinear streaming engine will display worse graphics than perfect linear streaming engine.


That depends though how much of that map has room in RAM at any given time, though doesn't it?
I'm gonna say no.
In Uncharted 2, even in the larger parts of the game, I can still backtrack relatively quick without ever seeing a loading screen which makes me assume that the engine can handle quite large 'sectors'.
I'm not sure Uncharted streams back previous areas but it wouldn't change my argument one way or another.
Depending on how fast other sectors get loaded in, you may still be able to load it in, even if the player is standing at a crossing with 4 directions to chose from. Or it's done dynamically, with new parts being loaded into the engine constantly as you get closer to them.

OK, let's look at an ultra simplistic model:

A zone occupies half of your available memory, and the remaining half is for the buffer (next zone).

You are in the middle of a zone, with n roads (or tunnels) each going to another zone (ie. each zone is connected to n other zones).

Engine starts streaming next zone to the buffer based on the road you start walking on, right?

So the length of the road is determined by data streaming speed, memory size of zone data and speed of the player.

...which is independent of n.

However the total spatial size of each zone is proportional to n because while you are streaming data of the next zone, you are still showing your current zone.

So as n increases the unique data you can show on each road decreases.

Of course in reality it's much more complex, but it always gets worse with number of "choices".
 
Back
Top