Patchies - Example Behaviors

These are the ideas for object behaviors in Patchies.app, which describes how objects connects, updates and interacts with one another.

  • On Message: Objects that are connected responds to messages sent from other objects.
    • Can result in infinite loops due to feedback loop that never halts.
    • example: Max/MSP
  • Fixed Cycle: Update all objects using a fixed cycle count, such as 1000 tick per second (TPS).
    • example: Game Engine, Minecraft
  • Message Passing with Fixed Cycle: Each node is invoked once per fixed cycle to forward the message to the recipients and process incoming messages.
    • Eliminates feedback loop.
  • Graph Traversal with Fixed Cycle: Pre-computes the traversal order of the graph into an execution plan, then traverses the graph to update nodes once every cycle.
  • Audio Graph: Connect audio nodes to perform operations.
    • node types: source nodes (e.g. oscillator, buffer) and effect nodes (e.g. gain, reverb, filter, panner), destinations
    • example: Web Audio API
  • 2D Magnets: Objects snap together once they are close. Same polarity repels, different polarity attracts.
  • Finite State Machine Diagrams: Each state are shown as nodes, state transitions are shown as arrows.
  • Combine Objects: Merge two objects together into one, when objects are in proximity or dragged onto another.
  • Shader Graph: Shaders can be connected together to form more complex images.
  • 2D Minecraft Redstone: Each wire has levels of power. Each block can emit redstone or react to redstone.
  • Scratch Blocks: Code blocks snap to each other magnetically, with different slot shapes and colors to indicate fit. Imperative by nature.
  • Visual Scripting: Write scripts using node-based programming.
  • Workflow Automation: Automate tasks based on event triggers.
  • Generative Modeling: Create 2D and 3D objects by connecting generator and operator nodes together.