Live data from Hacker News

A remaster with no old code: Crash Bandicoot was rebuilt nearly from scratch

arstechnica.com

31–40 of 80 posts

Re: A remaster with no old code: Crash Bandicoot was rebuilt nearly from scratch

#31

Earlier quoted context omitted.

IIRC from developer stories from this era, things had to be done "creatively" to save space, and ensure optimal runtime execution. Certain platforms may well have had undocumented bugs and platform-specific optimizations that you simply had to adapt to. Archiving wasn't a consideration - launching a playable game that would pay the salaries and lead to future projects was. We take for granted that websites but in 95…

Yes and no. I don't really have a justification for saying this because I was never working in that environment, but I don't think the industry spent enough time thinking about how their games would be played in the future and I suspect that a lot of the "well, the platforms required us to do this" is an excuse. Yes, there are platform-specific quirks and bugs and stuff to work around, but say you're taking advantage…

It just sounds like you underestimate the difficulty of building games and, especially, overestimate the certainly that they will be successful.

It’s easy to preach how software should be written in the hindsight of a successful project that you had zero stake in. I doubt the developers of games that flop (so, most of them) wish they’d spent more time and money ensuring their unwanted flop of a game was easier to archive.

Re: A remaster with no old code: Crash Bandicoot was rebuilt nearly from scratch

#32

Earlier quoted context omitted.

Yes and no. I don't really have a justification for saying this because I was never working in that environment, but I don't think the industry spent enough time thinking about how their games would be played in the future and I suspect that a lot of the "well, the platforms required us to do this" is an excuse. Yes, there are platform-specific quirks and bugs and stuff to work around, but say you're taking advantage…

It just sounds like you underestimate the difficulty of building games and, especially, overestimate the certainly that they will be successful. It’s easy to preach how software should be written in the hindsight of a successful project that you had zero stake in. I doubt the developers of games that flop (so, most of them) wish they’d spent more time and money ensuring their unwanted flop of a game was easier to arc…

Architecture is the last step in this process. The low hanging fruit is "do you still have your source code and original assets? Is any of it documented?"

Nobody will ever know if the original code for Crash Bandicoot was written well or not, because in all likelyhood nobody has it anymore. And I don't think you can chock that up to, "well, developing games is hard." We can debate whether or not it's possible to release a game with readable source code, but if that was the only problem the games industry had with archival, I wouldn't honestly have much to complain about.

The sort of second problem I have with this is the idea that flops aren't worth archiving. I want flopped games to be archivable. If you're a studio and you're saying, "we don't have time to worry about this", fine, that's your choice. What I'm advocating is that preserving history is important, not just for Mario, but also for games like ET. I want people in the future to be able to play your failed games.

Of course caring about archival makes developing games harder, just like caring about accessibility does, and just like caring about framerate does, and just like caring about localization does. These are all different concerns that we try to balance, and widely the games industry has decided that archival is not a concern that it cares about balancing.

Re: A remaster with no old code: Crash Bandicoot was rebuilt nearly from scratch

#33

The games industry is so stinking bad at archival that it hurts. Very little consideration is paid to using architectures and build tools that can be replicated later. Source code becomes unavailable (as was the case here). Game logic is written using highly platform-specific code that's difficult to emulate. Source textures and other raw resources get thrown out. And not to diminish from the accomplishment of the te…

Fun fact, when Metal Gear Solid (1) was ported to PC, the work was done by a handful of people, and they didn't have access to the original resources so they found some of them on fan websites. Some of the audio files used in the release are 30 second loops of much longer pieces of music from the original game.

Re: A remaster with no old code: Crash Bandicoot was rebuilt nearly from scratch

#34
post #33

The games industry is so stinking bad at archival that it hurts. Very little consideration is paid to using architectures and build tools that can be replicated later. Source code becomes unavailable (as was the case here). Game logic is written using highly platform-specific code that's difficult to emulate. Source textures and other raw resources get thrown out. And not to diminish from the accomplishment of the te…

Fun fact, when Metal Gear Solid (1) was ported to PC, the work was done by a handful of people, and they didn't have access to the original resources so they found some of them on fan websites. Some of the audio files used in the release are 30 second loops of much longer pieces of music from the original game.

Huh, that's weird. PS1 assets were remarkably transparent. Generally the audio was just CD-A tracks or ADPCM files, and the rest of the data was a ISO-9660 filesystem that showed up when you stuck the disc in a computer.

Re: A remaster with no old code: Crash Bandicoot was rebuilt nearly from scratch

#35

Earlier quoted context omitted.

It just sounds like you underestimate the difficulty of building games and, especially, overestimate the certainly that they will be successful. It’s easy to preach how software should be written in the hindsight of a successful project that you had zero stake in. I doubt the developers of games that flop (so, most of them) wish they’d spent more time and money ensuring their unwanted flop of a game was easier to arc…

Architecture is the last step in this process. The low hanging fruit is "do you still have your source code and original assets? Is any of it documented?" Nobody will ever know if the original code for Crash Bandicoot was written well or not, because in all likelyhood nobody has it anymore. And I don't think you can chock that up to, "well, developing games is hard." We can debate whether or not it's possible to rele…

Well I know, because I wrote (approximately) half of it. :) It was written well in that it was a technically innovative and beautiful game that pushed the boundaries of the PS1 hardware. It was written well in that the shipped code didn't crash or have horrible show-stopping problems. (This was important because there were no streamed patches back in the days of physical media.)

But it was absolutely not written well from the standpoint of maintainability, abstraction, documentation, testability, etc. This is partly due to the insane time constraints we were under, partly due to the primitive nature of the development tools at the time, and partly due to the intrinsically low-abstraction methods required to achieve the necessary performance -- e.g., the entire renderer and collision detection system were written in MIPS assembly (by me).

Re: A remaster with no old code: Crash Bandicoot was rebuilt nearly from scratch

#36

The games industry is so stinking bad at archival that it hurts. Very little consideration is paid to using architectures and build tools that can be replicated later. Source code becomes unavailable (as was the case here). Game logic is written using highly platform-specific code that's difficult to emulate. Source textures and other raw resources get thrown out. And not to diminish from the accomplishment of the te…

Crash Bandicoot was written mainly in GOOL, a custom to Naughty Dog lisp variant. The game would have had to be rewritten anyway almost certainly.

Not really. The GOOL code was used for character logic and things like the load/save screen. The majority of the code was written in C and MIPS assembly.

Re: A remaster with no old code: Crash Bandicoot was rebuilt nearly from scratch

#37

Earlier quoted context omitted.

Architecture is the last step in this process. The low hanging fruit is "do you still have your source code and original assets? Is any of it documented?" Nobody will ever know if the original code for Crash Bandicoot was written well or not, because in all likelyhood nobody has it anymore. And I don't think you can chock that up to, "well, developing games is hard." We can debate whether or not it's possible to rele…

Well I know, because I wrote (approximately) half of it. :) It was written well in that it was a technically innovative and beautiful game that pushed the boundaries of the PS1 hardware. It was written well in that the shipped code didn't crash or have horrible show-stopping problems. (This was important because there were no streamed patches back in the days of physical media.) But it was absolutely not written well…

:) I like Hackernews a lot sometimes.

Re: A remaster with no old code: Crash Bandicoot was rebuilt nearly from scratch

#38

Earlier quoted context omitted.

Crash Bandicoot was written mainly in GOOL, a custom to Naughty Dog lisp variant. The game would have had to be rewritten anyway almost certainly.

Not really. The GOOL code was used for character logic and things like the load/save screen. The majority of the code was written in C and MIPS assembly.

It was used for all of the gameplay code. The C and ASM were just the engine level primitives. On the systems I've seen, the gameplay code can outnumber engine code 5 to 1.

Re: A remaster with no old code: Crash Bandicoot was rebuilt nearly from scratch

#39

The games industry is so stinking bad at archival that it hurts. Very little consideration is paid to using architectures and build tools that can be replicated later. Source code becomes unavailable (as was the case here). Game logic is written using highly platform-specific code that's difficult to emulate. Source textures and other raw resources get thrown out. And not to diminish from the accomplishment of the te…

IIRC from developer stories from this era, things had to be done "creatively" to save space, and ensure optimal runtime execution. Certain platforms may well have had undocumented bugs and platform-specific optimizations that you simply had to adapt to. Archiving wasn't a consideration - launching a playable game that would pay the salaries and lead to future projects was. We take for granted that websites but in 95…

It's a fair point. See emulated snes games that fail on some vfx because code relied on ultra specific hardware architecture.

Re: A remaster with no old code: Crash Bandicoot was rebuilt nearly from scratch

#40

Earlier quoted context omitted.

Not really. The GOOL code was used for character logic and things like the load/save screen. The majority of the code was written in C and MIPS assembly.

It was used for all of the gameplay code. The C and ASM were just the engine level primitives. On the systems I've seen, the gameplay code can outnumber engine code 5 to 1.

You're talking to the guy who wrote crash bandicoot
Post reply on HN