Return to “Technical”

Post

Graphics

#1
Hi,
Just found out about LT - looks fantastic!!!

I've trawled through the info, but haven't found too much about what graphics options are/will be available. Consequently, I thought I'd start a new thread specifically to ask a few questions, and so that you can tell us all about what cool technologies you're employing.

I saw your dev UI in one of your videos, which included various graphics/effects options, and thought it would be nice for you to just make a list and explanation of these. For example, perhaps the most simple question is whether there will be anti-aliasing... I know that the answer is yes, but how much, what technologies are you employing, how will it scale, etc.? And what about other technologies that we all know, e.g. anisotropic filtering? Have you got any new fancy technologies that we don't know about?

I think it's fantastic that LT runs on very low-powered systems. That makes it accessible to all. However, what about going the other way? Can you ramp up the graphics/processing options and take advantage of the beastiest PCs out there? And will it indefinitely scale in future, when more advanced hardware becomes available? Just in case you're wondering whether or not to allow ultra-ultra-high-res textures, and the latest fancy crazy eye-candy, please do include them, as optional!!! Even if there are features that can't possibly run even on today's most powerful overclocked 6-core-CPU 4-GPU rig, please do include such capabilities! This would ensure longevity of the product, and allow you to create exciting expansions in future. By including tomorrow's graphics technologies in the games of today, we can ensure that people will still want to play the game in 5 years time when they have a medium-spec PC that is a monster by today's standards.

For sure, the future will likely see more scope for parallelism than for pure speed increases. Indeed, we should be trying to push parallelism forward, and only the software developers can do that. The challenge is to create software that scales well. Specifically, two sorts of scaling are required:
(1) ability to efficiently utilize whatever hardware is available, whether in serial or highly parallel environments. This simply involves implementing efficient practically unbounded multi-threading where possible;
(2) ability to smoothly ramp up the quality of the image or features, in accordance with the hardware (or rather, the desired frame rate). Features such as AA and tessellation are perfect for this, e.g. supersampling could in principle use 1, 10, 100 or 1000 samples, depending on available resources (i.e. scales indefinitely due to being defined on [0,inf), although in practice there will obviously be an optimal number of samples).

Given the information about your recent history, it sounds like you're a huge fan of awesome graphics... it would be great to hear about what's planned for LT!!!!
Post

Re: Graphics

#2
Wanted to chip in to say should the game come with optional high end graphics, please do your best to ensure the low end graphics do not look like crumpled, pixelated whatever. I cannot afford a high end gaming beast :cry:
Image To boldly go where no one has gone before
Post

Re: Graphics

#3
I agree with you Ringo - it's great that LT will be playable on low-end setups. That's a question of efficiency and optimization. The pitch video was produced on an old standard laptop, right? That should fill you with confidence.

However, no matter how efficient the code, it should always be possible to really ramp up the graphics, independent of minimum requirements. There is no reason why graphics shouldn't scale indefinitely. For me, image clarity and aiming for perfection is a must in the modern age.
Post

Re: Graphics

#4
I like the way Josh uses cleaver code rather than relying on top end graphic card features.

I mean the graphics look like they must use top end graphic card features and power but run on a laptop rather average setup, how cool it that.
Post

Re: Graphics

#5
Ringo wrote:I cannot afford a high end gaming beast :cry:
I can imagine that no matter what sort of PC you've got, it's probably pretty beasty compared with the PCs of 5 or 10 years ago. In 5 or 10 years time, today's PC beasts will likely seem underpowered.
Post

Re: Graphics

#6
Jason Schupfer wrote:I like the way Josh uses cleaver code rather than relying on top end graphic card features.

I mean the graphics look like they must use top end graphic card features and power but run on a laptop rather average setup, how cool it that.
I definitely agree, code efficiency is paramount, and what Josh has achieved is fantastic.

But surely you should still use whatever hardware you've got, right? If you've got a 1080p monitor, you want games to support 1080p... you'd be annoyed if a game was limited to 720p, wouldn't you? Further, I wouldn't give it the time of day. The same applies to graphics features too. It should work on low-end hardware, but really take advantage of whatever hardware happens to be available.

And surely technological advancement is a good thing?! Bigger, better, faster hardware will only be made if there is enough software that can make proper use of it. Software has to be (optionally able to be) more demanding, so that the development of better hardware is justified.

It really frustrates me that this seems to be happening in the context of casual devices - phones & tablets with 1600p screens, and consoles - yet the superior, more serious, more powerful platform, the PC, seems to be lagging...
Last edited by terrordactyl on Mon Nov 26, 2012 9:55 am, edited 1 time in total.
Post

Re: Graphics

#7
For example, on the front page of the Kickstarter project, Josh shows us a high quality image:
https://graphics.stanford.edu/wikis/cs3 ... al_Project

Whatever graphics features were used must have been pretty beasty, given that rendering the image took 3 hours on a GTX 560. Presumably path tracing was largely responsible for the high processing time, although I didn't look at the details.

I see no reason why such high-end features shouldn't be available in the game. Sure, no one will be able to play the game with *that* many high-end features enabled right now, but who knows what will happen in the future! And why not enable it to take a one-off awesomely-rendered screenshot? That would make a cool feature. It looks like Josh has already implemented all the code... so why not include it?! This 3-hour image is one example, but the principle does nevertheless apply to other techniques such as AA, AF, and tessellation, which importantly scale.

Saying that, the version of LT that's shown in the pitch video running on a laptop looks great too, so people with low-end hardware will be happy. But, as we can see in the above link, a bit of extra crunching power can make it just so much more beautiful...

P.S. cool graphics technologies don't necessarily always have to be hardware heavy - you can also have special features designed to be more efficient with fewer overheads than standard approaches...
Post

Re: Graphics

#8
terrordactyl wrote: Whatever graphics features were used must have been pretty beasty, given that rendering the image took 3 hours on a GTX 560. Presumably path tracing was largely responsible for the high processing time, although I didn't look at the details.

I see no reason why such high-end features shouldn't be available in the game. Sure, no one will be able to play the game with *that* many high-end features enabled right now, but who knows what will happen in the future!
We can predict with fairly good accuracy when we will be able to play with that kind of graphics though!

To play something smoothly you want around 60fps, to take into account that some frames can take longer or shorter to render in real time.

This means that to play with that kind fo graphics you want a graphics card 60*3600*3 = 648000 times faster then a GTX 560.

The 560 was released nov 2010, 2 years ago. Todays graphics cards (in the same price segment) are about 1.4 times more powerful, but lets be positive here and say that the graphic cards improve by 30% per year.

It would then take around 50 years until graphics cards are powerful enough for that (at best).

I would prefer if the limited development time is focused on other things to be honest!
Post

Re: Graphics

#9
Of course yes. High end graphics can be those HDR/Bloom explosions for example. The same explosion can still look like an explosion with those options switched off.

One small concern I guess is yes Josh is using an older machine now. But when he gets the money, he will likely get a more powerful machine, so it is not improbable the game will end up with higher requirements than he had envisioned now at the early development stages.
Image To boldly go where no one has gone before
Post

Re: Graphics

#10
That example was an extreme example, and was intended a bit tongue-in-cheek. Perhaps I didn't adequately convey dark humour... I didn't actually expect for there to be a button in the UI that turned that 300-hour rendering feature on during actual gameplay! (although any demonstration of innovation and ambition is always a good thing...)

But the principle still applies, in a more abstract context. Features such as AA, AF, tessellation, and whatever else you can think of, shouldn't be skipped. That would dramatically reduce the market audience, and limit the game's lifespan. Furthermore, the detail of such a feature should be controlled by a parameter, not just a boolean on/off switch, in order to satisfy the scalability condition.

For example, for anti-aliasing, you can disable or enable x2, x4, x8 AA (and more) as standard in pretty much all modern relevant games (I personally can't play a game if it hasn't got a decent level of anti-aliasing enabled). However, a very good alternative option could be stochastic supersampling, using N samples (e.g. user could choose which form of AA to enable). Here, the value of N could be chosen depending on the available hardware resources. Furthermore, the user could manually reduce this number in order to improve frame rate and/or reduce load on the system. This approach works really well for both low-end and high-end systems, so everybody should be really happy no matter what hardware they've got! Similar principles can apply to most other graphics technologies also. These sorts of scalable graphics technologies are extremely low-end friendly, as well as extremely high-end friendly. Basically, even if you've got an old low-end PC, you should be really happy for this approach to be taken towards development!!!
Last edited by terrordactyl on Mon Nov 26, 2012 9:57 am, edited 4 times in total.
Post

Re: Graphics

#11
I did have a top end graphics card once in a desktop, it was hot, noisy, probably cost me the same to run as all my lights running in the house, and in the end it burned out with smoke pouring out of the computer.

Still I understand people wanting to push their kit to the limits.
Post

Re: Graphics

#12
For sure, anyone who wants to have a powerful PC should consider what it actually involves.

(1) Is it going to draw more power than you're happy with? In which case, choose a more energy-efficient GPU;
(2) Is it going to be hot? In which case, you make sure you've got adequate (or ideally excessive) cooling;
(3) Is it going to be noisy? In which case, you get an aftermarket fan, passive heatsink, watercooling (if you have the cash!), or alternatively buy an inherently less-noisy graphics card.

If you know what you're doing, you can quiet easily have a powerful PC that's practically silent that didn't break the bank.

Ultimately, the PC is an intelligent, open platform. You have to think about what you're doing and design it appropriately, otherwise you won't be happy with the final product. The PC is not a casual platform. If you treat it as such, you may as well have got a console.
Last edited by terrordactyl on Mon Nov 26, 2012 10:08 am, edited 1 time in total.
Post

Re: Graphics

#13
Josh has said it before and he has shown us plenty of times he is a graphics guy. Actually that is part of why I wrote I am thinking he will up the requirements down the road.
Image To boldly go where no one has gone before
Post

Re: Graphics

#14
No, I understand your concern, but I think he seems much too intelligent for that.

Like you previously said, Ringo, to date he's focused on efficient code and optimization.

Anything that goes on top of the existing framework will be an optional extra, and thus can be toggled off. Certainly, anything graphics-wise.

I would suspect that, if anything, the aspect that will drive up the minimum system requirements will be gameplay... purely because he hasn't implemented that yet, and gameplay is fundamental (i.e. unlike graphics options, you can't toggle gameplay off).
Post

Re: Graphics

#15
Hey guys, a few things:

1) LT will scale as low or as high as you want in terms of quality. One of the beauties of PCG is that the same algorithm is just as content making a 256x256 texture as it is making a 4k x 4k texture, it just takes more power. Similarly, whether the asteroids have 1k polys or 100k polys is yet another arbitrary choice and incredibly easy to change, thanks to the fact that they are procedural. So yes, you will have a huge amount of freedom in changing the quality, and, I imagine, you will be able to ramp it up further than current machines could handle, so that it is future-proof :)

2) The videos that I've recorded have NOT been on my laptop. I don't think I could achieve that resolution and smooth framerate while capturing the footage at the same time. All of the videos are captured on my desktop, the one with the 560GTX :)

3) I often switch over to my laptop and test it just to make sure that I haven't ruined FPS for low-end machines.

4) The explosions require neither HDR nor bloom ;) In fact, the only bloom in the game is very subtle and does not make much of a difference. Too many games rely way too much on these things..
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford

Online Now

Users browsing this forum: No registered users and 6 guests

cron