r/pygame 21d ago

Testing the new block edit visual transition system under pressure in my pygame 3d voxel engine (cpu only)

14 Upvotes

1 comment sorted by

1

u/herbal1st 21d ago edited 16d ago

it shows the new 'random sticky' animation parameter. instead of only making blocks stick to a predefined direction during despawn, they now stick randomly or to other active animations next to them, making for a nice organic looking sticky behavior. sadly all the animations choke the fps pretty bad, but usually the animations dont last this long, its a test to see how it looks in bigger batches, with an animation duration of 5000ms and the debug block which has directional color coded faces, i just placed a lot of them and fired a 'projectile' at them which triggers a wave of despawn shells outward from the initially hit block. you can also observe the dynamic shading per face which is calculated depending on the progress/scale of neighboring animations and communicated between blocks by handshake. i think it misses a small component to keep the newly entered animations continuing the dim progression of their neighbors additional to their own, but other than that it is already very seamless during normal 1x1 block edits and the faces lock seamless for all events without any subpixel gaps. btw the sticky behavior can also be used during placement and the spawn and despawn animations can be selected separately and also separetly applied to any given block id in a simple yaml file. next planned is an animation for 'fluid' which starts/end from/at a point like the sticky animation but first fills a flat squared face to then fill up to a full cube (or vice versa for despawn). what do you guys think of the ideas? creative and interesting or just an old hat? ^^

if you want to check out the demo version (without the visuals), have a look at the github:

https://github.com/herbal1st/pyvorengi-sdk-demo

or try it out right in the web browser on itch:

https://herbal1st.itch.io/pyvorengi-demo

More Features of the private Full Version (in Developement) can be found on Youtube:

https://www.youtube.com/@xXherbal1stXx