Nodebox
by
Manonox
| Summary | Nodebox is a reimagining of Wiremod gates from Garry's Mod made in S&Box |
|---|---|
| Description |
Nodebox A UGC (User-Generated-Content) Node Graph Library for S&Box Description Nodebox is a reimagining of Wiremod gates from Garry's Mod made in S&Box ⚠️ The project is in it's infancy, expect bugs and constant breaking changes ⚠️ Inspired by Unreal Engine's Blueprints and Resonite's Protoflux The `Node`s themselves are abstracted away from any visual/interactive parts You can implement wrappers for them, which provide different visuals/behaviour/etc. Currently, only `Node3D` exists, which displays the inner `Node` via a `WorldPanel` (1 `Node` = 1 `WorldPanel`) "Play" it: Nodebox Showcase Add it as a library/dependency or whatever-the-f: Nodebox Source code: Github FAQ (Frequently Asked Questions) Why not just use ActionGraphs? A#1: ActionGraph can't be edited in-game (someone will definitely prove me wrong) A#2: If someone made an editor for them smh, it would have 0 collaboration features A#3: There are no protection features, which means you either are giving players full control Why am I stuck and can't move? A: You might have an input field selected on a `Constant<T>` node, try pressing Enter Will there be a permission system to restrict which properties players can fuck with? A: Yes and No, there should and will be one, but much later when Facepunch finally makes a Sandbox gamemode. In terms of other gamemodes - disable `ShouldLoadDefaults` on the Node Library and Do It Yourself Execution control, For, While, Delay? A: Nope, Soon-ish Variables or something like that? A#1: I ate them A#2: There will be Components that you can add to GameObjects to store variables, soon-ish. Better options like local variables will be there when we'll figure out `NodeContext`s User Docs? A#1: I ate them A#2: There are Name/Desc fields on Nodes, which will be used later for an in-game tooltip thingy Developer Docs? A#1: I ate them A#2: A wiki will go up on Github, when the API is stable and doesn't shit it's pants Where are ? and ?<?> nodes? A: I ate them (make a feature request) "After-contest" planned features • Comparison and BitwiseOps nodes (and just general wiremod feature-parity) • Better implementations for Add, Clamp, etc..., which should be based on interfaces instead• (+ a shit ton of useful interfaces/math functions that should probably move into a separate library) • UI Helper thingy, that shows you the text input field you have focused• (should fix the "stuck" problem described above) • General codebase cleanup - repetitive code, polish up the node library API • In-editor WorldPanel rendering (if possible) and general In-editor QoL • Search functionality • User-side SceneTree Explorer • A `Pin` type, that acts as a "pulse" (i.e. UE Blueprint's Exec or Resonite's Discrete nodes)• (Wiremod used number pins as signals (rising edge/falling edge), which was very cumbersome) • Collapse/Uncollapse Nodes into/from a single Node • Multiplayer support, with shared/client/server -side nodes/calculations • A `NodeContext` which allows you to implement functions/events local to that context • A `Node3dGrid` component that aligns placed nodes on a 2d grid • Pack/Unpack nodes into GameObjects (same as Pack/Unpack in Protoflux) • Custom panels for some nodes, so that they are more compact (+, -, *, ...) • And, ofcourse, more `Node`s 🛠️Nodebox
A UGC (User-Generated-Content) Node Graph Library for S&Box
Description
Nodebox is a reimagining of Wiremod gates from Garry's Mod made in S&Box
⚠️ The project is in it's infancy, expect bugs and constant breaking changes ⚠️
Inspired by Unreal Engine's Blueprints and Resonite's Protoflux
The `Node`s themselves are abstracted away from any visual/interactive parts
You can implement wrappers for them, which provide different visuals/behaviour/etc.
Currently, only `Node3D` exists, which displays the inner `Node` via a `WorldPanel` (1 `Node` = 1 `WorldPanel`)
"Play" it:
Nodebox Showcase
Add it as a library/dependency or whatever-the-f:
Nodebox
Source code:
Github
FAQ
(Frequently Asked Questions)
Why not just use ActionGraphs?
A#1: ActionGraph can't be edited in-game (someone will definitely prove me wrong)
A#2: If someone made an editor for them smh, it would have 0 collaboration features
A#3: There are no protection features, which means you either are giving players full control
Why am I stuck and can't move?
A: You might have an input field selected on a `Constant<T>` node, try pressing Enter
Will there be a permission system to restrict which properties players can fuck with?
A: Yes and No, there should and will be one, but much later when Facepunch finally makes a Sandbox gamemode. In terms of other gamemodes - disable `ShouldLoadDefaults` on the Node Library and Do It Yourself
Execution control, For, While, Delay?
A: Nope, Soon-ish
Variables or something like that?
A#1: I ate them
A#2: There will be Components that you can add to GameObjects to store variables, soon-ish. Better options like local variables will be there when we'll figure out `NodeContext`s
User Docs?
A#1: I ate them
A#2: There are Name/Desc fields on Nodes, which will be used later for an in-game tooltip thingy
Developer Docs?
A#1: I ate them
A#2: A wiki will go up on Github, when the API is stable and doesn't shit it's pants
Where are ? and ?<?> nodes?
A: I ate them (make a feature request)
"After-contest" planned features
• Comparison and BitwiseOps nodes (and just general wiremod feature-parity)
• Better implementations for Add, Clamp, etc..., which should be based on interfaces instead• (+ a shit ton of useful interfaces/math functions that should probably move into a separate library)
• UI Helper thingy, that shows you the text input field you have focused• (should fix the "stuck" problem described above)
• General codebase cleanup - repetitive code, polish up the node library API
• In-editor WorldPanel rendering (if possible) and general In-editor QoL
• Search functionality
• User-side SceneTree Explorer
• A `Pin` type, that acts as a "pulse" (i.e. UE Blueprint's Exec or Resonite's Discrete nodes)• (Wiremod used number pins as signals (rising edge/falling edge), which was very cumbersome)
• Collapse/Uncollapse Nodes into/from a single Node
• Multiplayer support, with shared/client/server -side nodes/calculations
• A `NodeContext` which allows you to implement functions/events local to that context
• A `Node3dGrid` component that aligns placed nodes on a 2d grid
• Pack/Unpack nodes into GameObjects (same as Pack/Unpack in Protoflux)
• Custom panels for some nodes, so that they are more compact (+, -, *, ...)
• And, ofcourse, more `Node`s 🛠️
|
| Votes | 👍2 👎0 ❤️0 |
| Error Rate | 0% |
| Data | {} |
Loading history…