Game Engine Nodes IDEA

So I was working in the node editor playing with some materials when I got this idea. What if the game engine used Nodes. For example you could use “if” and “but” nodes the same way you would use a shader node in cycles. You could just connect the scenario node to the if statement node to the ending result node. I feel like this would make it a thousand times easier to find mistakes in your coding because you could just follow the node connections instead of having to read through scripts. Though obviously you would still need scripting but you could just have script nodes that allow you to place code in them.

I haven’t done any programming in years and I have never even tried the internal game engine in blender but I just thought I’d throw this idea out there. Maybe its crazy or wouldn’t work let me know what you think! I know a lot more people would be making games with blender though if it was that easy :wink:

I did a (similar?) experiment in an add-on, it kinda works. It has the same issues that any node editing ui has, namely the visual complexity grows linearly with the logic one, which is why we don’t use node editors to write programs. It’s a fun toy though.

pgi, if you compartmentalized functions in objects, that target systems, you can seperate some of the complexity,

like a control system, that pipes input to a actor, who holds equipment.

The control tells the player what is pressed , the actor acts on the keypress list, like telling the weapon to fire if ready, and the weapon handles all the rest.

(divide up the complexity)
the controller knows who the actor it is controling is, but that can change to a new actor (no direct node links between controller to actor, or actor to equipment)
this way, in theory at least nothing ever gets too complex.

You already can use the node editor to create your own “behavior”. You can even write your own editor that creates logic bricks or python code out of the nodes.

The editor at the current stage is not designed to describe such behavior. For example, it does not like loops, it does not like multiple connection at a single socket. [These limits might not be present anymore]

But you could “easily” create nodes that represent the current logic editor. While this is redundant you get the benefit of freely moving the nodes around.

[With “easily” I mean you can do that just with Blender’s Python API. no C++ coding]

Although the additional value is questionable.