4 ms·
Pretty sure all 3D PS1 games tapped into assembly for performance. The most “famous” thing about Crash programming is probably that it’s all in lisp, with inli
by fmbb 2y ago
Pretty sure all 3D PS1 games tapped into assembly for performance.
The most “famous” thing about Crash programming is probably that it’s all in lisp, with inline assembly.
- wk_end 2y agoI don’t think either of these things are true. By the mid-90s, C compilers were good enough - and CPUs were amenable enough to C - that assembly was only really beneficial in the most extreme of cases. Sony designed the Playstation from the jump to be a 3D machine programmable in C - they were even initially reluctant to allow any bit-bashing whatsoever, preferring devs used SDKs to facilitate future backwards compatibility. No doubt some - even many - PS1 games dropped down into assembly to squeeze out more perf, but I doubt it’s anything like “all”. As for Lisp, Crash used a Lisp-like language, “GOOL”, for scripting, but the bulk of the game would’ve been native code. It was with Jak & Daxter that they really started writing the game primarily in a Lisp (GOAL, GOOL’s successor).
- boricj 2y agoDefinitely not. I'm reverse-engineering Tenchu: Stealth Assassins and the original Japanese release's game code is written entirely in C as far as I can tell. It does use the Psy-Q SDK which contains assembly, but it's not something that the game developers have written.
- dagmx 2y agoBoth PS1 and N64 games were beyond the generation where direct assembly was required to achieve necessary performance. Compilers were good enough by that point in time for the vast majority of games.
- mypalmike 2y agoMost games were primarily C. 3D performance came from the graphics hardware, which had straightforward C APIs and dedicated texture RAM. The machine lacked a floating point processor, so I think we wrote some fixed point math routines in assembly, but that's basically it.
- pjmlp 2y agoPS1 is famous among game developers for being the first games console for the home market with a C SDK, instead of only Assembly as programming option. All games tap into Assembly, in some form or the other, even nowadays.