Skip to main content
R
15d ago

Rive editor scripting support, visual, python, or otherwise.

I'm a game programmer and tool developer, and I don't use Rive directly, but its seems an incredibly powerful tool for artists to take control of their work. It puts a lot of power in their hands and I love it.

From what I can work out however, there are some limitations on what's possible within this framework, resulting in:

- Artists building overly complicated state machines and timelines, or having to duplicate them. To create behaviors mirroring loops, incrementing variables etc. (see the gif @ https://help.rive.app/editor/state-machine/inputs#number duplicating pepper functionality 5x as a simple example of this.)
- Artists having to ask us (programmers) to implement functionality in the runtime, to achieve the effect they want. (they don't want to ask us, and we don't want to do it... it slows both parties down.)

I'm sure the Rive developers have a clearer understanding of what's feasible... but I suspect to achieve Rive adoption similar to how flash was adopted back in the day, or to how AE has cemented itself as the only real tool for motion design, a scripting language (in the rive editor), or at least some kind of visual scripting is needed.

Frow my limited understanding, there are already functioning:
- state machines and events (sequencing)
- inputs (variables).

This is already halfway there but with the addition of:
- Instanced state machines/timelines (think prefabs, blueprints, class instances etc.)
- Loops to leverage instanced data.
- binary, float and integer arithmetic, linear algebra.

The rive editor becomes a fully functional interactive designer. And will (probably) take over the world.

Maybe creating a node of some kind you can embed python in, and an api that can communicate with. There seems to be some precedent for this in web apps such as jupyter notebooks, python is commonly understood by technical artists in maya/blender/houdini land. And with an api exposed it opens the possibility for third party plugins. (kinda essential, if you consider where AE would be without plugins)

I understand this is a cheeky feature request, If my understanding of Rive is flawed, please ignore (or correct) me. I've just seen how rive is empowering my artist/motion designer friends, how excited they are, and I really want to help the project grow!

3 replies
R
S
S
14d ago

Being a game developer myself, I wouldn't second this. Embedding an additional scripting environment into the Rive runtime would be quite bloated. I'm with you in regards of cloning and such, but I hope, this will be included in the data binding, which is on the way. I'm with you, that we need some kind of artithmetik handling on the level of inputs and events. But having a full blown script engine I have to expect, regarding execution times, memory consumption, error handling etc. pp., would contradict the decoupling of UI and game project. Even if this scripting is limited to the editor, this raises complexity on both sides dramatically. Currently, what you do in the editor is what happens in runtime. I feel this is something to conserve.

R
12d ago

That sounds reasonable, yeah.
From my point of view, if the functionality doesn't exist, give me the ability to build it, and then I can empower my team to do whatever they need to... but I suppose the approach I suggest is somewhat nuclear, and probably speaks to my lack of experience with the software.

Presuming the issues we seem to agree on, are solved via other means (data binding sounds interesting, binary and float/int arithmetic don't require a full scripting engine) then I think my primary concern is alleviated.

S
12d ago

Please, feel free to vote up the other feature requests going in this direction, as we definitely agree on the level of more logical control. I even would envy some kind of evalutation track for timelines, but adding full scripting abilities would potentially bloat the editor and the runtime. But that's just my personal opinion.