Godot PSX Style Demo

Available on GitHub (MIT License)

A collection of shaders and materials for Godot engine that aim to recreate the following aspects of the PS1 aesthetic:

  • Vertex "snapping"
  • "Wobbly" texures through affine texture mapping
  • Limited color depth
  • Hardware dithering to hide color banding
  • Shiny chrome-like metallic surfaces
  • Billboard sprites
  • Fog to limit draw distance

Demo Controls

  • Space: Toggle camera and object movement
  • R: Reset rotation

Tips for best results

  • Use low poly models
    • Prefer smooth-shading over flat-shading wherever possible
    • Don't be afraid to include extra edge loops to smooth out texture distortion in your geometry! PS1 levels often had much higher polycounts than you might expect!
  • Keep textures as low resolution as you can
    • Make sure filtering and mip-maps are both disabled
    • Rely on a mix of vertex colours and texture maps, instead of higher detailed texture maps wherever possible
    • Posterizing your textures with a depth of 15 or 16 before import goes a long way to making them feel more "PS1"
  • Keep your internal resolution low
    • Common PS1 resolutions were 256×240, 320x240 and 512x240 (Source)
    • That being said, you can easily go widescreen by using a 16:9 resolution with similar height
  • Use as basic of a lighting set up as you can get away with
    • Modern lighting techniques are a very easy way to break the illusion of appearing like early 3D!
    • Where possible, prefer to use white ambient light, with vertex colours on geometry to fake lighting
    • Prefer additive blending to transparent blending

Originally based on: https://github.com/marmitoTH/godot-psx-shaders

Floor texture (available under CC-0): https://stealthix.itch.io/rpg-nature-tileset

Updated 8 days ago
PlatformsWindows, Linux, HTML5
Made withGodot
Tagsdemo, godot, ps1, PSX, Retro, tech-demo


godot-psx-style-demo_v1.2_win.zip 12 MB
godot-psx-style-demo_v1.2_x11.zip 13 MB
godot-psx-style-demo_win_v1.3.zip 12 MB
godot-psx-style-demo_x11_v1.3.zip 13 MB

Development log


Log in with itch.io to leave a comment.

Any chance you could make this open source?

(1 edit)

It is! It’s available on GitHub under MIT License


(1 edit) (+1)

Excellent stuff, but there is a problem with the lit alpha scissor shader; fog color is applied over the alpha areas.

The lit transparent version doesn't have this problem,  so presumably, it is a case of oversight with a simple fix?

[EDIT] I have fixed it by taking the code from the working transparent shader and adding

uniform float alpha_scissor : hint_range(0, 1) = 0.1;

to the declarations, and

ALPHA_SCISSOR = alpha_scissor;

to the final fragment.

I also pasted the billboard stuff in there too, although I'm fairly clueless about shaders and just bumbled through this.

Deleted 216 days ago

Fixed https://github.com/MenacingMecha/godot-psx-style-demo/commit/2d6bbeda81533de7b73c1db3c578a11677aa81b3

Thanks for pointing this out!