• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

The Witness using 5GB RAM so far

Status
Not open for further replies.

missile

Member
... But being a small team does mean that it takes a long time to produce high-quality assets, meaning that you most likely don''t have the time/budget to make enough of them to fill up too much space.
That depends somehow on the process being used. But given just one artist,
(s)he may rather easily generate content in the gigs. Well, the perhaps most
simplest case here is in amping texture resolution. Going from 512k to 2048k.

And what about procedurally generate content? With a push of a button you can
for example triple the memory needed by generating the content in a, well,
more smooth fashion. Pretty easy to eat away the memory here, whether being
indie or not.

And being indie is about to change as well. It no longer means being super
small and low of money. Former AAA developers start creating their own
independent company, developers/artists who have the knowledge how to fill
gigabytes quickly.
 

beat

Member
He's right, though. Texture streaming can be pretty efficient when you're dealing with tight memory requirements, but when you've already got all the memory you need why bother wasting time on techniques that give you no benefit?
Like Blow says, "If you double the resolution of a texture, it takes up 4X as much memory. For example." RAM grows much slower than assets can. But the code to perform streaming of assets doesn't really get much more complex as assets get bigger.

For me, the thing about not choosing to stream is that it produces just as strong a constraint on the game. Instead of optimizing the game to work with streaming, the dev has to optimize the game to fit in 8 GB of RAM (or whatever the console limit is). And there's probably no more compression to be had, so it'll be a matter of down-rezzing or cutting assets altogether to fit into the allotted space. With streaming, you can trade that potential hassle for a more predictable hassle of having to manage streaming. Think of it as climbing up a hill vs a plateau that reaches a short gentle ramp and then a cliff face. The former, streaming, can be a struggle everywhere. The latter, planning to fit in a very hard constraint on memory size, is a cakewalk until it's not, and then it's gruesome.

If you don't need to stream, you don't do it because it's complex and prone to bugs (think of the UE3 texture streaming snafus you'd see after loading)
But next-gen engines like UE4 are likely to use streaming, so they'll either have the visual fidelity of Witness but bigger, or the same size worlds as Witness but more detailed. (and yes, with streaming-related bugs.)
 
That is only one part of what he is saying

The other part is that 8GB is very low for next gen, because his indie game takes up 5GB already

Which is the part that i disagree with and find rather laughable
You're completely misinterpretating what he said.

He doesn't mean that Agnis Philosophy and other games will get RAM bottlenecked, just that they would benefit as well from having more than 8GB RAM.
 

Mithos

Member
How much of those 5GB is the game "using" to run though, not storing the game in memory, that's the interesting part.
 

ibun

Member
You use what you have, if it is not enough you adjust your optimisation. thats it. learning curve anyone? its like having a new kitchen with a bigger workbench. first you scatter around your stuff around and little by little you get to know "yeah i have more space so i can arrange stuff here" and when your cooking requires more ingedients you start optimising, streaming from the closets and fridge.
 
Donald Knuth, founding father of Computer Science, 1974:



What Knuth is arguing is that optimization is a costly and complex process. This is not to say you write wasteful, sloppy code to begin with, but rather that writing code that is manageable and runs well is the first step, and efficiency is only necessary to improve things once you get to that stage. If developers can avoid having to deal with RAM limitations in a practical sense, and thus avoid having to write systems that can optimize around those RAM limitiations, it will make development a lot easier.

Right now I'm planning a game for the iPad/PC. Most of my work is designing the game, but a good portion of it right now is how I can load the game into the iPad's 512mb of memory. I have to figure out how to load the game while the player scrolls across a map, how to load and unload assets in the background, and potentially limit the amount of images the player can see at any given time.

If it was just PC, I wouldn't really need to plan this at all. I could go straight into game making and not have to worry about memory juggling because most computers have 1GB to spare for games.

If tomorrow you told me I could design a game for 8GB of memory, I would be able to throw out at least a month's work of planning and testing for memory crashes, loading/unloading assets, and so on. It would be absolutely awesome.

Anyone screaming "bah lazy devs not optimizing their code" just don't get it.
I can fit eight people into a Mini Cooper if I absolutely had to, stacking and squeezing them on the floors and seats, but if they could ride in a passenger van instead, why the hell would I still try to get them to fit in a Mini Cooper sized amount of space inside the van? I could just pile them in, drive my van, and be so much more comfortable.

Killzone uses realtime lighting and streaming (loading from disc/HD as needed) for textures and audio assets. As well as a lot of instancing (reusing the same model multiple times) of assets.

The Witness loads almost everything at once and utilizes baked high resolution lightmaps for the lighting. The audio for the game alone is ~800MB. Blow is actually doing some neat stuff with audio for example there are over 1,100 sound samples for footsteps, with 4-6 individual samples for each foot on each ground material in the game, which means that you won't have the repeating sound loop when walking like most games have and it will sound much more natural. The advantage of not streaming everything is that you can avoid pop-in (there will still be some as I doubt the GPU would be able to render everything at once but you likely won't be able to notice it) and have greater draw distances. Streaming also introduces quite a bit of processing overhead and also extra development time insuring that the world is broken up into small pieces and that assets are loaded in time to be used. Streaming systems quickly become complicated and can lead to a lot of bugs and uneven performance.

These posts should be read by everyone before they argue any further on this matter. Blow is not saying 8GB is not enough but rather is hinting at developers will hit a wall much faster on the Xbox than they will on the PS4. Sure optimization can be done, but then that means development time and costs also will increase. The PS4 gives developers like Blow more freedom to focus on creating a game than trying to get it to even run on the machine properly. The type of game he has created is not as simple as it's visuals would lead people to believe, even though I find the art style beautiful myself. He and his team have created an entire island that can be explored from the outset, and there are puzzles across the entire land that can be solved at any time and could potentially have a huge effect on things happening on the island. This isn't some 2D platformer or Proteus we are talking about here. This is a giant 20-30 hour game where the entire world is open to you at all times.
 
Which is exactly what he was saying.

He doesn't want to have to deal with the streaming if he doesn't have to.

No reason to do something you don't have to.

Go for lower hanging fruit first.

Its debatable why ignore the hard limits of 2 of your 3 platforms.
He can say what he wants but he will still need streaming on pc and ios.
Unless he wants to abuse the pcie bus or run the witness on the cloud on ios devices.
 

2+2=5

The Amiga Brotherhood
Never said otherwise

But that does not mean the proper developer cant find ways to stream the world or partition it and fill any ammount of detail in the 8GB ram

Let's analize the dd screenshot, it's awesome, but what does it contain? A man, a dragon, fire, a part of a cavern, nothing more, this means(more or less) 3 models + fire and light effects.
Now think about the screen of the witness, there are dozens of trees(with different models i guess), the castle and all the rest, there are waaaay more models, textures, phisics etc to calculate and render.
Probably bethesda or rockstar or others would make it using less memory with eyes closed and hands tied, but they have decades of experience in open world games, here we are talking about indies, even if this game is not optimized, if it runs well i don't see the problem.
 

nasos_333

Member
This is still being debated on, my god!

Look, an example is if you use an over abundance of AA on a game like this or even pong, it is going to use more resources. Resources are used in different ways that are not visual as well.

I'm no expert or game dev but this is common sense.

Also they did state that they are loading the entire game at start and not streaming, which does help a lot(not visual). This perhaps takes a lot of the ram.

AA will not take up GB of ram, that is for sure

Loading the whole world would, uncompressed textures, non LODed detailed objects would etc

AI and calculations take up nothing much, uness you do something crazy

Sound takes a lot, depening on compression

But the argument was never about how Blow's game is handling ram or that the game should take up less or in general the argument has absolutly nothing to do with his game and his ram handling

The problem is that he says every game will have a problem with the "not enough" 8GB ram of next gen consoles, which is silly because other developers can do miracles with 8GB ram or even vastly less
 
The problem is that he says every game will have a problem with the "not enough" 8GB ram of next gen consoles, which is silly because other developers can do miracles with 8GB ram or even vastly less
Doing miracles with 8GB RAM or less doesn't mean that those developers wouldn't prefer having more RAM to make their work easier.
 

Septimius

Junior Member
More likely use some compression method with minor loss

The problem is that compression requires cycles to be decompressed.

All in all, we're all understanding the point at hand. With more RAM, which is argued to be inexpensive, game creators could focus more on creating games, and less on having it running smoothly.
 

Drek

Member
Seems the same to me

And there is more

"Kind of makes me wonder why there is only 8GB"

Does that mean it is enough ?

It isn't the same. You are twisting his words and adding a ton of hidden subtext that didn't exist in the first place.

In short, you're building a (really shitty) strawman and directly attributing it to Blow.

And the second quote is directly related to the Xbox One's DDR3 setup, clearly implying that if they felt like 3GB was needed for the OS they should have sprung for more than 8GB total so that the gaming side wasn't short changed. 12GB in the Xbox One would have made for 9GB generally available, a slight bump over the PS4's faster GDDR5 pool and likely enough so that games could use similar applications of both (after using the ESRAM to augment the DDR3's bandwidth). Now developers are going to spend time optimizing for the Xbox One's 5GB ram limit that will not be required on PS4, likely resulting in easier, faster PS4 development with less streaming from the disc or hard drive.

This will also likely result in smaller local storage footprints for on-disc games. This past generation the PS3 had a noteworthy size bump on it's installs over the Xbox 360 because the Xbox 360 had slightly more ram (thanks to the EDRAM cache) and a unified structure that made streaming larger assets from disc more viable. The PS3's split architecture prevented that and as a result developers needed more assets available via the faster HDD pipe than the optical disc (that and the read speeds of early blu-ray drives used in the PS4 were often a bit worse than the read speeds of later generation DVD drives used in the Xbox 360).
 

nasos_333

Member
M°°nblade;62322025 said:
Doing miracles with 8GB RAM or less doesn't mean that those developers wouldn't prefer having more RAM to make their work easier.

Sure they would, but 8GB ram is about double of what anyone would realistically expect from next gen consoles and that is what all next gen games will use

Somehow i dont think next gen games will stop beeing made because of the 8GB ram or because Blow filled 5GB (and going) with an indie game and i am sure next gen titles will look spectacular

Also there are two factors about PS4 ram that are not covered by Blow, the unified scheme and the DDR5 for both main and video ram aspects
 

nasos_333

Member
It isn't the same. You are twisting his words and adding a ton of hidden subtext that didn't exist in the first place.

In short, you're building a (really shitty) strawman and directly attributing it to Blow.

And the second quote is directly related to the Xbox One's DDR3 setup, clearly implying that if they felt like 3GB was needed for the OS they should have sprung for more than 8GB total so that the gaming side wasn't short changed. 12GB in the Xbox One would have made for 9GB generally available, a slight bump over the PS4's faster GDDR5 pool and likely enough so that games could use similar applications of both (after using the ESRAM to augment the DDR3's bandwidth). Now developers are going to spend time optimizing for the Xbox One's 5GB ram limit that will not be required on PS4, likely resulting in easier, faster PS4 development with less streaming from the disc or hard drive.

This will also likely result in smaller local storage footprints for on-disc games. This past generation the PS3 had a noteworthy size bump on it's installs over the Xbox 360 because the Xbox 360 had slightly more ram (thanks to the EDRAM cache) and a unified structure that made streaming larger assets from disc more viable. The PS3's split architecture prevented that and as a result developers needed more assets available via the faster HDD pipe than the optical disc (that and the read speeds of early blu-ray drives used in the PS4 were often a bit worse than the read speeds of later generation DVD drives used in the Xbox 360).

I am not adding anything "hidden"

The "only 8GB" part is clear as day to me and rather obvious what it means

Here are the exact quotes

"Kind of makes me wonder why there is only 8GB"
"8 gigs isnt that much. The Witness is 5GB so far, and it is an indie game"

I can answer those

1. Because developers can actually use techniques so they dont fill 8GB ram with what could take up as low as 2GB ram
2. 8 GB ram is really much, especially fast DDR5 ram on PS4, that is unified on top and does not need texture swaping
 
I am not adding anything "hidden"

The "only 8GB" part is clear as day to me and rather obvious what it means

Here are the exact quotes

"Kind of makes me wonder why there is only 8GB"
"8 gigs isnt that much. The Witness is 5GB so far, and it is an indie game"

You really are trying to build this strawman, aren't you? The first quote is in relation to Microsoft 'only' having 8GB's of ram when it's so cheap anyway. The next quote follows logically, 8GB's isn't much in the grand scheme of things, devs will always utilize more ram if it's available.
 

JaseC

gave away the keys to the kingdom.
I am not adding anything "hidden"

The "only 8GB" part is clear as day to me and rather obvious what it means

Here are the exact quotes

"Kind of makes me wonder why there is only 8GB"
"8 gigs isnt that much. The Witness is 5GB so far, and it is an indie game"

You're missing the tweet that provides the context:

It is pretty amazing how cheap DDR3 is these days, even at retail. That RAM in the Xbone must be super cheap in bulk.

He's surprised the X1 in particular has "only 8GB" of RAM (in total; not all of it is accessable by developers) as DDR3 is dirt cheap and is suggesting that it presumably wouldn't have cost Microsoft much at all to bump it up another 2-4GB to offset the OS footprint.
 

Madness

Member
But how much would it have cost extra to use say 12gb of DDR3 RAM or 16gb? Don't really know the technical aspects, but is it because he's an indie dev with a small team which is why he can't optimize it or is 8gb actually too little for this upcoming gen?
 
You're missing the tweet that provides the context:



He's surprised the X1 in particular has "only 8GB" of RAM (in total; not all of it is accessable by developers) as DDR3 is dirt cheap and is suggesting that it presumably wouldn't have cost Microsoft much at all to bump it up another 2-4GB to offset the OS footprint.

And redesign the complete motherboard.
Console dont have plug and play strips of ram like pc mobo have.

But how much would it have cost extra to use say 12gb of DDR3 RAM or 16gb? Don't really know the technical aspects, but is it because he's an indie dev with a small team which is why he can't optimize it or is 8gb actually too little for this upcoming gen?

I would worry more about the cpu and gpu of next gen then memory size if you ask.
Microsoft and sony really dropped the ball if you ask me. Microsoft specifically if the downclock rumors are true.
 

JaseC

gave away the keys to the kingdom.
And redesign the complete motherboard.
Console dont have plug and play strips of ram like pc mobo have.

He's not saying that Microsoft should make the change now. Obviously it's too late in the game for any significant hardware alterations.
 
"Kind of makes me wonder why there is only 8GB"
"8 gigs isnt that much. The Witness is 5GB so far, and it is an indie game"

Way to take them out of context,

"Kind of makes me wonder why there is only 8GB"

Is directly referring to the super low cost of DDR3 that is being used in the Xbox, and thus he wondered why wouldn't they use more if that was the case.

"8 gigs isnt that much. The Witness is 5GB so far, and it is an indie game"

Simply saying that a game can easily fill 8 GB of RAM, not that it isn't enough. In fact I think this and the other quote are slams against Microsoft, because they only set aside 5 GBs of slower RAM and in his opinion developers will have to optimize more on the Xbox because of that. Remember optimizing is not necessarily a good thing. It takes time and it costs a lot of money to spend time doing. Blow and others would rather keep the focus on making their game.
 

nasos_333

Member
You're missing the tweet that provides the context:



He's surprised the X1 in particular has "only 8GB" of RAM (in total; not all of it is accessable by developers) as DDR3 is dirt cheap and is suggesting that it presumably wouldn't have cost Microsoft much at all to bump it up another 2-4GB to offset the OS footprint.

I dont see how that negates the "only 8GB" and "8GB is not enough" comments though
 

Nozem

Member
Come on Blow, optimize your game. Spend time fixing all these technical problems you don't have and don't need to worry about.
 

GorillaJu

Member
I am not adding anything "hidden"

The "only 8GB" part is clear as day to me and rather obvious what it means

Here are the exact quotes

"Kind of makes me wonder why there is only 8GB"
"8 gigs isnt that much. The Witness is 5GB so far, and it is an indie game"

I can answer those

1. Because developers can actually use techniques so they dont fill 8GB ram with what could take up as low as 2GB ram
2. 8 GB ram is really much, especially fast DDR5 ram on PS4, that is unified on top and does not need texture swaping

He didnt say 8gb wasn't enough. He wondered why, since it was such cheap memory, they couldn't put more in, because its not as if games won't utilize it all. The Witness being a good example in that its using 5gb despite being an indie game.
 

nasos_333

Member
.....I was typing a response but I don't think it is worth arguing this with you anymore. You are clearly hung up on this and no one can convince you otherwise.

I saw your response, the way you wrote it kind of makes sense and maybe he did not generalize as much as it initially seemed to me
 
Is 8Gb of GDDR5 enough, but 8GB of DDR3 not enough, is that what he's saying? Also, if The Witness was to be an Xbone game, then it would have used up all available RAM, then?

I would imagine that the inclusion of blooming Kinect 2.0 has a lot to do with why they only went with 8GB DDR3?
 

JaseC

gave away the keys to the kingdom.
Sorry

"8 gigs isnt that much" is the quote

He later clarified that comment, comparing the amount to what you see in a modern PC (system RAM + VRAM). He even prefaces the later tweet with "For those asking".

Is 8Gb of GDDR5 enough, but 8GB of DDR3 not enough, is that what he's saying?

No; even in its current state, the game would fit on the X1 as the console is rumoured to have a 3GB OS footprint that Microsoft is trying to trim as much as possible.
 
Is 8Gb of GDDR5 enough, but 8GB of DDR3 not enough, is that what he's saying?

I would imagine that the inclusion of blooming Kinect 2.0 has a lot to do with why they only went with 8GB DDR3?

Well remember the PS4 will have about 7 GBs of GDDR5 available for games, while the Xbox will have 5 GBs of DDR3 available for games. To Blow's point, if that much was going to be set aside for Microsoft's OS, and DDR3 was so cheap, then why not put more into the console. This all goes back to the rumors, and I guess now confirmed, that said Microsoft were blindsided by the PS4 reveal. Especially the reveal of 8 GBs of GDDR5. Prior to the reveal Microsoft thought they were going to have 8 GBs of ram with 32mb of fast eSRAM compared to 4 GBs on the PS4, remove the OS foot print and that would have given Microsoft 5 GBs for games and Sony 3 GBs. A 2 GB advantage.

So Sony on February 22nd, caused a 4 GB swing in the amount RAM available to games and put them at a 2 GB advantage over Microsoft, this excluding the speed advantage even. Microsoft=pants down.
 
Needs some optimize prime. Regardless of what he says it does sound unoptimized

He's saying that now programmers don't have to optimize, because they have enough RAM to get the job done much quicker. Leaving much more time to spend on making the game better, apparently. Let's hope that doesn't mean releasing games that need updates just to run properly, like in some PC games.
 

jimi_dini

Member
If developers can avoid having to deal with RAM limitations in a practical sense, and thus avoid having to write systems that can optimize around those RAM limitiations, it will make development a lot easier.

It seems as if his PC version will require the PC to have at least 5GB of memory. Or maybe he requires a GPU with at least 5GB instead?

Also I always thought that 32-bit Windows is not able to allocate more than 2GB per process. Which would then mean his game would only run on 64-bit Windows.

I wouldn't call this badly optimized/not optimized, but instead badly developed.


If everyone would develop games like him, we wouldn't even get Uncharted 1 like games on PS4.
Reminds me of developers doing a SELECT * FROM Patients (right, no WHERE statement) and then finding the correct patient(s) locally on the computer (not kidding, I saw this in commercially sold software). And in case someone complains about speed, just tell them to get a faster network connection.
 

Vinci

Danish
Needs some optimize prime. Regardless of what he says it does sound unoptimized

Why would you spend time doing something that does not impact the end result and adds to the costs associated with delivering that end result?

Seriously, this isn't hard. This is basic business.
 

Randdalf

Member
So... I'm confused... are people are saying it's unoptimised because it uses too much RAM? Or not enough?

Space-wise it's probably unoptimal and will result in a longer initial load time, but performance wise it should be just fine assuming they layout their memory intelligently.
 
What crock of bs. It's easy for any app to use 5Gb lol.

He probably should stay away from technical talks.

Among other things, Blow talks about using hi res texels using 4x as much memory as we are used to. Of course he knows he can optimize, but I can fully understand he (and other programmers) would choose not to.
 

TheD

The Detective
Seriously?
More like 100s of ns latency main memory vs 100.000s ns ssd read.
I have been way to generous saying 30 cycles its more like 150+ cycles that is quiet a lot of cycles to do computation vs waiting for memory to use a look up table.

Off course i took caches out of the equation to simplify a bit. And what the kind of algorithm is being used. That is why benchmarking is important.

I was meaning nanosecond scale and you said hard drive, not SSD!
It does not matter anyway, data from HDD drives or SSD drives is always going to be much, much slower than data from modern, high speed RAM used in PCs and consoles!

That is fact! and anyone with some tech knowledge should know that!
 
Space-wise it's probably unoptimal and will result in a longer initial load time, but performance wise it should be just fine assuming they layout their memory intelligently.
But wouldn't the most optimised game use all of the RAM? If it's not using it all... then there is still untapped performance?
 

TheD

The Detective
I really hope Jonathan Blow won't read this thread.

Yeah, it is appalling how some people that clearly do not have a reasonable level of computer knowledge attack a man because he does not want to pointlessly have RAM go to waste!

I bet they are the same type of people that whine about OS like Windows Vista, Windows 7, Linux ect. caching commonly used programs in RAM because the free RAM number is lower than shit like XP (bar the fact they kick the cache out of RAM when a program needs it instead).
 

LestradeTGQ

Neo Member
As someone who just spent a month of studio time getting his Steam game, which previously needed about a gig or two of RAM in Windows to comfortably run, optimized to only needing 256MB on an iPod Touch, I recognize both sides of the arguments being presented here.

Optimizing is super-important, obviously, and can also reduce the amount of bugs/support calls you have to deal with, but it definitely eats up development time and budget. There's always a trade-off, as others have said. But for small/indie studios like mine, having some headroom is definitely beneficial.
 
Status
Not open for further replies.
Top Bottom