itch.io is community of indie game creators and players

Devlogs

Using PSXSplashEdit to craft a scene for PlayStation

Sauna [PS1]
A downloadable game

PSXSplash is an awesome little sdk that allows an easy way to make explorable PS1 scenes. You can use it with PSXSplashEdit  to use Unity as your editor for PS1 scenes. In the future you can even make small games with it!

This blog post goes through my process and learnings of developing this little sauna scene. I highly recommend trying PSXSplash yourself.



1 TEXTURES

I used my phone to shoot photos that I edited with Krita and Asesprite. As PlayStation rendering is quite low resolution it is very forgiving. You can use any kind of potato to take photos as they will get heavily crunched down anyways. Alternatively, you can just paint pixel art directly if you go for more stylized look.

I like the look of photo based textures personally, so I went with that style in my scene.

Maximum supported texture size for PS1 is 256x256. The textures in PSXSplash can use three different bit depths. 16-bit textures take 1:1 space in VRAM, 8-bit textures take 1/2 of that and 4-bit textures 1/4. 8-bit and 4-bit textures use color lookup tables (CLUT) that need to be saved to VRAM too.

When the Unity scene is converted all the textures you are using will get quantized to the bit depth you have chosen. You can preview how the textures and CLUTs look like in PSXSplashEdit.

PSXSplashEdit manages the VRAM layout. As long as you don't go over, textures and their CLUTs get loaded automatically. The full VRAM of PS1 is 1024x512. The frame buffer is also included there.

You can see that in my scene I used combination of 16-bit and 4-bit textures. 16-bit textures were used for large / hero objects. 4-bit textures were used for most of the world geometry and repeating elements. The 4-bit textures look funky in VRAM as their colors are stored in CLUTs. You can find CLUTs between the frame buffers in this VRAM layout.


2 MODELLING

For modelling I used Blender. PSXSplash does not currently optimize the scene visibility, so try to keep them simple. My sauna scene already is not running optimally due how many polygons it has. Once PSXSplash matures and the games made with it can have multiple scenes easily, then it would make sense to split this kind of scene to two parts. Outside and inside.

You can still easily find rendering issues with the scene. Here, for example, the inner wall is bleeding into outside. These kind of issues can usually be fixed by adding more geometry, but I didn't want to make the scene any heavier than it was so I just left them be.


3 UV MAPPING


4 LIGHTING

To light up your scene, you need to add lights in Unity. Directional, point and spot light components are supported.


5 NAVIGATION

Here is the navigation mesh from my scene. Additionally I used bunch of NavMesh Modifier Volumes to restrict parts of the level. 

6 FINAL WORDS

PSXSplash is pretty straightforward and approachable entry for making little scenes for PlayStation. I can easily recommend it if you already have some familiarity for texture creation, 3D modelling, Unity scene composition and understanding of how to set up VS Code projects.

I recommend joining PSX.DEV Discord. It is the best entry point for PS1 homebrew development. Have fun!

Download Sauna [PS1]
Read comments (1)