Comment by djmips
3 months ago
I did a PS1 project for GGJ 2024 and found it rather difficult to do in the 2 days I allocated! I did get as far as building and running and used the ps1n00b. I'm the end I was able to burn a CD and launch into a 3D environment where you could fly around a checkerboard flat plane. Very exhausting but fun.
Next time I'll budget more time for a PS1 project, especially 3D even if my original goal was just a simple flight around some very simple terrain I barely got anything working. Nevertheless it was magical to see the project boot on real hardware!
That’s a difficult project. Congratulations for even getting a 3D environment you can fly around!
My own experience is that it’s so difficult to make homebrew games not just because of the technical challenges you have to solve making the game, but also because of the poor experience with tools and debugging. Pretty soon, you find your project taking up more time than you can reasonably spare. I think it’s impressive when people manage to get something interactive working on these old consoles, anything at all beyond a “hello world” template.
Indeed the art pipeline alone is a huge challenge - and particularly so on these first generation 3D consoles. There is some GL like aspects to the rendering side as well but with a _lot_ of idiosyncracies. I was sweating it. I feel like N64 would be slightly easier.
I’m not sure the N64 would be easier. The graphics hardware in the N64 is complicated.
In some ways the console is really modern (perspective-correct texture interpolation, z-buffering, subpixel positioning). On paper, it seems a lot like a more modern system. But the hardware complexity is a beast. and the design is permeated with bottlenecks. Half of the graphics pipeline is taken up by the RSP, which is a fully programmable vector processor--sounds cool, but in practice it is unapproachable. 4 KiB of texture memory (and if you use a palette, half of it is the palette). RAM bandwidth is barely fast enough to handle 3D scenes.
https://www.copetti.org/writings/consoles/nintendo-64/
The folks working on LibDragon have done a lot of work to make homebrew a better experience, but you’ll note that support for 3D graphics is still only in a preview branch.
https://github.com/DragonMinded/libdragon
Could you run the CD with the project on original stock hardware? Or was it a modded PlayStation?
People are edging closer to figuring out how to burn CDs that can boot on unmodified hardware but it's still unsolved for the average person. I used a modded PS1.
It's still very stock other than the bypass.