Packet switching network in combinators?
Posted: Wed Mar 01, 2017 9:41 pm
TL;DR does anyone have any working examples of a packet switched network?
Hi
I'm currently inspired by NiftyManiac's amazing Grey Goo MK1, and trying to do roughly the same thing (with a few upgraded features).
I plan to build multiple concurrent processors to handle building different parts (e.g. 1st handles initial spiral, 2nd follows it tidying up dead miners, etc.) but I need them to communicate with each other, and with individual distant grid cells.
I currently have a system allowing separate processors to attempt communication on the same set of circuit wires, implementing a simple protocol to detect contention on the wires and to endlessly attempt to repeat at increasing intervals until successfully sent. It works pretty well, but relies on having different hard-coded prime number repeat intervals for different processors, and isn't exactly scalable.
I figure something like the location combinator mod (mods.factorio.com/mods/justarandomgeek/location-combinator/) perfectly provides a low-cost way to get a grid-address, but I'm wondering how I can build a packet switching solution.
I can already tell that a robust implementation of this principle is likely to be frustrating to put together, and difficult to efficiently pack into a small space, so if anyone could save me a headache with something off the shelf I would be very grateful! Ideally there's some elegant powerful system, but I'd be happy to settle for a big mess of wires also.
Failing that, I'll just roll up my sleeves, I guess!
Cheers,
- eVil
Hi
I'm currently inspired by NiftyManiac's amazing Grey Goo MK1, and trying to do roughly the same thing (with a few upgraded features).
I plan to build multiple concurrent processors to handle building different parts (e.g. 1st handles initial spiral, 2nd follows it tidying up dead miners, etc.) but I need them to communicate with each other, and with individual distant grid cells.
I currently have a system allowing separate processors to attempt communication on the same set of circuit wires, implementing a simple protocol to detect contention on the wires and to endlessly attempt to repeat at increasing intervals until successfully sent. It works pretty well, but relies on having different hard-coded prime number repeat intervals for different processors, and isn't exactly scalable.
I figure something like the location combinator mod (mods.factorio.com/mods/justarandomgeek/location-combinator/) perfectly provides a low-cost way to get a grid-address, but I'm wondering how I can build a packet switching solution.
I can already tell that a robust implementation of this principle is likely to be frustrating to put together, and difficult to efficiently pack into a small space, so if anyone could save me a headache with something off the shelf I would be very grateful! Ideally there's some elegant powerful system, but I'd be happy to settle for a big mess of wires also.
Failing that, I'll just roll up my sleeves, I guess!
Cheers,
- eVil