Berry van Someren
Software Engineer

Hot-Reloading Ray-Marched Python Games (POC)

2023

I created a lightweight wrapper around pyglet that performs hot-reloading of your code and content: Ververser. When your app is running, changes to content will automatically be hot-reloaded. If an error occurs, the app is automatically paused, and will automatically be resumed when content is updated. All you need to do is save your changes. This makes the development workflow faster as you do not have to restart the entire app every time an asset is changed. This is especially useful for creative coding. The code for ververser can be found here on GitHub.

Speelgrond is a screen shader playground built on top of ververser. While ververser is set up more generically, speelgrond is more specifically meant for applications that load a single screen shader. Think shadertoy but with python scripting for game logic. The code for speelgrond can be found here on GitHub.

As a Proof of Concept, using speelgrond, I created a ray-marched scene with a character that has procedural animation. This is meant just as an exploration sandbox to showcase the refreshing mechanics of speelfgrond and ververser. I'm afraid I don't have the time to make a full game... 😉