Simply put, this test was quite long, and I encountered many issues that I believe could be optimized. Drawing from my experience with other software, I’d like to share my thoughts as a beginner:
I. Areas for Visual Script Optimization
-
Support for more flexible filtering, searching, or tagging of state machines or object contents:
Generally, when selecting an action to execute or changing a value, one must specify a particular unit to act upon. However, software like GDevelop allows users to manually input values and then use optional fuzzy or exact search to find corresponding states or animations, rather than specifying a particular object. This approach enables more efficient selection for both multi-target and single-target scenarios. For example, if I want to change an enemy’s state to “stunned,” as long as the enemy’s state machine contains a condition matching “stunned,” it will automatically trigger the stun effect. I understand that more complex methods like functions or signals can achieve this, but why not simply allow creators to implement their ideas more quickly? -
Support for inputting calculation formulas or functions:
Currently, numeric constants can be modified through actions, but I believe supporting input of formulas or functions would be a better approach. While preserving AGM’s existing logic, we could introduce a new method for modifying numeric values. By selecting “Custom” in the calculation formula section, users could compute results using specific functions or variable values. For instance, entering “a+1+b” would automatically calculate the result, rather than only allowing numeric input as it does now. -
Expand the scope of visual scripts:
Consider providing dedicated AGM nodes that can be attached to child nodes for calculations, thereby reducing memory consumption.
II. AGM Node Improvements
-
Strongly recommend adding UI nodes and support for UI nodes:
Currently, the UI system still relies on Godot’s native UI. While implementing this might only require a few lines of code, why doesn’t the visual script cover this aspect? Common elements like buttons, clicks, and selections could all be implemented. I don’t think this is overly complex. After all, people who purchase AGM aim to avoid programming. Why should such an important part as UI be overlooked? -
Recommend adding dedicated nodes for handling or emitting signals:
As the title suggests, this would simplify the creation process. -
Add more functional nodes:
For example, nodes likequeue_free()could be included. Creating several functional nodes that can be directly activated within animations would accomplish corresponding actions and save considerable effort.