The source code for the dithering shaders is now available on GitHub.

A demo showcasing a collection of dither-based lighting shaders and various wind effects. Every pixel is one of 16 colors in the Endesga 16 color palette + black for shadows and UI.

Use WASD to move, Mouse to look, and P to pause.



  • Complex-looking lighting and shadows achieved with only 17 colors total.
  • A grainy, lo-fi aesthetic that harkens back to the early days of 3D rendering.
  • Physically-simulated ropes billowing in the wind.
  • Two original songs.
  • A single run animation.
  • About 2 minutes of gameplay.




The lighting shaders are still unoptimized and have a lot of quirks that I'm not entirely sure how to fix at the moment. That being said, I really like the aesthetic these shaders give so I might still put in the effort to make them more production-ready.


If you encounter any bugs or have any suggestions for the shaders/demo, please let me know!

Comments

Log in with itch.io to leave a comment.

The wind on the trees was cool and the mood was really nice, would be fun with a sword to woosh around. How did you do the tree?

I actually did make a sword model, I just didn't make any animations with it haha

Everything that gets affected by the wind subscribes to a global wind system that feeds them a wind direction and strength. They handle them in different ways, the trees specifically use them in a shader that does some vertex movement with it. It's just a slightly modified version of this GPU Gems chapter about vegetation in Crysis. Instead of using the Y value of each vertex to determine movement amount though, I paint all of the vertices based on how much I want them to move with the wind (black being none, white being fully affected). The base, for example, doesn't move at all, so it's painted black. This technique is really helpful for low poly art since I can manually prevent the bundles of leaves from moving too far off the branch.

I'll clean up the wind system and put it on GitHub for reference at some point, but hopefully, that article helps in the meantime!

(+1)

Oh nice yeah, thanks!

Wowser! These shaders look insane, great job!

Thank you! I recently rewrote them to support Godot GLES2 for my recent jam game Combo Chess! Once the rating period is over I plan on releasing the source code for the shaders :)

(1 edit) (+1)

Nice! Just checked out Combo Chess, its a really fun, and it'd be awesome if I could have a look through the shaders to see how you achieved it, as I'm trying to get better at writing Godot shaders :)

Just added a link to the shaders on Github! They're a bit complicated, and lighting shaders aren't all that useful outside of things like this, but I hope it's a good learning reference!

Thanks so much! :D