Rokojori
banner
rokojori.com
Rokojori
@rokojori.com
🎮 Hi, your solo game dev from Berlin 🤟

Developing the ROKOJORI ACTION LIBRARY, a Godot addon for quick game developing with actions and procedural asset generation

✨️ https://rokojori.com/en/labs/rokojori-action-library/overview
It should be forbidden! It's too dangerous!
December 20, 2025 at 3:32 PM
Use attributes like vertex colors
December 20, 2025 at 12:01 AM
I think this YT video is helpful:
www.youtube.com/watch?v=spBa...
Godot's NEW interactive music types
YouTube video by Octodemy
www.youtube.com
December 16, 2025 at 1:27 PM
The final deformation vector = deformation direction * amount. Additionally the deformation vector is dependent on height, so the root is not affected.

Deformed grass is highlighted

Code attached, I hope it's readable.

#GodotEngine #GameDev #Grass #Deform #IndieDev #IndieGameDev
December 14, 2025 at 12:06 PM
Sort of. The amount is the distance of the vertex to the line (L) formed by current (P) and smoothed position (S).

When the player stands still it becomes a single point.

The deformation direction is the direction from vertex to (P)

#GodotEngine #GameDev #Grass #Deform #IndieDev #IndieGameDev
December 14, 2025 at 12:06 PM
Because the texture thing is more heavy, you can also try at first this:

For one object you can use the current position and a smoothed position as line and map the vertex distance to this line. Smoothed position will become the current position after a while so the grass will slowly follow too.
December 13, 2025 at 9:08 PM
Thanks!
December 13, 2025 at 9:01 PM
I would say let's stay constructive with this. I tried it 'cause I felt I saw a bit too much negative feedback. But after trying I can confirm, it is also for me personally not a better theme. I tried to give some constructive feedback, especially because I had different expectations. Tastes differ
December 13, 2025 at 9:18 AM
- Or for one object with a trail:
Line with multiple points offset/smoothed in time of the object, than using round cone sdfs, deform vector either by the direction to the first point or maybe computed with sdf gradients

The latter is more performat. I like using only one smoothed past position.
December 11, 2025 at 11:32 PM
You can use different approaches for different use cases:

- For multiple objects:
Top Down Viewport with deformation vectors (rg = xz offset, quads attached to objects only for the viewport) + temporal blur as compositor effect to smear the positions over time. Sample this to offset the verts...
December 11, 2025 at 11:32 PM
Very fancy!
December 8, 2025 at 7:58 AM
Thank you ^^
December 8, 2025 at 7:32 AM
And one day I hopefully also have time to document my procedural grass generator, but until then it's available in my library:
rokojori.com/en/labs/roko...
Rokojori Action Library Overview | ROKOJORI Labs
Rokojori - Games, Music, Development
rokojori.com
December 6, 2025 at 11:24 AM
And with more detail in @hexaquo.at's blog the grass series:
hexaquo.at. He also did a great talk at GodotFest about landscape visualization in general, also on YouTube
hexaquo
hexaquo.at
December 6, 2025 at 11:24 AM
I can recommend GPU Particles shader placement for performance (with height map/wind/cut map shader), here some tutorials, e.g. devmar did a nice yt video: rokojori.com/en/labs/godo...
Grass & Foliage | Godot | ROKOJORI Labs
Rokojori - Games, Music, Development
rokojori.com
December 6, 2025 at 11:24 AM
It's called svg. Just create one template while referencing your images.
December 4, 2025 at 1:37 PM
In my apps I have UI handlers which handle at inputs in a fixed order where an event can be consumed to stop the propagation. A handler can also request exclusive focus. For instance I think it's weird when you have drag interactions where unrelated sliders/ui components get hover events
December 3, 2025 at 6:03 PM
Epic!
December 3, 2025 at 5:40 PM
Not sure if related: Godot has this horrible thing implemented, where it resets an object when an error occurs (deletes the custom data in memory). This happens on errors in tools or c# recompiling. So it could be that it fails somewhere and silently (or with error log) kills overwrites
December 1, 2025 at 10:11 PM
That is one reason why I have a timeline manager with custom time lines (synced to either game time or realtime). The timeline manager allows to add one time callbacks, spans and loops. My OnTick nodes use the loops option to trigger only in duration intervalls than can be set in the node
December 1, 2025 at 9:46 PM
Oh sorry, I did not write it clear enough. This is a custom class you need to write. It doesn't exist. This is for making scenes referencable without keeping them in memory. It's a bit better than paths, because the references will be updated automatically
November 26, 2025 at 10:29 AM