Best component to make "Conveyor Belt"

Godot Version

4.6

Question

Hello, so I’m playing around with making a factory automation like game. I have some machien that produces some asset and I want that assets to be transported around. Basically a conveyor belt. I want:

  • Limit to 45° angles
  • We can merge and split a belt without any extra node i.e. like a street.
  • The things that are transported just have to loosely follow the belt. Imagine the belt being a river and we just throw wood logs into it, so we won’t have traffic jams etc.
  • At some point, we will transport a lot of units (incremental game), so the visual doesn’t reflect the actually transported items.

Graphically, the belt is basically just a 8px wide line. Very basic.

I’m wondering, what’s the best way to make such a conveyor belt like system? Like does godot provide something that I can use for this? Maybe Path2D with a Line2D?

I’m happy to make the game grid based but it’s not like tile based. It’s 2d though. The idea here is that we get a ton of objects on the screen so I’d have build my own ECS system - I just never did that and I’m rather new to Godot and Game Dev, so I have no idea how this data looks and hence can’t really plan. So I ask you experts :smiley:

After some more thinking, I think I could just assume a grid, use a dict to store any cell that is a cell of a conveyor belt and store the input/output directions and just `_draw()` the thing.