Skip to content
CAN : Components As Nodes
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


CAN : Components As Nodes

Alt text

CAN is a statically typed visual scripting language that can be used to extend any software that uses component based architecture, but was made and tested with game engines in mind. By targetting a specific domain we can consider language features that will improve iteration time on components. CAN can be interpretted or transpiled into C++ to be integrated in your software however you want. The goal here is to allow CAN scripts to be performant enough to ship in a final product.

Current State

It isn't usuable, not yet. First I'm focusing on the functional side of the language, the actual nodes that are components are still quite a ways away.

Alt text

This is the extent of the lanuage. Stitching together literals, math, and printing nodes. As mentioned this can be interpreted or just outputed to C++ as shown.

Features in Progress

  • Node Components
  • C++ API
  • Data Serialization
  • Data Versioning
    • Each Node will have a data version and each member on the node will have a data version that they're a part of. When incrementing the data version on the node you can mark a data member as part of a previous data version and supply a conversion function so that you can easily deserialize old data layouts and update them by just loading them into your CAN instance.
You can’t perform that action at this time.