Libraries

s&box libraries list

Nodebox

manonox.nodebox

Nodebox is a reimagining of Wiremod gates from Garry's Mod made in S&Box

About

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 🛠️
      • More by Manonox

        02
        Marker 3D thumbnail
        Marker 3D manonox.marker3d

        Objective marker that stays on the edge of the screen, plus an optional arrow

        +0 24h
        4favorites
        5upvotes
        65%Terry score
        03
        WasmBox thumbnail
        WasmBox manonox.wasmbox

        WasmBox allows you to run .wasm (binary) / compile .wat (text) files, import/export/run functions and other stuff

        +0 24h
        3favorites
        3upvotes
        53%Terry score