I'm making a node-based language for a youtube vid...
# devlog-together
l
I'm making a node-based language for a youtube video. This is my current plan: It's all about 'pointing'. In the engine, there are various different types of arrow. And all of these arrows can 'fire' in their own way. For example, some of them fire when you click on them. Some of them fire when they move in a cellular automata grid. When an arrow fires, it does something. For example, some arrows make a noise. Some arrows create more arrows. When an arrow fires, it also fires anything else that it points to. It could point to just one other arrow, or many, or even itself. This 'firing' happens instantly. An arrow fires on the same beat as what it points to. But you can change the connection, and make it fire one beat later instead. This lets you set up chains of events. One arrow fires, then the next, then the next. You can make loops with this quite easily. Just point an arrow back to itself at some point. Here's the fun bit: Just like you can make an arrow fire one beat later, you can also make it fire one beat earlier. An arrow in the future can make an arrow fire in the past. This seems to break the rules of causation! But it doesn't, and it's possible, and I'm really excited about it.
t
That last bit is quite intriguing 🙂.
g
I look forward to seeing the video! brainstorming... Nesting. In this regard, I feel that there are 4 kinds of arrows: 1. across 2. down 3. up 4. through. Nesting, IMM, is like arbitrarily deep, recursive containment. Nesting allows (1) visualization of layering and (2) adherence to what I call The Rule of 7 (KISS - no more than 7+-2 things on any diagram)
d
are you talking about the ArrowLoop typeclass?
l
I don't know much about ArrowLoop but it looks like it might share some similarities! What I'm building is something in between a cellular automata and a fractal and a fractal. I wrote down how it works here: https://github.com/TodePond/Arroost/tree/main/source/nogan