Looks like the system RAM on playstations increased by the factor of 2ˆ4 / 16x with every generation. 2MB to 32MB (PS2) to 512MB (PS3) to 8GB (PS4)
How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1
71–80 of 254 posts
Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1
#72Earlier quoted context omitted.
I am not a game developer, just a developer and a gamer, so please forgive what may be a goofy question: have you seen or engineered systems that capped the level designers' resources? For a super simplified example, I think of Forge in the Halo series, and I'm pretty sure Forge had a certain amount of monopoly money that gamer-designers ran out of eventually. Would such systems be infeasible more for political reaso…
The resources are usually capped in a "soft" way. So if the scene uses too much RAM for a console to handle, it will trigger a chain of emails that is sent to everyone involved, and well.....either I will be given a new task to somehow fit all of it in memory as a programmer,or a designer will be given a task to remove some stuff to go below limit. But framerate can be really tricky to handle,because ultimately, it's…
Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1
#73Resources blowing the memory was a common problem on the PS1. A common trick was to bake the resources into the exe. I worked on a game where the final disc was a directory of 25 exe's. Each exe was a level, even the front end was a separate exe. You could see that the size of each file was under 2mb, so you knew it would work. You would never/hardly ever dynamically allocate memory on the PS1. There was a lot of dup…
Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1
#74> and this had to be paged in and out dynamically, without any "hitches"—loading lags where the frame rate would drop below 30 Hz. This is what gets me. Modern game development seems to say "eh, a little hitching won't hurt anyone", and then we wind up with games that run like shit. Even on consoles.
With internet based games I wonder if that loading screen/hitch is essentially finding you a server as you move from one zone to another if the server you were on was too crowded. I also wonder if they are doing the equivalent in modern consoles - pushing the limits with graphics, etc. where you simply can't avoid the hitch. It would be good to hear someone's perspective on this that works on these types of games.
Chances are they're not doing anywhere near the same thing with modern consoles; maybe in off-the-shelf engine code to get maximum FPS, but the games themselves, not likely. Also because modern video games are millions of lines of code - you don't want to duplicate those tenfold by squeezing every bit of performance out of it. Maybe only in the most frequently accessed codepaths.
Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1
#75Earlier quoted context omitted.
The resources are usually capped in a "soft" way. So if the scene uses too much RAM for a console to handle, it will trigger a chain of emails that is sent to everyone involved, and well.....either I will be given a new task to somehow fit all of it in memory as a programmer,or a designer will be given a task to remove some stuff to go below limit. But framerate can be really tricky to handle,because ultimately, it's…
Is there no standard? Like, if fps drops below 30 on a play through - red light and fix.
Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1
#76I wonder if anyone controls the physical layout of bytes on the disk, at least for things like installing large software packages on an HDD, or a major release of an operating system on a DVD. It doesn't look likely: every time I install Ubuntu, I feel the process could be made much faster.
Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1
#77Pretty amazing what kind of skills game development required back then. One side of me is happy that we have all these great tools today, the other is sad because you hardly use this low level stuff in todays software development world. We are solving different problems today, but the level of software development skills required for a game that today could be done by a single person in Unity in a few weeks is quite…
A good portion of this stuff does still go on in Games Development. I don't work in games any more, but on the last title I worked on (Forza Horizon, Xbox 360), one of my colleagues engaged in a very similar exercise in order to allow data for the open world to be streamed in quick enough to deal with car (travelling at potentially 150+mph) to drive through the world without having to wait for loads, whilst streaming…
Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1
#78Resources blowing the memory was a common problem on the PS1. A common trick was to bake the resources into the exe. I worked on a game where the final disc was a directory of 25 exe's. Each exe was a level, even the front end was a separate exe. You could see that the size of each file was under 2mb, so you knew it would work. You would never/hardly ever dynamically allocate memory on the PS1. There was a lot of dup…
Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1
#79Aren't there polytime algorithms that approximate to a certain percentage of the optimum?
Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1
#80I recall reading that at one point game programmers were using portions of their code as textures. Which reminds me of the story of Mel. http://www.catb.org/jargon/html/story-of-mel.html
Stenography via rearranging executable code within a binary file so that the binary file looks most like a particular bitmap.