godotengine / godotengine/godot-visual-script

Add reactive extensions to visual scripting

Open
#20 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
C++
Stars
131
Forks
25
PR merge metrics
No merged PRs in 30d

Description

**Describe the project you are working on:**
turn based casual web game

**Describe the problem or limitation you are having in your project:**
repetitive visual scripting just for easy task

**Describe the feature / enhancement and how it helps to overcome the problem or limitation:**

I wish godot should adopt reactive extension and let it be part of the signal system for scripting and visual scripting. This would make it easier to manipulate signal flow relationship and reactive extension is already have userbased

**Describe how your proposal will work, with code, pseudocode, mockups, and/or diagrams:**

This below is current visual scripting for simple

![image](https://user-images.githubusercontent.com/1042507/92993823-fc5d0500-f51e-11ea-8f81-3c2fea44ff6f.png)

This is what I think will improved

![image](https://user-images.githubusercontent.com/1042507/92994078-4a730800-f521-11ea-8c4f-295e87dd8acc.png)

With the reactive pattern. The signal and value would be combined into typed signal. Signal maybe void signal or have value or even a tuple of values combined from multiple signal (as it might be came from reactive `Zip` or `CombineLatest` signal)

With the example above. It change the graphing from

```
Signal trigger SetValue
SetValue get a value from GetValue
```

into

```
Signal Select GetValue (change type from void to float)
GetValue signal trigger SetValue
```

Signals could also be processed with reactive operator, buffering / throttling / combining / merging / filtering. It would me more intuitive to work with complex orchestration of signal

**If this enhancement will not be used often, can it be worked around with a few lines of script?:**
not sure about this question

**Is there a reason why this should be core and not an add-on in the asset library?:**
It was changing of the visual scripting itself at the core so it better be a new version of visual scripting

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.