Digital Foundry Article Technical Discussion Archive [2014]

Status
Not open for further replies.
X360 had a powerful GPU with unified shaders
PS3 had a powerful CPU with its SPEs
PS4 has a powerful GPGPU with a fully unified memory.

Games like Resogun or the particle effects and generaly graphics shown in Infamous are only possible thanks to the GPGPU.

But, like you said, it is your personal opinion and I respect that; but on paper and with already 2 games this console has as much "soul" than X360 or PS3.

And the first "soulful" X360 and PS3 games, Gears of war and Uncharted were only released ~1 year after launch...
Beautifully said. Something I hadn't thought of before, actually. GPGPU is the future according to sebbbi --although the X1 can do that too, it doesn't have the extra grunt but it can, just sayin'

If you read your reply you can also understand what I mean. By "soul" I would just say that I'd expect the PS4 not to be restricted to standard PC architecture.

AMD would probably like to do something different on consoles if they were given the opportunity to do so.
 
What exactly makes the PS4 generic in comparison to its predecessors?

It's more the games that are bland, it seems like more and more of the games this gen are (insert old franchise name here) Part 4. The most fun I've had with a AAA game in recent times would be the game Remember Me because it actually felt a little like something new. Most everything else though is a rehash of the stuff we have been playing for years which is why I've primarily shifted to indie games as of late, they are the only titles that are feeling new and fresh to me. I mean it's kind of telling when the upcoming games this gen being most talked about on forums are remastered versions of Halo or The Last Of Us.
 
The most fun I've had with a AAA game in recent times would be the game Remember Me because it actually felt a little like something new.
I only lasted about 20 minutes in Remember Me; the FoV was too sad. Was a random curiosity grab free on PS+ so I wasn't terribly distraught.

The experience reminded me that I'm a little surprised DF never does FoV measurements, though. It's odd that we can stress over a few pixels or frames, but highly impactful measures like FoV hardly ever even get mentioned.
 
I only lasted about 20 minutes in Remember Me; the FoV was too sad. Was a random curiosity grab free on PS+ so I wasn't terribly distraught.

The experience reminded me that I'm a little surprised DF never does FoV measurements, though. It's odd that we can stress over a few pixels or frames, but highly impactful measures like FoV hardly ever even get mentioned.

Well I admit fov never bothers me. I assume the fov provided was the developers intention, so that's what I play with. I did finished the game and loved it, although had to set the difficulty to easy as the combat was a bit too tough otherwise. To me it was also a textbook example of how art can triumph over code, because even though it wasn't technicly an impressive game it was still one of the most visually pleasing games I ever played. I loved how they rendered neo Paris, good stuff.
 
The question is how much the Engine Split will affect not only PS4/X1 architecture changes but also PC with a GPGPU driven render pipeline this will lower the target on PC games even further into the upper echelons of hardware

I don't see why it would. The entry level for most next gen games is already going to be a Fermi/Kepler or GCN level GPU any of which should be just as capable with compute shaders as the consoles.

and for Nvidia user's these are not on the level of Compute capable AMD cards,

I'm not sure this is such a big deal. Nvidia is rubbish in OpenCL GPGPU benchmarks because they stopped supporting OpenCL years ago. In DirectCompute which is what would be used for games they're quite competitive with AMD and that's before Maxwell. Afterwall, PhysX has been running fine on NV GPU's for years.

As I understand it the main blocker for PC's is the API since DX11 doesn't expose async compute as far as I'm aware?
 
I don't know if those numbers would show the real picture; it's entirely possible that smart Xbox gamers (people who are able to comprehend raw specs) abandoned the Xbox-platform, so they did care about sub1080p, sub30fps, sub-particle, -stuff; but it will never show in any attach-rates.
That's precisely the point! The publishers will have numbers telling them if a lower quality is damaging their sales or not per platform. Let's say all the 'smart' gamers (to coin your completely biased, inappropriate definition) bought PS4, and that leaves only dumb schmucks buying XB1. Those dumb schmucks, what with their bad eyesight and low IQ, can't appreciate good graphics and so are happy with the mangled jagfest, tear-crawl of XBox gaming. So they buy the games they want without regard to DF numbers. If they are buying these games without regard to DF numbers, what does it matter if a dev targets 1080p? All the smart gamers that like 1080p are on PS4 (being laughed at by the truly enlightened PC gamers playing at 1440p 120 Hz or 4k).

There may of course be some XB1 owners who are smart and lament their choice of the XB1, who decide to boycott XB1 games that are sub-1080p60, and also refuse to buy a PS4 as they've already committed to a platform, who spend their evenings flicking through the dashboard with nothing to play, patting themselves heartily on the back for adhering to their strict principles, but I doubt they represent any number of statistical worth.
 
A couple hundred comments under a digital foundry article may look impressive on a web page, but at the end of the day it's still just a drop in the ocean (and most of these comments are from console/PC warriors anyway. Guys who made up their minds long before the article was published). The only game I ever skipped because of technical inferiority was Bayonetta because it was supposedly a heavily compromised experience on the PS3. Unlike the majority of console owners I follow this kinda stuff really closely. So when even a guy like me doesn't really care that much when push comes to shove (I enjoyed Red Dead Redemption just fine on the PS3), how much do you think "XxXCoD_FifaXxX" cares?

I am with you on this.

I purchased the majority of my games on the 360. I basically started to buy third party games for the PS3 because I felt I needed more than 1st party titles to justify its purchase. Then I realized the perks of the PS3; Wifi standard, better UI (in my opinion), no Live and no worries about preordering (because GS always had extra copies on Day 1). By the middle of the gen, the PS3 became my console of preference.

Do I believe my visual experience was hampered by the switch. Not one iota.
 
It's more the games that are bland, it seems like more and more of the games this gen are (insert old franchise name here) Part 4. The most fun I've had with a AAA game in recent times would be the game Remember Me because it actually felt a little like something new. Most everything else though is a rehash of the stuff we have been playing for years which is why I've primarily shifted to indie games as of late, they are the only titles that are feeling new and fresh to me. I mean it's kind of telling when the upcoming games this gen being most talked about on forums are remastered versions of Halo or The Last Of Us.
Clearly a lot of people don't feel the same way since PS4 sales are strong.

For me, what makes the PS4 great isn't even the software (I know games will come, and there are already plenty of great games IMO), it's the whole gaming experience and how seamless it is. Console gaming became similar to PC gaming last gen, in the sense that there are patches/updates, installs etc. This is understandable, but the PS4 makes it all as seamless as possible, and takes it back to what console gaming once was, which was insert disc/cartridge and play. Add to that the controller has finally been significantly updated for the better. So no, I don't see the PS4 as a generic console. I see the PS4 as a very well designed machine (both software and hardware wise), and a very good value. Sony pushed all of the right buttons, while MS failed at judging the market.

The XB1 will be fine after all of the backpedaling they have done, but decisions such as putting so much faith in Kinect 2.0 and bundling it with every box are decisions that will hurt them in the long run. I have said this since day 1. A huge reason X360 was successful was because of the headstart it had, and the price advantage it had throughout last gen. The BOM of the XB1 is similar to the PS4's despite having inferior hardware, and it struggled out of the gate because of the price. Both of these were largely caused by Kinect, something that I feel is a niche.
 
Last edited by a moderator:
This whole talk of PS4 being second best or second worst ever is hilarious. Guys, there's only 4 to choose from. The difference between second best and second worst is exactly one place. Hardly worth much of a discussion. Sorry just something I had to point out.
 
I believe in the existence of forced parity. Maybe its not standard but I believe some devs are encouraged to force parity amongst their ports.

Look what happens when you don't have it or very close to it. Your game becomes fodder for the console war.

I have a hard time reasoning that there exists a significant segment of players, who buy titles strictly because they look better than the ports for a system they don't own.

I have an easier time reasoning that potential buyers can be turned off a purchase if the noise generated by the internet is that the port of the platform of their choice plays and looks like "crap".

The less parity you have the more likely your game becomes part of the vitriol that emanates from console male member contest and the more likely your title will be used as a prime example in a conversation that does nothing but s^(& on a portion of your hard work.

I think WTNO benefited greatly by announcing early that both ports were 1080p and 60 fps. It seems like they were able to mostly avoid the "PS4 vs XB1 ports" fight and managed to create a good impression even though its been readily describe as not being that visually impressive.
 
I believe in the existence of forced parity. Maybe its not standard but I believe some devs are encouraged to force parity amongst their ports.

Last gen it seems like no one wanted to believe that, but this gen people are far more open to the idea for whatever reason. I experienced it back when I was in the biz last gen and there's a whole host of reasons for it some of which you covered (you were more accurate than many will realize), but also you don't want to anger the people writing your paycheck or the platform owners. If you consistently make the platform A version of your game worse than the platform B version, then you may reap the consequences if you ever need a favor from the owner of platform A. Sometimes it's just simple economics. It's easier to budget and schedule things if all versions are the same, it makes q/a easier, and at the end of the day it's not like the guys making the games are saddled with oodles of spare time to work on extra tidbits here and there. Usually it's a struggle just to get the damn game out the door on time and without going bankrupt, so the last thing higher ups want to hear about is delays or bugs resulting from extra features added to one version of the game, more so when to they don't feel like that in any way shape or form actually helps sales, and yet more so when missing a milestone deadline will cost them money.
 
The experience reminded me that I'm a little surprised DF never does FoV measurements, though. It's odd that we can stress over a few pixels or frames, but highly impactful measures like FoV hardly ever even get mentioned.

Could DF measure the FoV through the 2D image output of a 3D game?
 
Could DF measure the FoV through the 2D image output of a 3D game?
It can be more or less difficult depending on the imagery and the camera controls (FPS games are typically the easiest since camera movement and camera rotation are free and decoupled), but yes, there are ways to do it.

Yeah, it's just a matter of rotating the camera.
Sort of. This approach is fine in FPS games, but it's imprecise when rotating the camera causes the camera to move (like in third-person shooters) (unless the on-screen objects you're using for reference are very far away or at infinity, so that the impact of the motion is negligible).

Also, if you're using the method of counting how many screens it takes to make a full rotation and then dividing 360 by that number, it's not quite precise if you don't take the warping of perspective projection into account. That won't matter if the number of screens is an integer*, which causes the warping to be evenly accounted for, but otherwise the result can be a bit imprecise. I think I've worked out an iterative algorithm for finding the precise result from the "naive" count, though.
Additionally, an alternate method which ignores the warping of perspective projection can be used if you can rotate at a constant velocity: make a note of what's at the left and right sides of the screen, and divide the amount of time to rotate the middle of the screen from one of those objects to the other by the amount of time to rotate a full circle, and then multiple that result by 360.

Although, especially for FPS games with a small FoV, a somewhat sloppy count and divide can give *reasonably* precise results.

//==========

*Actually, any number of screens that's a multiple of .5 should give a precise result, at least if the projection is centered, because the screen has horizontally symmetric angular sweep.

**Also, as a general note with FoV measurement, you usually want the camera to be facing the horizon (i.e. no vertical tilting); this decouples the vertical height of objects from their horizontal location on-screen, which tremendously simplifies the math.
 
Last edited by a moderator:
Also, if you're using the method of counting how many screens it takes to make a full rotation and then dividing 360 by that number, it's not quite precise if you don't take the warping of perspective projection into account.
There's no reason rotation speed of the camera should be coupled to its virtual focal length. You could have a telephoto lens and spin around quickly or slowly, or fish eye and do the same. Heck, most games have a speed setting in the options where you can set rotation speed without affecting FOV.

My first guess at a solution would be calculating from vertical perspective (assuming uniform horizontal and vertical FOV) from a presumed camera height. You could also measure size changes when moving towards/away from a surface, but you'd need to know distance moved. Oooo, you could stand next to a wall/fence/something with a fully visible vertical edge, and then rotate towards that edge. Getting the speed of rotation in degrees per second and measuring size reduction of the edge of the wall/fence/thing should allow calculation of perspective.
 
There's no reason rotation speed of the camera should be coupled to its virtual focal length. You could have a telephoto lens and spin around quickly or slowly, or fish eye and do the same. Heck, most games have a speed setting in the options where you can set rotation speed without affecting FOV.
I'm not sure what you're getting at; I wasn't talking about either focal length or rotation speed in that comment.

My first guess at a solution would be calculating from vertical perspective (assuming uniform horizontal and vertical FOV) from a presumed camera height. You could also measure size changes when moving towards/away from a surface, but you'd need to know distance moved. Oooo, you could stand next to a wall/fence/something with a fully visible vertical edge, and then rotate towards that edge. Getting the speed of rotation in degrees per second and measuring size reduction of the edge of the wall/fence/thing should allow calculation of perspective.
I'm not fully clear on what some of that entails, but it sounds like you'd need to be aware of a lot of information of varying types.

If you are fairly certain about what the contents of a scene are, it's sometimes possible to calculate the FoV from how it appears under a particular view.
A fairly "simple" example is if you have a square on the ground that's perfectly parallel with your facing direction. If you walk up to the square so that it's even in your vision and so that the closest two corners sit at the sides of your screen, the distance from the square will be determined by your FoV. Which will also dictate where the back two corners horizontally show up in your vision; if you have a wider FoV, you'll be closer to the square and the rear corners will show up closer to the center of your vision, if you have a smaller FoV, you'll be farther from the square and the back corners will show up closer to the edge of your vision. Anyway, you can find the horizontal screen-space distance between the two rear edges, and the horizontal screen-space distance between the two front edges, and the ratio should indicate your FoV. If we call the ratio "R", assuming perspective projection, I worked out that FoV should be given by 2*arctan((1-R)/(2*R)).

Here's an example from the Destiny alpha. I used the background scenery right above the dude's head to make sure that my camera tilt was as close as I could get it to 0. The "square" is a collection of four of the squares on the ground, and I've drawn the horizontal locations of the visible corners with vertical red lines; the rear left corner wasn't visible, but I used the centerline (green) as an alternative, which still allowed me to find the ratios. The distances in pixels are shown, and R=392/960=.40833333. Plug that into the formula, and you get 71.84 degrees.
In the combat areas of the game, where you're in a first-person view, I had used the rotation method and found that it took just about exactly 5 screens to get to a full rotation, so I had estimated 360/5 = 72 degrees (indicating either that the game uses the same FoV for the third-person view you have in The Tower as it does for the actual FPS gameplay, or that otherwise my math sucks).

I can go into this stuff later, no time at the moment, sorry.
 
I'm not sure what you're getting at; I wasn't talking about either focal length or rotation speed in that comment.
Sorry, completely misread it. I see you're saying how many individual screens pieced side by side it takes to fill the circle.

I'm not fully clear on what some of that entails, but it sounds like you'd need to be aware of a lot of information of varying types.

If you are fairly certain about what the contents of a scene are, it's sometimes possible to calculate the FoV from how it appears under a particular view.
That's the problem being reliant on know-how of the geometry. A system derived from vertical scaling across FOV should be possible. Perhaps set the vertical edge in the centre of the view and then strafe so it's on the screen edge. The amount it's scaled will relate mathematically to FOV angle.

The trick with any solution that can be applied to every game is working with a lot of variables.
 
That's the problem being reliant on know-how of the geometry. A system derived from vertical scaling across FOV should be possible. Perhaps set the vertical edge in the centre of the view and then strafe so it's on the screen edge. The amount it's scaled will relate mathematically to FOV angle.
Yeah, trying to do something like that *should* work. It might be tricky... very large objects will scale differently over the object, and it might simply be hard to get precise results from very small objects. Might be interesting to look into.

One method I came up with that uses two views is to pick two reference points. In one view, one object should be horizontally centered while the other should be at the edge of the screen. Then, rotate until the two objects are horizontally equidistant from the screen center. I figured out how to calculate FoV from comparing the distances, but I don't have that on me at the moment...
(This method could be handy in situations where you could otherwise get away with a "screens to make a full rotation" method, but where it's hard to find useful reference objects around your full view, maybe.)
 
Status
Not open for further replies.
Back
Top