Live data from Hacker News

How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1

quora.com

131–140 of 254 posts

Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1

#131
post #69

Crash Bandicoot was quite a technical feat, but also (perhaps less talked about) - a marketing feat. The series went to sell ~50 million copies IIRC and was also the best selling Playstation game of all time.

Games that are well engineered tend to be good games for some reason :-)

See: Doom :)

Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1

#132
post #19
post #3

Pretty 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…

Some day I will write a blog post about the tricks we have to pull off to fit all code & assets - or get animations running at 30FPS - on Pebble. Trust me when I say this: low level development is alive and well at hardware companies.

Subscribed! :)

Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1

#133
post #112

Earlier quoted context omitted.

That sounds like a rumor. Mew already existed in the storyline unless that programmer then added the entire Mew storyline (inc. Mewtwo) - otherwise there was no reason for Mewtwo to exist

maccard posted a source a moment ago: http://www.nintendo.co.uk/NOE/en_GB/news/iwata/iwata_asks_-_... The character of Mew was meant to be referenced through the story, but not actually catchable. Considering that you can only get Mew by exploiting bugs in the game, it's pretty believable that it wasn't added above the radar.

You could obtain Mew in completely legitimate ways, it was given through promotional events in Japan:

http://bulbapedia.bulbagarden.net/wiki/Mew_(Pok%C3%A9mon)#In...

Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1

#134

Earlier quoted context omitted.

maccard posted a source a moment ago: http://www.nintendo.co.uk/NOE/en_GB/news/iwata/iwata_asks_-_... The character of Mew was meant to be referenced through the story, but not actually catchable. Considering that you can only get Mew by exploiting bugs in the game, it's pretty believable that it wasn't added above the radar.

You could obtain Mew in completely legitimate ways, it was given through promotional events in Japan: http://bulbapedia.bulbagarden.net/wiki/Mew_(Pok%C3%A9mon)#In...

Long after the game shipped and Nintendo realized that the Pokemon had been included, though. Required external hardware to get as well.

Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1

#135
post #50

Earlier quoted context omitted.

iOS documentation: "Instead, if the amount of free memory drops below a certain threshold, the system asks the running applications to free up memory voluntarily to make room for new data. Applications that fail to free up enough memory are terminated."

That has nothing todo with what op is referring to. Even on iOS you have a virtual memory system, like a normal PC does. If your app runs out of ram it will page to storage and the OS handles this for you. The PS1/N64 did not have any storage beyond RAM and also no virtual memory management so you had to write all the paging from CD/Cartridge to RAM yourself. Quite a difference.

Sort of. iOS does have a virtual memory system, but it's not as forgiving as a full OS would be; applications that fail to free up memory when asked to (i.e. in a low memory situation) are killed by the OS. See also: https://developer.apple.com/library/mac/documentation/Perfor...

Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1

#136

Earlier quoted context omitted.

The problem is, that fps stays below 30 for 90% of the development cycle. Only in the last few months of a project everyone rips out useless code, debug code, debug overlays, loggers, extra network connections for statistic and performance servers,and finally you can produce a "nearly" final version of the game that doesn't have any debug code in - and only in that state you can see how it will run on actual hardware…

This is why we see all these Early Access games that run like garbage. They are still in the develop new features and fix bugs phase, and have not yet gotten to the optimization/strip out debug code phase.

And yet, I wonder if they couldn't release a production build without all that (maybe crash handling/reporting). Early access games are what agile development is to software - or should be. Going to production several times a day without giving up on the application's performance, and such.

Early access game devs pushing unoptimized releases should set up their release system betterer.

Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1

#137
post #34

> Ultimately Crash fit into the PS1's memory with 4 bytes to spare. Yes, 4 bytes out of 2097152. Good times Wow. Just wow. One can only imagine the amount of hard work and sweat that was put into making this possible. And the pride of developers when it actually worked and the game has become a success. Great story.

4 bytes to spare isn't surprising. When you're crunching things down, you stop once it fits. I once worked on a project that used 4x of its memory space when the project was half done. When I was done, I had 13 free bits of space. Yes, bits; I was doing a lot of bit picking to get it to work.

What was surprising is the lengths they went to to make things fit. A solver? Wow. My problem was relatively straight forward in comparison: just bit packing and silly amounts of code reuse: Hey, these two completely unrelated routines have the same 7 byte sequence; can I make it common?

Fun times, I miss projects like that.

Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1

#138
post #113
post #6

Earlier quoted context omitted.

Just try to code for mobile or embedded platforms. Yeah they might get bigger storage every year, but the reason why Google, Apple and Microsoft do talks about package size on their developer conferences is that size is number one reason for people to avoid installing apps, or to chose which one to remove. Also given how the app life cycle works on mobile platforms, big apps are being killed all the time they go into…

Embedded yes, but modern mobile is miles away from this. ~1GHz dual core, triple issue out-of-order CPU with 512MB-1GB RAM and maybe 10-20GB storage? That was a reasonable desktop PC not that many years ago.

Yet we have basic apps like the phone app stuttering on such "high-end" hardware.

Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1

#139
post #3

Pretty 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…

I feel a little sad every time someone says "We have much higher CPU power/memory now, those things are unnecessary". Maybe they are right but I feel like this is not the path we should take

It's not, but what is true is that people can focus more on features than on hacks to squeeze the maximum performance out of their system of choice.

Re: How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on the PS1

#140
post #32

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)

Following the same trend, the PS5 having 128GB of RAM seems a little ridiculous now, but consider that the PS4 was released in 2013, and the PS3 in 2006, so perhaps in 2020 it may really have that much.

I think that by then we'll have solid-state memory or something like that.
Post reply on HN